Bugfixes
This commit is contained in:
@@ -15,7 +15,7 @@ __title__ = 'sh_cpl.cpl_cli'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2021 sh-edraft.de'
|
||||
__version__ = '2021.4.1.post1'
|
||||
__version__ = '2021.4.1.post2'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@@ -29,4 +29,4 @@ from .main import main
|
||||
from .startup import Startup
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-1')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-2')
|
||||
|
@@ -15,7 +15,7 @@ __title__ = 'cpl_cli.command'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2021 sh-edraft.de'
|
||||
__version__ = '2021.4.1.post1'
|
||||
__version__ = '2021.4.1.post2'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@@ -28,4 +28,4 @@ from .publish_service import PublishService
|
||||
from .version_service import VersionService
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-1')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-2')
|
||||
|
@@ -1,8 +1,6 @@
|
||||
import json
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
from typing import Optional
|
||||
|
||||
from cpl.application import ApplicationRuntimeABC
|
||||
from cpl.configuration import ConfigurationABC
|
||||
@@ -85,6 +83,7 @@ class InstallService(CommandABC):
|
||||
is_already_in_project = False
|
||||
project: ProjectSettings = self._config.get_configuration(ProjectSettings)
|
||||
build: BuildSettings = self._config.get_configuration(BuildSettings)
|
||||
Pip.set_executable(project.python_path)
|
||||
|
||||
if project is None or build is None:
|
||||
Error.error('The command requires to be run in an CPL project, but a project could not be found.')
|
||||
@@ -128,6 +127,8 @@ class InstallService(CommandABC):
|
||||
project_file.write(json.dumps(config, indent=2))
|
||||
project_file.close()
|
||||
|
||||
Pip.reset_executable()
|
||||
|
||||
def run(self, args: list[str]):
|
||||
if len(args) == 0:
|
||||
self._install_project()
|
||||
|
@@ -64,6 +64,8 @@ class UninstallService(CommandABC):
|
||||
Console.error(f'Usage: cpl uninstall <package>')
|
||||
return
|
||||
|
||||
Pip.set_executable(self._project_settings.python_path)
|
||||
|
||||
package = args[0]
|
||||
is_in_dependencies = False
|
||||
|
||||
@@ -101,6 +103,4 @@ class UninstallService(CommandABC):
|
||||
project_file.close()
|
||||
|
||||
Console.write_line(f'Removed {package}')
|
||||
|
||||
|
||||
|
||||
Pip.reset_executable()
|
||||
|
@@ -20,8 +20,26 @@ class UpdateService(CommandABC):
|
||||
self._project_settings = project_settings
|
||||
|
||||
@staticmethod
|
||||
def _get_outdated() -> bytes:
|
||||
return subprocess.check_output([sys.executable, "-m", "pip", "list", "--outdated"])
|
||||
def _install_package(name: str):
|
||||
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
|
||||
)
|
||||
|
||||
def _update_project_dependencies(self):
|
||||
for package in self._project_settings.dependencies:
|
||||
@@ -29,29 +47,11 @@ class UpdateService(CommandABC):
|
||||
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._install_package(name)
|
||||
|
||||
new_package = Pip.get_package(name)
|
||||
if new_package is None:
|
||||
Console.error(f'Invalid name: {name}')
|
||||
Console.error(f'Update for package {package} failed')
|
||||
return
|
||||
|
||||
self._project_json_update_dependency(package, new_package)
|
||||
@@ -64,9 +64,10 @@ class UpdateService(CommandABC):
|
||||
)
|
||||
Console.write_line(f'Found {len(self._project_settings.dependencies)} dependencies.')
|
||||
|
||||
def _check_outdated(self):
|
||||
@staticmethod
|
||||
def _check_outdated():
|
||||
table_str: bytes = Console.spinner(
|
||||
'Analyzing for available package updates', self._get_outdated,
|
||||
'Analyzing for available package updates', Pip.get_outdated,
|
||||
text_foreground_color=ForegroundColorEnum.green,
|
||||
spinner_foreground_color=ForegroundColorEnum.cyan
|
||||
)
|
||||
@@ -78,7 +79,7 @@ class UpdateService(CommandABC):
|
||||
Console.write_line(f'\t{row}')
|
||||
|
||||
Console.set_foreground_color(ForegroundColorEnum.yellow)
|
||||
Console.write_line(f'\tUpdate with {sys.executable} -m pip install --upgrade <package>')
|
||||
Console.write_line(f'\tUpdate with {Pip.get_executable()} -m pip install --upgrade <package>')
|
||||
Console.set_foreground_color(ForegroundColorEnum.default)
|
||||
|
||||
def _project_json_update_dependency(self, old_package: str, new_package: str):
|
||||
@@ -98,8 +99,9 @@ class UpdateService(CommandABC):
|
||||
project.close()
|
||||
|
||||
def run(self, args: list[str]):
|
||||
# target update discord 1.5.1 to discord 1.6.0
|
||||
Pip.set_executable(self._project_settings.python_path)
|
||||
self._check_project_dependencies()
|
||||
self._check_outdated()
|
||||
Pip.reset_executable()
|
||||
|
||||
Console.write('\n')
|
||||
|
@@ -15,7 +15,7 @@ __title__ = 'cpl_cli.configuration'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2021 sh-edraft.de'
|
||||
__version__ = '2021.4.1.post1'
|
||||
__version__ = '2021.4.1.post2'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@@ -28,4 +28,4 @@ from .version_settings import VersionSettings
|
||||
from .version_settings_name_enum import VersionSettingsNameEnum
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-1')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-2')
|
||||
|
@@ -1,3 +1,5 @@
|
||||
import os
|
||||
import sys
|
||||
import traceback
|
||||
from typing import Optional
|
||||
|
||||
@@ -26,8 +28,9 @@ class ProjectSettings(ConfigurationModelABC):
|
||||
self._license_description: Optional[str] = None
|
||||
self._dependencies: Optional[list[str]] = None
|
||||
self._python_version: Optional[str] = None
|
||||
self._python_path: Optional[str] = None
|
||||
self._classifiers: Optional[list[str]] = None
|
||||
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
return self._name
|
||||
@@ -43,31 +46,31 @@ class ProjectSettings(ConfigurationModelABC):
|
||||
@property
|
||||
def author_email(self) -> str:
|
||||
return self._author_email
|
||||
|
||||
|
||||
@property
|
||||
def description(self) -> str:
|
||||
return self._description
|
||||
|
||||
|
||||
@property
|
||||
def long_description(self) -> str:
|
||||
return self._long_description
|
||||
|
||||
|
||||
@property
|
||||
def url(self) -> str:
|
||||
return self._url
|
||||
|
||||
|
||||
@property
|
||||
def copyright_date(self) -> str:
|
||||
return self._copyright_date
|
||||
|
||||
|
||||
@property
|
||||
def copyright_name(self) -> str:
|
||||
return self._copyright_name
|
||||
|
||||
|
||||
@property
|
||||
def license_name(self) -> str:
|
||||
return self._license_name
|
||||
|
||||
|
||||
@property
|
||||
def license_description(self) -> str:
|
||||
return self._license_description
|
||||
@@ -75,11 +78,15 @@ class ProjectSettings(ConfigurationModelABC):
|
||||
@property
|
||||
def dependencies(self) -> list[str]:
|
||||
return self._dependencies
|
||||
|
||||
|
||||
@property
|
||||
def python_version(self) -> str:
|
||||
return self._python_version
|
||||
|
||||
@property
|
||||
def python_path(self) -> str:
|
||||
return self._python_path
|
||||
|
||||
@property
|
||||
def classifiers(self) -> list[str]:
|
||||
return self._classifiers
|
||||
@@ -99,6 +106,15 @@ class ProjectSettings(ConfigurationModelABC):
|
||||
self._license_description = settings[ProjectSettingsNameEnum.license_description.value]
|
||||
self._dependencies = settings[ProjectSettingsNameEnum.dependencies.value]
|
||||
self._python_version = settings[ProjectSettingsNameEnum.python_version.value]
|
||||
|
||||
path = os.path.abspath(settings[ProjectSettingsNameEnum.python_path.value])
|
||||
if os.path.isfile(path) or os.path.islink(path):
|
||||
path = os.path.abspath(path)
|
||||
else:
|
||||
path = sys.executable
|
||||
|
||||
self._python_path = path
|
||||
|
||||
self._classifiers = settings[ProjectSettingsNameEnum.classifiers.value]
|
||||
except Exception as e:
|
||||
Console.set_foreground_color(ForegroundColorEnum.red)
|
||||
|
@@ -15,4 +15,5 @@ class ProjectSettingsNameEnum(Enum):
|
||||
license_description = 'LicenseDescription'
|
||||
dependencies = 'Dependencies'
|
||||
python_version = 'PythonVersion'
|
||||
python_path = 'PythonPath'
|
||||
classifiers = 'Classifiers'
|
||||
|
@@ -15,11 +15,11 @@ __title__ = 'cpl_cli.live_server'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2021 sh-edraft.de'
|
||||
__version__ = '2021.4.1.post1'
|
||||
__version__ = '2021.4.1.post2'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
# imports:
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-1')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-2')
|
||||
|
@@ -15,7 +15,7 @@ __title__ = 'cpl_cli.publish'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2021 sh-edraft.de'
|
||||
__version__ = '2021.4.1.post1'
|
||||
__version__ = '2021.4.1.post2'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@@ -24,4 +24,4 @@ from .publisher_abc import PublisherABC
|
||||
from .publisher_service import PublisherService
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-1')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-2')
|
||||
|
@@ -15,11 +15,11 @@ __title__ = 'cpl_cli.templates'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2021 sh-edraft.de'
|
||||
__version__ = '2021.4.1.post1'
|
||||
__version__ = '2021.4.1.post2'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
# imports:
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-1')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-2')
|
||||
|
@@ -15,11 +15,11 @@ __title__ = 'cpl_cli.templates.build'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2021 sh-edraft.de'
|
||||
__version__ = '2021.4.1.post1'
|
||||
__version__ = '2021.4.1.post2'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
# imports:
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-1')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-2')
|
||||
|
@@ -15,11 +15,11 @@ __title__ = 'cpl_cli.templates.generate'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2021 sh-edraft.de'
|
||||
__version__ = '2021.4.1.post1'
|
||||
__version__ = '2021.4.1.post2'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
# imports:
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-1')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-2')
|
||||
|
@@ -15,11 +15,11 @@ __title__ = 'cpl_cli.templates.new'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2021 sh-edraft.de'
|
||||
__version__ = '2021.4.1.post1'
|
||||
__version__ = '2021.4.1.post2'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
# imports:
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-1')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-2')
|
||||
|
@@ -15,11 +15,11 @@ __title__ = 'cpl_cli.templates.new.console'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2021 sh-edraft.de'
|
||||
__version__ = '2021.4.1.post1'
|
||||
__version__ = '2021.4.1.post2'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
# imports:
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-1')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-2')
|
||||
|
@@ -15,11 +15,11 @@ __title__ = 'cpl_cli.templates.new.console.src'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2021 sh-edraft.de'
|
||||
__version__ = '2021.4.1.post1'
|
||||
__version__ = '2021.4.1.post2'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
# imports:
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-1')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-2')
|
||||
|
@@ -15,11 +15,11 @@ __title__ = 'cpl_cli.templates.new.console.src.tests'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2021 sh-edraft.de'
|
||||
__version__ = '2021.4.1.post1'
|
||||
__version__ = '2021.4.1.post2'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
# imports:
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-1')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-2')
|
||||
|
@@ -15,11 +15,11 @@ __title__ = 'cpl_cli.templates.publish'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2021 sh-edraft.de'
|
||||
__version__ = '2021.4.1.post1'
|
||||
__version__ = '2021.4.1.post2'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
# imports:
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-1')
|
||||
version_info = VersionInfo(major='2021', minor='04', micro='01-2')
|
||||
|
Reference in New Issue
Block a user