Files
cpl/tools/set_pip_urls/application.py
edraft 25b4ca0696
Some checks failed
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 25s
Build on push / translation (push) Failing after 8s
Build on push / mail (push) Successful in 14s
Added cpl-mail
2025-09-15 20:56:07 +02:00

46 lines
1.6 KiB
Python

import json
import os
import sys
from typing import Optional
from cpl.core.environment import EnvironmentNameEnum
from cpl.core.application import ApplicationABC
from cpl.core.configuration import ConfigurationABC
from cpl.core.console import Console
from cpl.core.dependency_injection import ServiceProviderABC
from set_pip_urls.pip_settings import PIPSettings
class Application(ApplicationABC):
def __init__(self, config: ConfigurationABC, services: ServiceProviderABC):
ApplicationABC.__init__(self, config, services)
self._pip_settings: Optional[PIPSettings] = config.get_configuration(PIPSettings)
def configure(self):
self._configuration.parse_console_arguments(self._services)
def main(self):
if self._pip_settings is None:
Console.error("appsettings.json not found")
sys.exit()
url = None
match self._environment.environment_name:
case EnvironmentNameEnum.production.value:
url = self._pip_settings.production
case EnvironmentNameEnum.staging.value:
url = self._pip_settings.staging
case EnvironmentNameEnum.development.value:
url = self._pip_settings.development
cli_json = {"CLI": {"PipPath": url}}
file = os.path.abspath(
os.path.join(self._environment.working_directory, "../../src/cpl_cli", "appsettings.json")
)
Console.write_line(f"Writing PipPath: {url} to {file}")
with open(file, "w") as f:
f.write(json.dumps(cli_json, indent=2))
f.close()