diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-15 09:10:57 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 09:10:57 +0000 |
| commit | adb85972b38454d1c0204d4fe68ba545bf5533c6 (patch) | |
| tree | 00d8e8ee22263c5c977ef693ea72df7fd5da37bb /python-codegenlib.spec | |
| parent | cacc60a29565c10a1bfeddb8f8a3291e4cac94e5 (diff) | |
automatic import of python-codegenlib
Diffstat (limited to 'python-codegenlib.spec')
| -rw-r--r-- | python-codegenlib.spec | 472 |
1 files changed, 472 insertions, 0 deletions
diff --git a/python-codegenlib.spec b/python-codegenlib.spec new file mode 100644 index 0000000..414e2db --- /dev/null +++ b/python-codegenlib.spec @@ -0,0 +1,472 @@ +%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.nju.edu.cn/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 + + + +## 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! + + + +%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 + + + +## 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! + + + +%package help +Summary: Development documents and examples for codegenlib +Provides: python3-codegenlib-doc +%description help +# code-gen-library +code-gen-library for Python + + + +## 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! + + + +%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 +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.0-1 +- Package Spec generated |
