Commit 1fb6bca0d4c93f71ae009f56f93e11763270d9cb

Authored by Etienne Pallier
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
... ...