Added validators (closes #59)
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
import os
|
||||
from typing import Optional
|
||||
|
||||
from cpl_cli import CommandABC
|
||||
from cpl_cli.command.add_service import AddService
|
||||
from cpl_cli.command.build_service import BuildService
|
||||
from cpl_cli.command.custom_script_service import CustomScriptService
|
||||
@@ -16,6 +15,8 @@ from cpl_cli.command.uninstall_service import UninstallService
|
||||
from cpl_cli.command.update_service import UpdateService
|
||||
from cpl_cli.command.version_service import VersionService
|
||||
from cpl_cli.configuration.workspace_settings import WorkspaceSettings
|
||||
from cpl_cli.validators.project_validator import ProjectValidator
|
||||
from cpl_cli.validators.workspace_validator import WorkspaceValidator
|
||||
from cpl_core.application import StartupExtensionABC
|
||||
from cpl_core.configuration.argument_type_enum import ArgumentTypeEnum
|
||||
from cpl_core.configuration.configuration_abc import ConfigurationABC
|
||||
@@ -37,9 +38,7 @@ class StartupArgumentExtension(StartupExtensionABC):
|
||||
for file in f:
|
||||
if file.endswith('.json'):
|
||||
f_name = file.split('.json')[0]
|
||||
if f_name == name or \
|
||||
String.convert_to_camel_case(f_name).lower() == String.convert_to_camel_case(
|
||||
name).lower():
|
||||
if f_name == name or String.convert_to_camel_case(f_name).lower() == String.convert_to_camel_case(name).lower():
|
||||
project_name = f_name
|
||||
break
|
||||
|
||||
@@ -62,7 +61,7 @@ class StartupArgumentExtension(StartupExtensionABC):
|
||||
|
||||
config.create_console_argument(ArgumentTypeEnum.Executable, '', 'add', ['a', 'A'], AddService, True) \
|
||||
.add_console_argument(ArgumentTypeEnum.Flag, '--', 'simulate', ['s', 'S'])
|
||||
config.create_console_argument(ArgumentTypeEnum.Executable, '', 'build', ['b', 'B'], BuildService, True)
|
||||
config.create_console_argument(ArgumentTypeEnum.Executable, '', 'build', ['b', 'B'], BuildService, True, validators=[ProjectValidator])
|
||||
config.create_console_argument(ArgumentTypeEnum.Executable, '', 'generate', ['g', 'G'], GenerateService, True) \
|
||||
.add_console_argument(ArgumentTypeEnum.Variable, '', 'abc', ['a', 'A'], ' ') \
|
||||
.add_console_argument(ArgumentTypeEnum.Variable, '', 'class', ['c', 'C'], ' ') \
|
||||
@@ -87,24 +86,25 @@ class StartupArgumentExtension(StartupExtensionABC):
|
||||
.add_console_argument(ArgumentTypeEnum.Flag, '--', 'simulate', ['s', 'S'])
|
||||
config.create_console_argument(ArgumentTypeEnum.Executable, '', 'version', ['v', 'V'], VersionService, True)
|
||||
|
||||
config.for_each_argument(
|
||||
lambda a: a.add_console_argument(ArgumentTypeEnum.Flag, '--', 'help', ['h', 'H'])
|
||||
)
|
||||
config.for_each_argument(lambda a: a.add_console_argument(ArgumentTypeEnum.Flag, '--', 'help', ['h', 'H']))
|
||||
config.create_console_argument(ArgumentTypeEnum.Executable, '', 'help', ['h', 'H'], HelpService)
|
||||
|
||||
self._read_cpl_environment(config, env)
|
||||
|
||||
def configure_services(self, services: ServiceCollectionABC, env: ApplicationEnvironmentABC):
|
||||
services.add_transient(CommandABC, AddService)
|
||||
services.add_transient(CommandABC, BuildService)
|
||||
services.add_transient(CommandABC, CustomScriptService)
|
||||
services.add_transient(CommandABC, GenerateService)
|
||||
services.add_transient(CommandABC, HelpService)
|
||||
services.add_transient(CommandABC, InstallService)
|
||||
services.add_transient(CommandABC, NewService)
|
||||
services.add_transient(CommandABC, PublishService)
|
||||
services.add_transient(CommandABC, RemoveService)
|
||||
services.add_transient(CommandABC, StartService)
|
||||
services.add_transient(CommandABC, UninstallService)
|
||||
services.add_transient(CommandABC, UpdateService)
|
||||
services.add_transient(CommandABC, VersionService)
|
||||
services.add_transient(WorkspaceValidator)
|
||||
services.add_transient(ProjectValidator)
|
||||
|
||||
services.add_transient(AddService)
|
||||
services.add_transient(BuildService)
|
||||
services.add_transient(CustomScriptService)
|
||||
services.add_transient(GenerateService)
|
||||
services.add_transient(HelpService)
|
||||
services.add_transient(InstallService)
|
||||
services.add_transient(NewService)
|
||||
services.add_transient(PublishService)
|
||||
services.add_transient(RemoveService)
|
||||
services.add_transient(StartService)
|
||||
services.add_transient(UninstallService)
|
||||
services.add_transient(UpdateService)
|
||||
services.add_transient(VersionService)
|
||||
|
Reference in New Issue
Block a user