diff --git a/aptly-publish b/aptly-publish index 73138d6..e697d87 100644 --- a/aptly-publish +++ b/aptly-publish @@ -16,28 +16,36 @@ from urllib3.util import Retry from debian_parser import PackagesParser +def from_env(name, default=None): + """ Retrieve a parameter from environment """ + for var in (f'PLUGIN_{name}', f'APTLY_{name}'): + if var in os.environ: + return os.environ[var] + return default + + # Handle parameters from environment -API_URL = os.environ.get('PLUGIN_API_URL', None) +API_URL = from_env('API_URL', None) if not API_URL: print('API URL not provided') sys.exit(1) -API_USERNAME = os.environ.get('PLUGIN_API_USERNAME', None) +API_USERNAME = from_env('API_USERNAME', None) if not API_USERNAME: print('API username not provided') sys.exit(1) -API_PASSWORD = os.environ.get('PLUGIN_API_PASSWORD', None) +API_PASSWORD = from_env('API_PASSWORD', None) if not API_PASSWORD: print('API password not provided') sys.exit(1) -MAX_RETRY = os.environ.get('PLUGIN_MAX_RETRIES', None) +MAX_RETRY = from_env('MAX_RETRIES', None) -REPO_NAME = os.environ.get('PLUGIN_REPO_NAME', 'stable') -REPO_COMPONENT = os.environ.get('PLUGIN_REPO_COMPONENT', 'main') -DIST = os.environ.get('PLUGIN_PATH', 'dist') -SOURCE_NAME = os.environ.get('PLUGIN_SOURCE_PACKAGE_NAME', None) +REPO_NAME = from_env('REPO_NAME', 'stable') +REPO_COMPONENT = from_env('REPO_COMPONENT', 'main') +INPUT_PATH = from_env('PATH', 'dist') +SOURCE_NAME = from_env('SOURCE_PACKAGE_NAME', None) # List changes files changes_files_regex = ( @@ -48,21 +56,21 @@ changes_files_regex = ( ) changes_files = [] try: - for filename in os.listdir(DIST): - filepath = os.path.join(DIST, filename) + for filename in os.listdir(INPUT_PATH): + filepath = os.path.join(INPUT_PATH, filename) if not os.path.isfile(filepath): continue if changes_files_regex.match(filename): changes_files.append(filepath) except FileNotFoundError: - print(f'Specified directory path "{DIST}" not found') + print(f'Specified directory path "{INPUT_PATH}" not found') sys.exit(1) except NotADirectoryError: - print(f'Specified path "{DIST}" is not a directory') + print(f'Specified path "{INPUT_PATH}" is not a directory') sys.exit(1) if not changes_files: - print(f'No changes file found in {DIST}') + print(f'No changes file found in {INPUT_PATH}') sys.exit(1)