%global _empty_manifest_terminate_build 0 Name: python-codegenlib Version: 0.8.0 Release: 1 Summary: Code Generation library written by python. can use bash script, can be extend python code, can use mustache files or can use any string content for any code generation structure. License: MIT License URL: https://github.com/umutboz/code-gen-lib Source0: https://mirrors.aliyun.com/pypi/web/packages/fd/fa/4af40b2cb25d4a5fc8bc572ef72f4f37350ab16fa1aad69e408c6ffc292d/codegenlib-0.8.0.tar.gz BuildArch: noarch Requires: python3-check-manifest %description # code-gen-library code-gen-library for Python ![alt text](https://github.com/umutboz/code-gen-lib/blob/master/code_gen_diagram.png?raw=true) ## code-gen-lib pip install ```python pip install codegenlib ``` ## code-gen-lib import package ```python from codegenlib.enums import MUSTACHE from codegenlib.templateStreaming import TemplateStreaming from codegenlib.templateFile import TemplateFile from codegenlib.templateModule import TemplateModule ``` ## using example ```python code_gen_lib_example.py ``` ## code-gen-lib generation from json file ```python config_json_example.py ## with folder config_json_with_template_folder_example.py ``` ## code-gen-lib generation programming example You should add your module containing your folder pathname to the 'modules' path. You can add mustache files and template folder/files in your module path ```python from codegenlib.enums import MUSTACHE from codegenlib.templateStreaming import TemplateStreaming from codegenlib.templateFile import TemplateFile from codegenlib.templateModule import TemplateModule fileName = "test.swift" testManagerClassTF = TemplateFile( name="manager_class_mustache", dict={"service_name": "OneframeMobile", "request_func": MUSTACHE.PARENT}, output_file="Manager.swift" ) testGetRequestFuncTF = TemplateFile( name="request_get_func_mustache", dict={"result_model_name": "String","function_name": "getTest", "query_path" : '"api/getTest?name=query"', "func_param" : "query:String, "}, output_file=None, is_child_template=True, parent_mustache="request_func" ) testPostRequestFuncTF = TemplateFile( name="request_post_func_mustache", dict={"result_model_name": "UserModel", "function_name": "login", "query_path" : '"api/login"', "func_param" : ""}, output_file=None, is_child_template=True, parent_mustache="request_func" ) testManagerClassTF.childTemplateFiles.append(testGetRequestFuncTF) testManagerClassTF.childTemplateFiles.append(testPostRequestFuncTF) testModule = TemplateModule( name="networking-swagger-swift", templates_files=[testManagerClassTF] ) tStreaming = TemplateStreaming( templateModule=testModule ) tStreaming.execute() ``` ## code-gen-lib generation programming example with your json file # this is written module code by json ```json { "module" : { "name" : "oneframe-ios-api-manager", "templateFolders" : [ { "source" : "modules/oneframe-ios-api-manager/models", "outputPath" : "models", "isOnline" : false } ], "templateFiles": [ { "name": "manager_class_mustache", "outputFile": "CanikServiceManager.swift", "isChildTemplate": false }, { "name": "learning_class_mustache", "outputFile": "OneFrameLearning.swift", "isChildTemplate": false } ] } } ``` ```python import os import sys from codegenlib.parser import Parser # Own modules from codegenlib.templateStreaming import TemplateStreaming pathname = os.path.dirname(sys.argv[0]) # current path json_file_name = "sample_config_with_template_folder.json" json_file_path = pathname + "/" + json_file_name sampleJsonModule = Parser.jsonToTemplateModule(json_file=json_file_path) sampleJsonModule.outputDirectory = "oneframe-api-ios" sampleJsonModule.isAppendOutputPath = True print(sampleJsonModule.getOutputDirectoryPath()) tStreaming = TemplateStreaming( template_module=sampleJsonModule, enable_log=False, ) tStreaming.execute() ``` Can be Contribution, join us! ![alt text](https://github.com/umutboz/code-gen-lib/blob/master/contribution_model.png?raw=true) %package -n python3-codegenlib Summary: Code Generation library written by python. can use bash script, can be extend python code, can use mustache files or can use any string content for any code generation structure. Provides: python-codegenlib BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-codegenlib # code-gen-library code-gen-library for Python ![alt text](https://github.com/umutboz/code-gen-lib/blob/master/code_gen_diagram.png?raw=true) ## code-gen-lib pip install ```python pip install codegenlib ``` ## code-gen-lib import package ```python from codegenlib.enums import MUSTACHE from codegenlib.templateStreaming import TemplateStreaming from codegenlib.templateFile import TemplateFile from codegenlib.templateModule import TemplateModule ``` ## using example ```python code_gen_lib_example.py ``` ## code-gen-lib generation from json file ```python config_json_example.py ## with folder config_json_with_template_folder_example.py ``` ## code-gen-lib generation programming example You should add your module containing your folder pathname to the 'modules' path. You can add mustache files and template folder/files in your module path ```python from codegenlib.enums import MUSTACHE from codegenlib.templateStreaming import TemplateStreaming from codegenlib.templateFile import TemplateFile from codegenlib.templateModule import TemplateModule fileName = "test.swift" testManagerClassTF = TemplateFile( name="manager_class_mustache", dict={"service_name": "OneframeMobile", "request_func": MUSTACHE.PARENT}, output_file="Manager.swift" ) testGetRequestFuncTF = TemplateFile( name="request_get_func_mustache", dict={"result_model_name": "String","function_name": "getTest", "query_path" : '"api/getTest?name=query"', "func_param" : "query:String, "}, output_file=None, is_child_template=True, parent_mustache="request_func" ) testPostRequestFuncTF = TemplateFile( name="request_post_func_mustache", dict={"result_model_name": "UserModel", "function_name": "login", "query_path" : '"api/login"', "func_param" : ""}, output_file=None, is_child_template=True, parent_mustache="request_func" ) testManagerClassTF.childTemplateFiles.append(testGetRequestFuncTF) testManagerClassTF.childTemplateFiles.append(testPostRequestFuncTF) testModule = TemplateModule( name="networking-swagger-swift", templates_files=[testManagerClassTF] ) tStreaming = TemplateStreaming( templateModule=testModule ) tStreaming.execute() ``` ## code-gen-lib generation programming example with your json file # this is written module code by json ```json { "module" : { "name" : "oneframe-ios-api-manager", "templateFolders" : [ { "source" : "modules/oneframe-ios-api-manager/models", "outputPath" : "models", "isOnline" : false } ], "templateFiles": [ { "name": "manager_class_mustache", "outputFile": "CanikServiceManager.swift", "isChildTemplate": false }, { "name": "learning_class_mustache", "outputFile": "OneFrameLearning.swift", "isChildTemplate": false } ] } } ``` ```python import os import sys from codegenlib.parser import Parser # Own modules from codegenlib.templateStreaming import TemplateStreaming pathname = os.path.dirname(sys.argv[0]) # current path json_file_name = "sample_config_with_template_folder.json" json_file_path = pathname + "/" + json_file_name sampleJsonModule = Parser.jsonToTemplateModule(json_file=json_file_path) sampleJsonModule.outputDirectory = "oneframe-api-ios" sampleJsonModule.isAppendOutputPath = True print(sampleJsonModule.getOutputDirectoryPath()) tStreaming = TemplateStreaming( template_module=sampleJsonModule, enable_log=False, ) tStreaming.execute() ``` Can be Contribution, join us! ![alt text](https://github.com/umutboz/code-gen-lib/blob/master/contribution_model.png?raw=true) %package help Summary: Development documents and examples for codegenlib Provides: python3-codegenlib-doc %description help # code-gen-library code-gen-library for Python ![alt text](https://github.com/umutboz/code-gen-lib/blob/master/code_gen_diagram.png?raw=true) ## code-gen-lib pip install ```python pip install codegenlib ``` ## code-gen-lib import package ```python from codegenlib.enums import MUSTACHE from codegenlib.templateStreaming import TemplateStreaming from codegenlib.templateFile import TemplateFile from codegenlib.templateModule import TemplateModule ``` ## using example ```python code_gen_lib_example.py ``` ## code-gen-lib generation from json file ```python config_json_example.py ## with folder config_json_with_template_folder_example.py ``` ## code-gen-lib generation programming example You should add your module containing your folder pathname to the 'modules' path. You can add mustache files and template folder/files in your module path ```python from codegenlib.enums import MUSTACHE from codegenlib.templateStreaming import TemplateStreaming from codegenlib.templateFile import TemplateFile from codegenlib.templateModule import TemplateModule fileName = "test.swift" testManagerClassTF = TemplateFile( name="manager_class_mustache", dict={"service_name": "OneframeMobile", "request_func": MUSTACHE.PARENT}, output_file="Manager.swift" ) testGetRequestFuncTF = TemplateFile( name="request_get_func_mustache", dict={"result_model_name": "String","function_name": "getTest", "query_path" : '"api/getTest?name=query"', "func_param" : "query:String, "}, output_file=None, is_child_template=True, parent_mustache="request_func" ) testPostRequestFuncTF = TemplateFile( name="request_post_func_mustache", dict={"result_model_name": "UserModel", "function_name": "login", "query_path" : '"api/login"', "func_param" : ""}, output_file=None, is_child_template=True, parent_mustache="request_func" ) testManagerClassTF.childTemplateFiles.append(testGetRequestFuncTF) testManagerClassTF.childTemplateFiles.append(testPostRequestFuncTF) testModule = TemplateModule( name="networking-swagger-swift", templates_files=[testManagerClassTF] ) tStreaming = TemplateStreaming( templateModule=testModule ) tStreaming.execute() ``` ## code-gen-lib generation programming example with your json file # this is written module code by json ```json { "module" : { "name" : "oneframe-ios-api-manager", "templateFolders" : [ { "source" : "modules/oneframe-ios-api-manager/models", "outputPath" : "models", "isOnline" : false } ], "templateFiles": [ { "name": "manager_class_mustache", "outputFile": "CanikServiceManager.swift", "isChildTemplate": false }, { "name": "learning_class_mustache", "outputFile": "OneFrameLearning.swift", "isChildTemplate": false } ] } } ``` ```python import os import sys from codegenlib.parser import Parser # Own modules from codegenlib.templateStreaming import TemplateStreaming pathname = os.path.dirname(sys.argv[0]) # current path json_file_name = "sample_config_with_template_folder.json" json_file_path = pathname + "/" + json_file_name sampleJsonModule = Parser.jsonToTemplateModule(json_file=json_file_path) sampleJsonModule.outputDirectory = "oneframe-api-ios" sampleJsonModule.isAppendOutputPath = True print(sampleJsonModule.getOutputDirectoryPath()) tStreaming = TemplateStreaming( template_module=sampleJsonModule, enable_log=False, ) tStreaming.execute() ``` Can be Contribution, join us! ![alt text](https://github.com/umutboz/code-gen-lib/blob/master/contribution_model.png?raw=true) %prep %autosetup -n codegenlib-0.8.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-codegenlib -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu Jun 08 2023 Python_Bot - 0.8.0-1 - Package Spec generated