This commit is contained in:
Sven Heidemann 2021-03-14 11:33:29 +01:00
parent 5008594c27
commit 49f85acb6c
3 changed files with 32 additions and 29 deletions

View File

@ -26,7 +26,7 @@ class Pip:
@staticmethod @staticmethod
def install(package: str, *args, source: str = None, stdout=None, stderr=None): def install(package: str, *args, source: str = None, stdout=None, stderr=None):
pip_args = [sys.executable, "-m", "pip", "install", "--yes"] pip_args = [sys.executable, "-m", "pip", "install"]
for arg in args: for arg in args:
pip_args.append(arg) pip_args.append(arg)

View File

@ -23,6 +23,34 @@ class UpdateService(CommandABC):
def _get_outdated() -> bytes: def _get_outdated() -> bytes:
return subprocess.check_output([sys.executable, "-m", "pip", "list", "--outdated"]) return subprocess.check_output([sys.executable, "-m", "pip", "list", "--outdated"])
def _update_project_dependencies(self):
for package in self._project_settings.dependencies:
name = package
if '==' in package:
name = package.split('==')[0]
if 'sh_cpl' in name:
Pip.install(
name,
'--upgrade',
'--upgrade-strategy',
'eager',
source='https://pip.sh-edraft.de',
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL
)
else:
Pip.install(
name,
'--upgrade',
'--upgrade-strategy',
'eager',
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL
)
self._project_json_update_dependency(package, Pip.get_package(name))
def _check_project_dependencies(self): def _check_project_dependencies(self):
Console.spinner( Console.spinner(
'Collecting installed dependencies', self._update_project_dependencies, 'Collecting installed dependencies', self._update_project_dependencies,
@ -63,36 +91,9 @@ class UpdateService(CommandABC):
project.write(json.dumps(json.loads(content), indent=2)) project.write(json.dumps(json.loads(content), indent=2))
project.close() project.close()
def _update_project_dependencies(self):
for package in self._project_settings.dependencies:
name = package
if '==' in package:
name = package.split('==')[0]
Pip.install(
name,
'--upgrade',
'--upgrade-strategy',
'eager',
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL
)
self._project_json_update_dependency(package, Pip.get_package(name))
def run(self, args: list[str]): def run(self, args: list[str]):
# target update discord 1.5.1 to discord 1.6.0 # target update discord 1.5.1 to discord 1.6.0
self._check_project_dependencies() self._check_project_dependencies()
Console.spinner(
'Checking update for sh_cpl',
Pip.install, 'sh_cpl',
source='https://pip.sh-edraft.de',
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL,
text_foreground_color=ForegroundColorEnum.green,
spinner_foreground_color=ForegroundColorEnum.cyan
)
self._check_outdated() self._check_outdated()
Console.write('\n') Console.write('\n')

View File

@ -15,7 +15,9 @@
"CopyrightName": "sh-edraft.de", "CopyrightName": "sh-edraft.de",
"LicenseName": "MIT", "LicenseName": "MIT",
"LicenseDescription": "MIT, see LICENSE for more details.", "LicenseDescription": "MIT, see LICENSE for more details.",
"Dependencies": [], "Dependencies": [
"sh_cpl==2021.4.1"
],
"PythonVersion": ">=3.8" "PythonVersion": ">=3.8"
}, },
"BuildSettings": { "BuildSettings": {