Improved internal settings
This commit is contained in:
@@ -12,26 +12,59 @@ from cpl_core.console.foreground_color_enum import ForegroundColorEnum
|
||||
|
||||
|
||||
class ProjectSettings(ConfigurationModelABC):
|
||||
def __init__(self):
|
||||
def __init__(
|
||||
self,
|
||||
name: str = None,
|
||||
version: VersionSettings = None,
|
||||
author: str = None,
|
||||
author_email: str = None,
|
||||
description: str = None,
|
||||
long_description: str = None,
|
||||
url: str = None,
|
||||
copyright_date: str = None,
|
||||
copyright_name: str = None,
|
||||
license_name: str = None,
|
||||
license_description: str = None,
|
||||
dependencies: list = None,
|
||||
dev_dependencies: list = None,
|
||||
python_version: str = None,
|
||||
python_path: dict = None,
|
||||
python_executable: str = None,
|
||||
classifiers: list = None,
|
||||
):
|
||||
ConfigurationModelABC.__init__(self)
|
||||
|
||||
self._name: Optional[str] = None
|
||||
self._version: Optional[VersionSettings] = VersionSettings()
|
||||
self._author: Optional[str] = None
|
||||
self._author_email: Optional[str] = None
|
||||
self._description: Optional[str] = None
|
||||
self._long_description: Optional[str] = None
|
||||
self._url: Optional[str] = None
|
||||
self._copyright_date: Optional[str] = None
|
||||
self._copyright_name: Optional[str] = None
|
||||
self._license_name: Optional[str] = None
|
||||
self._license_description: Optional[str] = None
|
||||
self._dependencies: Optional[list[str]] = None
|
||||
self._dev_dependencies: Optional[list[str]] = None
|
||||
self._python_version: Optional[str] = None
|
||||
self._python_path: Optional[str] = None
|
||||
self._python_executable: Optional[str] = None
|
||||
self._classifiers: Optional[list[str]] = None
|
||||
self._name: Optional[str] = name
|
||||
self._version: Optional[VersionSettings] = version
|
||||
self._author: Optional[str] = author
|
||||
self._author_email: Optional[str] = author_email
|
||||
self._description: Optional[str] = description
|
||||
self._long_description: Optional[str] = long_description
|
||||
self._url: Optional[str] = url
|
||||
self._copyright_date: Optional[str] = copyright_date
|
||||
self._copyright_name: Optional[str] = copyright_name
|
||||
self._license_name: Optional[str] = license_name
|
||||
self._license_description: Optional[str] = license_description
|
||||
self._dependencies: Optional[list[str]] = [] if dependencies is None else dependencies
|
||||
self._dev_dependencies: Optional[list[str]] = [] if dev_dependencies is None else dev_dependencies
|
||||
self._python_version: Optional[str] = python_version
|
||||
self._python_path: Optional[str] = python_path
|
||||
self._python_executable: Optional[str] = python_executable
|
||||
self._classifiers: Optional[list[str]] = [] if classifiers is None else classifiers
|
||||
|
||||
if python_path is not None:
|
||||
path = f"{python_path[sys.platform]}"
|
||||
|
||||
if path == "" or path is None:
|
||||
Error.warn(f"{ProjectSettingsNameEnum.python_path.value} not set")
|
||||
path = sys.executable
|
||||
else:
|
||||
if not path.endswith("bin/python"):
|
||||
path = os.path.join(path, "bin/python")
|
||||
else:
|
||||
path = sys.executable
|
||||
|
||||
self._python_executable = path
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
|
||||
Reference in New Issue
Block a user