summaryrefslogtreecommitdiff
path: root/python-codegenlib.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-15 09:10:57 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-15 09:10:57 +0000
commitadb85972b38454d1c0204d4fe68ba545bf5533c6 (patch)
tree00d8e8ee22263c5c977ef693ea72df7fd5da37bb /python-codegenlib.spec
parentcacc60a29565c10a1bfeddb8f8a3291e4cac94e5 (diff)
automatic import of python-codegenlib
Diffstat (limited to 'python-codegenlib.spec')
-rw-r--r--python-codegenlib.spec472
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
+
+![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
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.0-1
+- Package Spec generated