diff --git a/kdb-bot/cpl-workspace.json b/kdb-bot/cpl-workspace.json index 82fc9abe6d..2b1c39e132 100644 --- a/kdb-bot/cpl-workspace.json +++ b/kdb-bot/cpl-workspace.json @@ -12,9 +12,11 @@ "database": "src/modules/database/database.json", "moderator": "src/modules/moderator/moderator.json", "permission": "src/modules/permission/permission.json", - "bot-api": "src/bot_api/bot-api.json" + "bot-api": "src/bot_api/bot-api.json", + "post-build": "tools/post_build/post-build.json" }, "Scripts": { + "post-build": "cpl run post-build", "prod": "export KDB_ENVIRONMENT=production; export KDB_NAME=KDB-Prod; cpl start;", "stage": "export KDB_ENVIRONMENT=staging; export KDB_NAME=KDB-Stage; cpl start;", "dev": "export KDB_ENVIRONMENT=development; export KDB_NAME=KDB-Dev; cpl start;", diff --git a/kdb-bot/tools/post_build/__init__.py b/kdb-bot/tools/post_build/__init__.py new file mode 100644 index 0000000000..ad5eca3064 --- /dev/null +++ b/kdb-bot/tools/post_build/__init__.py @@ -0,0 +1 @@ +# imports: diff --git a/kdb-bot/tools/post_build/application.py b/kdb-bot/tools/post_build/application.py new file mode 100644 index 0000000000..34a68c80b1 --- /dev/null +++ b/kdb-bot/tools/post_build/application.py @@ -0,0 +1,16 @@ +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 + + +class Application(ApplicationABC): + + def __init__(self, config: ConfigurationABC, services: ServiceProviderABC): + ApplicationABC.__init__(self, config, services) + + def configure(self): + pass + + def main(self): + Console.write_line('Hello World') diff --git a/kdb-bot/tools/post_build/appsettings.json b/kdb-bot/tools/post_build/appsettings.json new file mode 100644 index 0000000000..629e6ebd22 --- /dev/null +++ b/kdb-bot/tools/post_build/appsettings.json @@ -0,0 +1,15 @@ +{ + "TimeFormatSettings": { + "DateFormat": "%Y-%m-%d", + "TimeFormat": "%H:%M:%S", + "DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f", + "DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S" + }, + + "LoggingSettings": { + "Path": "logs/", + "Filename": "log_$start_time.log", + "ConsoleLogLevel": "ERROR", + "FileLogLevel": "WARN" + } +} diff --git a/kdb-bot/tools/post_build/main.py b/kdb-bot/tools/post_build/main.py new file mode 100644 index 0000000000..042ae52096 --- /dev/null +++ b/kdb-bot/tools/post_build/main.py @@ -0,0 +1,14 @@ +from cpl_core.application import ApplicationBuilder + +from post_build.application import Application +from post_build.startup import Startup + + +def main(): + app_builder = ApplicationBuilder(Application) + app_builder.use_startup(Startup) + app_builder.build().run() + + +if __name__ == '__main__': + main() diff --git a/kdb-bot/tools/post_build/post-build.json b/kdb-bot/tools/post_build/post-build.json new file mode 100644 index 0000000000..44aa56b846 --- /dev/null +++ b/kdb-bot/tools/post_build/post-build.json @@ -0,0 +1,44 @@ +{ + "ProjectSettings": { + "Name": "post-build", + "Version": { + "Major": "0", + "Minor": "0", + "Micro": "0" + }, + "Author": "", + "AuthorEmail": "", + "Description": "", + "LongDescription": "", + "URL": "", + "CopyrightDate": "", + "CopyrightName": "", + "LicenseName": "", + "LicenseDescription": "", + "Dependencies": [ + "cpl-core>=2022.10.0.post7" + ], + "DevDependencies": [ + "cpl-cli>=2022.10.0" + ], + "PythonVersion": ">=3.10.4", + "PythonPath": {}, + "Classifiers": [] + }, + "BuildSettings": { + "ProjectType": "console", + "SourcePath": "", + "OutputPath": "../../dist", + "Main": "post_build.main", + "EntryPoint": "post-build", + "IncludePackageData": false, + "Included": [], + "Excluded": [ + "*/__pycache__", + "*/logs", + "*/tests" + ], + "PackageData": {}, + "ProjectReferences": [] + } +} \ No newline at end of file diff --git a/kdb-bot/tools/post_build/startup.py b/kdb-bot/tools/post_build/startup.py new file mode 100644 index 0000000000..359c03d265 --- /dev/null +++ b/kdb-bot/tools/post_build/startup.py @@ -0,0 +1,16 @@ +from cpl_core.application import StartupABC +from cpl_core.configuration import ConfigurationABC +from cpl_core.dependency_injection import ServiceProviderABC, ServiceCollectionABC +from cpl_core.environment import ApplicationEnvironment + + +class Startup(StartupABC): + + def __init__(self): + StartupABC.__init__(self) + + def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironment) -> ConfigurationABC: + return configuration + + def configure_services(self, services: ServiceCollectionABC, environment: ApplicationEnvironment) -> ServiceProviderABC: + return services.build_service_provider()