Changeset View
Changeset View
Standalone View
Standalone View
docker/run_full_export.py
Show All 19 Lines | |||||
logger = logging.getLogger(__name__) | logger = logging.getLogger(__name__) | ||||
MAVEN_INDEX_NAME = "nexus-maven-repository-index" | MAVEN_INDEX_NAME = "nexus-maven-repository-index" | ||||
MAVEN_INDEX_ARCHIVE = f"{MAVEN_INDEX_NAME}.gz" | MAVEN_INDEX_ARCHIVE = f"{MAVEN_INDEX_NAME}.gz" | ||||
def _download_indexes(work_dir: str, instance_url: str) -> None: | def _download_indexes(base_url: str, work_dir: str) -> None: | ||||
"""Download all required indexes from the .index/ directory | """Download all required indexes from the .index/ directory | ||||
of the specified instance. | of the specified instance. | ||||
""" | """ | ||||
logger.info("Downloading all required indexes") | if base_url.startswith('test://'): | ||||
logger.info("(Testing) Fake downloading required indexes") | |||||
return None | |||||
index_url = urljoin(instance_url, ".index/") | logger.info("Downloading required indexes") | ||||
index_url = urljoin(base_url, ".index/") | |||||
properties_name = f"{MAVEN_INDEX_NAME}.properties" | properties_name = f"{MAVEN_INDEX_NAME}.properties" | ||||
properties_file = join(work_dir, properties_name) | properties_file = join(work_dir, properties_name) | ||||
properties_url = urljoin(index_url, properties_name) | properties_url = urljoin(index_url, properties_name) | ||||
# Retrieve properties file. | # Retrieve properties file. | ||||
logger.info(" - Downloading %s.", properties_file) | logger.info(" - Downloading %s.", properties_file) | ||||
content = requests.get(properties_url).content.decode() | content = requests.get(properties_url).content.decode() | ||||
▲ Show 20 Lines • Show All 73 Lines • ▼ Show 20 Lines | else: | ||||
except OSError as error: | except OSError as error: | ||||
logger.info("Could not create work_dir %s: %s.", work_dir, error) | logger.info("Could not create work_dir %s: %s.", work_dir, error) | ||||
assert isdir(work_dir) | assert isdir(work_dir) | ||||
assert isabs(work_dir) | assert isabs(work_dir) | ||||
# Grab all the indexes | # Grab all the indexes | ||||
# Only fetch the new ones, existing files won't be re-downloaded. | # Only fetch the new ones, existing files won't be re-downloaded. | ||||
_download_indexes(work_dir, base_url) | _download_indexes(base_url, work_dir) | ||||
# Extract indexes into a .fld file | # Extract indexes into a .fld file | ||||
check_call(["/opt/extract_indexes.sh", work_dir]) | check_call(["/opt/extract_indexes.sh", work_dir]) | ||||
logger.info("Export directory has the following files:") | logger.info("Export directory has the following files:") | ||||
export_dir = join(work_dir, "export") | export_dir = join(work_dir, "export") | ||||
makedirs(export_dir, exist_ok=True) | makedirs(export_dir, exist_ok=True) | ||||
chdir(export_dir) | chdir(export_dir) | ||||
Show All 33 Lines |