Commit b5838447aa3c3f0fa8119790c0572c22f8dfe01a
1 parent
19fd5023
Exists in
dev
install_observatory now copy default observatory if repository doesn't exists
Showing
2 changed files
with
17 additions
and
6 deletions
Show diff stats
CHANGELOG
1 | 21-07-2023 (AKo): V0.6.27.0 | 1 | 21-07-2023 (AKo): V0.6.27.0 |
2 | + - install_observatory now copy default observatory if repository doesn't exists | ||
3 | + | ||
4 | +21-07-2023 (AKo): V0.6.27.0 | ||
2 | - Fix issues due to deletion of modules (utils) | 5 | - Fix issues due to deletion of modules (utils) |
3 | - Fix various obsconfig (add mandatory agents for default, tests obsconfig) | 6 | - Fix various obsconfig (add mandatory agents for default, tests obsconfig) |
4 | - Fix dockerfile & docker-compose.yml | 7 | - Fix dockerfile & docker-compose.yml |
pyros.py
@@ -1575,11 +1575,14 @@ def install_packages(): | @@ -1575,11 +1575,14 @@ def install_packages(): | ||
1575 | @click.argument("observatory") | 1575 | @click.argument("observatory") |
1576 | def install_observatory(observatory): | 1576 | def install_observatory(observatory): |
1577 | pyros_observatory_path = "../PYROS_OBSERVATORY" | 1577 | pyros_observatory_path = "../PYROS_OBSERVATORY" |
1578 | + pyros_observatory_default_path = os.path.join(os.path.abspath( | ||
1579 | + PYROS_DJANGO_BASE_DIR), "../../../config/pyros_observatory/pyros_observatory_default/") | ||
1580 | + | ||
1578 | if not os.path.exists(pyros_observatory_path): | 1581 | if not os.path.exists(pyros_observatory_path): |
1579 | os.mkdir(pyros_observatory_path) | 1582 | os.mkdir(pyros_observatory_path) |
1580 | 1583 | ||
1581 | try: | 1584 | try: |
1582 | - from git import Repo | 1585 | + from git import Repo, GitError |
1583 | except: | 1586 | except: |
1584 | pip = "pip" if IS_WINDOWS else "pip3" | 1587 | pip = "pip" if IS_WINDOWS else "pip3" |
1585 | if WITH_DOCKER: | 1588 | if WITH_DOCKER: |
@@ -1591,17 +1594,22 @@ def install_observatory(observatory): | @@ -1591,17 +1594,22 @@ def install_observatory(observatory): | ||
1591 | process.wait() | 1594 | process.wait() |
1592 | if process.returncode == 0: | 1595 | if process.returncode == 0: |
1593 | # self.addExecuted(self.current_command, command) | 1596 | # self.addExecuted(self.current_command, command) |
1594 | - from git import Repo | 1597 | + from git import Repo, GitError |
1595 | else: | 1598 | else: |
1596 | log.error("GitPython package (required for obsconfig class) installation failed") | 1599 | log.error("GitPython package (required for obsconfig class) installation failed") |
1597 | - print(os.path.join(pyros_observatory_path, f"pyros_observatory_{observatory}")) | ||
1598 | if os.path.exists(os.path.join(pyros_observatory_path, f"pyros_observatory_{observatory}")): | 1600 | if os.path.exists(os.path.join(pyros_observatory_path, f"pyros_observatory_{observatory}")): |
1599 | print("Observatory already cloned") | 1601 | print("Observatory already cloned") |
1600 | else: | 1602 | else: |
1601 | print("Cloning repository") | 1603 | print("Cloning repository") |
1602 | - cloned_repo = Repo.clone_from( | ||
1603 | - f"https://gitlab.irap.omp.eu/pyros-irap/pyros_observatory_{observatory}.git", os.path.join(pyros_observatory_path, f"pyros_observatory_{observatory}")) | ||
1604 | - print("Cloned successfully: ", cloned_repo.__class__ is Repo) | 1604 | + try: |
1605 | + cloned_repo = Repo.clone_from( | ||
1606 | + f"https://gitlab.irap.omp.eu/pyros-irap/pyros_observatory_{observatory}.git", os.path.join(pyros_observatory_path, f"pyros_observatory_{observatory}")) | ||
1607 | + print("Cloned successfully: ", cloned_repo.__class__ is Repo) | ||
1608 | + except GitError: | ||
1609 | + if not os.path.exists(os.path.join(pyros_observatory_path, f"pyros_observatory_{observatory}")): | ||
1610 | + print("No repository found. PyROS will create a copy of an default observatory that you can modify.") | ||
1611 | + shutil.copytree(pyros_observatory_default_path, os.path.join(pyros_observatory_path, f"pyros_observatory_{observatory}")) | ||
1612 | + print(f"Observatory created at {os.getcwd()}/{pyros_observatory_path}/pyros_observatory_observatory") | ||
1605 | 1613 | ||
1606 | 1614 | ||
1607 | def install_database(venv): | 1615 | def install_database(venv): |