Commit 1fb6bca0d4c93f71ae009f56f93e11763270d9cb
1 parent
2614eae0
Exists in
dev
refactorisations et simplifications dans pyros.py pour eviter des redondances
Showing
2 changed files
with
36 additions
and
49 deletions
Show diff stats
pyros.py
... | ... | @@ -115,10 +115,7 @@ try: |
115 | 115 | except KeyError: |
116 | 116 | WITH_DOCKER = False |
117 | 117 | |
118 | -if type(WITH_DOCKER) is str and re.match("^y$|^Y$|^yes$|^Yes$", WITH_DOCKER.rstrip()) != None: | |
119 | - WITH_DOCKER = True | |
120 | -else: | |
121 | - WITH_DOCKER = False | |
118 | +WITH_DOCKER = type(WITH_DOCKER) is str and re.match("^y$|^Y$|^yes$|^Yes$", WITH_DOCKER.rstrip()) != None | |
122 | 119 | |
123 | 120 | my_abs_path = os.path.dirname(os.path.realpath(__file__)) |
124 | 121 | # VENV_ROOT = "private" |
... | ... | @@ -568,8 +565,7 @@ def update(): |
568 | 565 | def install(packages_only, database_only): |
569 | 566 | with_packages = not database_only |
570 | 567 | with_database = not packages_only |
571 | - _install_or_update(UPDATE=False, with_packages=with_packages, | |
572 | - with_database=with_database) | |
568 | + _install_or_update(UPDATE=False, with_packages=with_packages, with_database=with_database) | |
573 | 569 | # install_or_update(UPDATE=False, with_packages=packages_only, with_database=database_only) |
574 | 570 | # install_or_update(UPDATE=False, packages_only=packages_only, database_only=database_only) |
575 | 571 | |
... | ... | @@ -667,9 +663,9 @@ def _install_or_update(UPDATE: bool = False, with_packages: bool = True, with_da |
667 | 663 | # Upgrade pip if new version available |
668 | 664 | os.system(VENV_PYTHON + ' -m pip install --upgrade pip') |
669 | 665 | # TODO: faire les apt-get intall aussi (indi, ...) |
670 | - venv_pip_install2(GUITASTRO_PATH + '/install/requirements.txt', '-r') | |
666 | + _venv_pip_install2(GUITASTRO_PATH + '/install/requirements.txt', '-r') | |
671 | 667 | #venv_pip_install2(GUITASTRO_PATH + '/install/requirements_linux.txt', '-r') |
672 | - venv_pip_install2(GUITASTRO_PATH + '/install/requirements_dev.txt', '-r') | |
668 | + _venv_pip_install2(GUITASTRO_PATH + '/install/requirements_dev.txt', '-r') | |
673 | 669 | ''' |
674 | 670 | print("Guitastro : Generating (updating) API documentation (using Sphinx)") |
675 | 671 | # Make html doc from RST |
... | ... | @@ -682,13 +678,13 @@ def _install_or_update(UPDATE: bool = False, with_packages: bool = True, with_da |
682 | 678 | change_dir("PREVIOUS") |
683 | 679 | ''' |
684 | 680 | |
685 | - # 5) Update PlantUML diagrams | |
681 | + # 5) Update PlantUML diagrams (in UPDATE or INSTALL mode) | |
686 | 682 | num += 1 |
687 | 683 | printFullTerm(Colors.BLUE, f"{num}) UPDATING UML DIAGRAMS") |
688 | 684 | _update_plantuml_diags() or die() |
689 | 685 | print(os.getcwd()) |
690 | 686 | |
691 | - # 6) Update Sphinx API doc (Non Windows only) | |
687 | + # 6) Update Sphinx API doc (Non Windows only) (in UPDATE or INSTALL mode) | |
692 | 688 | num += 1 |
693 | 689 | printFullTerm(Colors.BLUE, f"{num}) UPDATING API DOC (with Sphinx)") |
694 | 690 | if not IS_WINDOWS: |
... | ... | @@ -1124,8 +1120,7 @@ def new_start(configfile: str, observatory: str, unit: str, computer_hostname: s |
1124 | 1120 | # pip = "pip" if platform.system() == "Windows" else "pip3" |
1125 | 1121 | # TODO: "python -m pip" au lieu de "pip" |
1126 | 1122 | pip = "pip" if IS_WINDOWS else "pip3" |
1127 | - process = subprocess.Popen( | |
1128 | - pip + " install --user --upgrade pykwalify", shell=True) | |
1123 | + process = subprocess.Popen(pip + " install --user --upgrade pykwalify", shell=True) | |
1129 | 1124 | process.wait() |
1130 | 1125 | if process.returncode == 0: |
1131 | 1126 | # self.addExecuted(self.current_command, command) |
... | ... | @@ -1306,12 +1301,9 @@ def _update_api_doc(): |
1306 | 1301 | print(os.getcwd()) |
1307 | 1302 | DOC_RST_PATH = "doc/doc_rst/" |
1308 | 1303 | # 0) Upgrade pip if new version available |
1309 | - if WITH_DOCKER: | |
1310 | - os.system(VENV_PYTHON + ' -m pip install --user --upgrade pip') | |
1311 | - else: | |
1312 | - os.system(VENV_PYTHON + ' -m pip install --upgrade pip') | |
1304 | + _venv_pip_install2('pip', '--upgrade') | |
1313 | 1305 | # 1) install/update Sphinx requirements (only if not yet installed) |
1314 | - venv_pip_install2(DOC_RST_PATH+'requirements.txt', '-r') | |
1306 | + _venv_pip_install2(DOC_RST_PATH+'requirements.txt', '-r') | |
1315 | 1307 | # 2) make html doc from RST doc |
1316 | 1308 | # cd doc/sourcedoc/ |
1317 | 1309 | change_dir(DOC_RST_PATH) |
... | ... | @@ -1483,20 +1475,24 @@ def notused_install_required(): |
1483 | 1475 | exit(1) |
1484 | 1476 | |
1485 | 1477 | |
1486 | -def venv_pip_install(package_name: str, options: str = ''): | |
1487 | - if WITH_DOCKER: | |
1488 | - os.system(VENV_PIP + ' install --user ' + options + ' ' + package_name) | |
1489 | - else: | |
1490 | - os.system(VENV_PIP + ' install ' + options + ' ' + package_name) | |
1478 | +def _venv_pip_install_from_venv(PIP_MODULE: bool, package_name: str, options: str = ''): | |
1479 | + ''' | |
1480 | + pip install package_name with options | |
1481 | + If PIP_MODULE install with 'python -m pip' else install with 'pip' | |
1482 | + If WITH_DOCKER => install in user mode (with --user option) | |
1483 | + ''' | |
1484 | + #_pip_install(options + ' ' + package_name) | |
1485 | + pip_cmd = VENV_PYTHON+' -m pip' if PIP_MODULE else VENV_PIP | |
1486 | + usermode = '--user' if WITH_DOCKER else '' | |
1487 | + os.system(f'{pip_cmd} install {usermode} {options} {package_name}') | |
1491 | 1488 | |
1492 | 1489 | |
1493 | -def venv_pip_install2(package_name: str, options: str = ''): | |
1494 | - if WITH_DOCKER: | |
1495 | - os.system(VENV_PYTHON + ' -m pip install --user ' | |
1496 | - + options + ' ' + package_name) | |
1497 | - else: | |
1498 | - os.system(VENV_PYTHON + ' -m pip install ' | |
1499 | - + options + ' ' + package_name) | |
1490 | +def _venv_pip_install(package_name: str, options: str = ''): | |
1491 | + _venv_pip_install_from_venv(False, package_name, options) | |
1492 | + | |
1493 | + | |
1494 | +def _venv_pip_install2(package_name: str, options: str = ''): | |
1495 | + _venv_pip_install_from_venv(True, package_name, options) | |
1500 | 1496 | |
1501 | 1497 | |
1502 | 1498 | def install_venv(EVEN_IF_ALREADY_EXISTS: bool = False): |
... | ... | @@ -1568,10 +1564,7 @@ def install_packages(): |
1568 | 1564 | print(Colors.LOG_BLUE + "-----------------------------Upgrade pip, wheel, and setuptools" + |
1569 | 1565 | "-----------------------------"+END_OF_LINE + Colors.END) |
1570 | 1566 | # Upgrade pip |
1571 | - if WITH_DOCKER: | |
1572 | - os.system(VENV_PYTHON + ' -m pip install --user --upgrade pip') | |
1573 | - else: | |
1574 | - os.system(VENV_PYTHON + ' -m pip install --upgrade pip') | |
1567 | + _venv_pip_install2('pip', '--upgrade') | |
1575 | 1568 | ''' |
1576 | 1569 | if (platform.system() == "Windows"): |
1577 | 1570 | os.system(venv + '\Scripts\python -m pip install --upgrade pip') |
... | ... | @@ -1580,27 +1573,24 @@ def install_packages(): |
1580 | 1573 | ''' |
1581 | 1574 | |
1582 | 1575 | # Pip upgrade wheel and setuptools |
1583 | - venv_pip_install('wheel', '--upgrade') | |
1576 | + _venv_pip_install('wheel', '--upgrade') | |
1584 | 1577 | # os.system(VENV_PIP+' install --upgrade wheel') |
1585 | 1578 | # Not working with python 3.8 (on 17/02/2022) |
1586 | 1579 | # venv_pip_install('setuptools', '--upgrade') |
1587 | - if WITH_DOCKER: | |
1588 | - os.system(VENV_PIP+' install --user setuptools==58') | |
1589 | - else: | |
1590 | - os.system(VENV_PIP+' install setuptools==58') | |
1580 | + _venv_pip_install('setuptools==58') | |
1591 | 1581 | |
1592 | 1582 | # Pip install required packages from REQUIREMENTS file |
1593 | 1583 | print() |
1594 | 1584 | |
1595 | 1585 | # General normal packages |
1596 | 1586 | print(Colors.LOG_BLUE + "-----------------------------Installing python packages via pip-----------------------------" + Colors.END) |
1597 | - venv_pip_install('../install/'+REQUIREMENTS, '-r') | |
1587 | + _venv_pip_install('../install/'+REQUIREMENTS, '-r') | |
1598 | 1588 | # os.system(VENV_PIP+' install -r ../install' + os.sep + REQUIREMENTS) |
1599 | 1589 | |
1600 | 1590 | # DEV only packages |
1601 | 1591 | if DEV: |
1602 | 1592 | print(Colors.LOG_BLUE + "-----------------------------Installing DEV python packages via pip-----------------------------" + Colors.END) |
1603 | - venv_pip_install('../install/'+REQUIREMENTS_DEV, '-r') | |
1593 | + _venv_pip_install('../install/'+REQUIREMENTS_DEV, '-r') | |
1604 | 1594 | print("FIN INSTALL PACKAGES") |
1605 | 1595 | return None |
1606 | 1596 | |
... | ... | @@ -1657,12 +1647,9 @@ def install_observatory(observatory): |
1657 | 1647 | from git import Repo, GitError |
1658 | 1648 | except: |
1659 | 1649 | pip = "pip" if IS_WINDOWS else "pip3" |
1660 | - if WITH_DOCKER: | |
1661 | - process = subprocess.Popen( | |
1662 | - pip + " install --user --upgrade GitPython", shell=True) | |
1663 | - else: | |
1664 | - process = subprocess.Popen( | |
1665 | - pip + " install --upgrade GitPython", shell=True) | |
1650 | + | |
1651 | + usermode = '--user' if WITH_DOCKER else '' | |
1652 | + process = subprocess.Popen(pip + f" install {usermode} --upgrade GitPython", shell=True) | |
1666 | 1653 | process.wait() |
1667 | 1654 | if process.returncode == 0: |
1668 | 1655 | # self.addExecuted(self.current_command, command) | ... | ... |
src/core/pyros_django/majordome/agent/A_Basic.py
1 | 1 | #!/usr/bin/env python3 |
2 | 2 | |
3 | 3 | |
4 | -import time | |
5 | -import sys, argparse | |
4 | +#import time | |
5 | +import sys | |
6 | +import argparse | |
6 | 7 | import os |
7 | 8 | |
8 | 9 | ##import utils.Logger as L |
... | ... | @@ -23,7 +24,6 @@ for short_path in short_paths: |
23 | 24 | if path not in sys.path: |
24 | 25 | sys.path.insert(0, path) |
25 | 26 | |
26 | - | |
27 | 27 | #from src.core.pyros_django.common.models import AgentCmd |
28 | 28 | #from src.core.pyros_django.majordome.agent.Agent import Agent, build_agent |
29 | 29 | from majordome.agent.Agent import Agent, build_agent | ... | ... |