mwgencode 1.4.4__tar.gz → 1.4.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. {mwgencode-1.4.4/mwgencode.egg-info → mwgencode-1.4.6}/PKG-INFO +2 -3
  2. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gen_code.py +2 -2
  3. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/gen_bo_models_code.py +5 -0
  4. mwgencode-1.4.6/gencode/gencode/template/flask_models.pys +17 -0
  5. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/upgrade.py +42 -0
  6. {mwgencode-1.4.4 → mwgencode-1.4.6}/manage.py +2 -2
  7. {mwgencode-1.4.4 → mwgencode-1.4.6/mwgencode.egg-info}/PKG-INFO +2 -3
  8. {mwgencode-1.4.4 → mwgencode-1.4.6}/setup.py +1 -1
  9. mwgencode-1.4.4/gencode/gencode/template/flask_models.pys +0 -107
  10. {mwgencode-1.4.4 → mwgencode-1.4.6}/CHANGES.txt +0 -0
  11. {mwgencode-1.4.4 → mwgencode-1.4.6}/LICENSE.txt +0 -0
  12. {mwgencode-1.4.4 → mwgencode-1.4.6}/MANIFEST.in +0 -0
  13. {mwgencode-1.4.4 → mwgencode-1.4.6}/README.rst +0 -0
  14. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/__init__.py +0 -0
  15. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/dd_models.py +0 -0
  16. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/ext.py +0 -0
  17. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/__init__.py +0 -0
  18. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/export_class2swgclass.py +0 -0
  19. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/gen_state_code.py +0 -0
  20. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/gen_swagger_code.py +0 -0
  21. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/gen_tests_code.py +0 -0
  22. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/__init__.py +0 -0
  23. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/babel.cfg +0 -0
  24. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/config-sample.ini +0 -0
  25. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/config.ini +0 -0
  26. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/create_new_table_run.pys +0 -0
  27. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/dockerignore.dock +0 -0
  28. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/file_utils.pys +0 -0
  29. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/gencode.xmi +0 -0
  30. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/gitignore.git +0 -0
  31. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/migrate_run.bat +0 -0
  32. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/migrate_run.pys +0 -0
  33. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/requirements.txt +0 -0
  34. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/run.sh +0 -0
  35. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/seeds/__init__.py +0 -0
  36. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/seeds/models_rm.pys +0 -0
  37. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/seeds/seed_dev_data.pys +0 -0
  38. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/seeds/seed_init.pys +0 -0
  39. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/seeds/seed_rm.pys +0 -0
  40. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/seeds/seed_run.pys +0 -0
  41. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/seeds/seed_utils.pys +0 -0
  42. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/test__init__.pys +0 -0
  43. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/test_run.pys +0 -0
  44. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/sample/utils.pys +0 -0
  45. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/Dockerfile.tmp +0 -0
  46. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/README.md +0 -0
  47. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/__init__.py +0 -0
  48. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/__init__.pys +0 -0
  49. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/config.pys +0 -0
  50. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/default.conf +0 -0
  51. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/docker-compose-dev.yaml +0 -0
  52. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/docker-compose.yaml +0 -0
  53. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/drone.tmp +0 -0
  54. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/flask_models_base.pys +0 -0
  55. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/gen_code_flask.yaml +0 -0
  56. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/gen_code_run.pys +0 -0
  57. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/k8s-tmp.yml +0 -0
  58. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/run.pys +0 -0
  59. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/sample.mdj +0 -0
  60. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/setup.tmp +0 -0
  61. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/supervisord.conf +0 -0
  62. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/swagger_file.yaml +0 -0
  63. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/swg_class.tmp +0 -0
  64. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/swg_ctrl_code.pys +0 -0
  65. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/swg_package_mng.tmp +0 -0
  66. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/test_test_base.tmp +0 -0
  67. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/tests/__init__.py +0 -0
  68. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/tests/__init__.pys +0 -0
  69. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/tests/init_test_data.pys +0 -0
  70. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/tests/run.pys +0 -0
  71. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/tests/test_base.pys +0 -0
  72. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/tests/test_classmng.pys +0 -0
  73. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/uwsgi.ini +0 -0
  74. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/gencode/template/uwsgi_run.pys +0 -0
  75. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/importmdj/__init__.py +0 -0
  76. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/importmdj/import_dd_classes.py +0 -0
  77. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/importmdj/import_swagger2_class.py +0 -0
  78. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/importmdj/import_uml_models.py +0 -0
  79. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/importxmi/__init__.py +0 -0
  80. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/importxmi/import_classes.py +0 -0
  81. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/importxmi/import_sequences.py +0 -0
  82. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/importxmi/import_states.py +0 -0
  83. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/importxmi/import_swagger.py +0 -0
  84. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/swg2_class_models.py +0 -0
  85. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/uml_class_models.py +0 -0
  86. {mwgencode-1.4.4 → mwgencode-1.4.6}/gencode/utils.py +0 -0
  87. {mwgencode-1.4.4 → mwgencode-1.4.6}/help.md +0 -0
  88. {mwgencode-1.4.4 → mwgencode-1.4.6}/mwgencode.egg-info/SOURCES.txt +0 -0
  89. {mwgencode-1.4.4 → mwgencode-1.4.6}/mwgencode.egg-info/dependency_links.txt +0 -0
  90. {mwgencode-1.4.4 → mwgencode-1.4.6}/mwgencode.egg-info/entry_points.txt +0 -0
  91. {mwgencode-1.4.4 → mwgencode-1.4.6}/mwgencode.egg-info/requires.txt +0 -0
  92. {mwgencode-1.4.4 → mwgencode-1.4.6}/mwgencode.egg-info/top_level.txt +0 -0
  93. {mwgencode-1.4.4 → mwgencode-1.4.6}/pyproject.toml +0 -0
  94. {mwgencode-1.4.4 → mwgencode-1.4.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.2
2
2
  Name: mwgencode
3
- Version: 1.4.4
3
+ Version: 1.4.6
4
4
  Summary: 根据starUML文档产生flask专案的代码
5
5
  Home-page: https://bitbucket.org/maxwin-inc/gencode/src/
6
6
  Author: cxhjet
@@ -46,7 +46,6 @@ Dynamic: author-email
46
46
  Dynamic: classifier
47
47
  Dynamic: description
48
48
  Dynamic: home-page
49
- Dynamic: license-file
50
49
  Dynamic: requires-dist
51
50
  Dynamic: summary
52
51
 
@@ -337,7 +337,7 @@ class GenProject_Flask(GenProject_base):
337
337
  exist_ok=False
338
338
  )
339
339
  try:
340
- k8s = upgrade.Upgrade_k8s('.',gen.swager)
341
- k8s.merge_code()
340
+ upgrade.Upgrade_manage('.',gen.swager).upgrade()
341
+
342
342
  except Exception as e:
343
343
  print('升级 k8s 失败,error:',str(e))
@@ -628,6 +628,11 @@ class BoCodeGenerator_flask(BoCodeGenerator_base):
628
628
  if code.startswith('# create '):
629
629
  continue
630
630
  codes.append(code.rstrip())
631
+ else:
632
+ temp_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'template','flask_models.pys')
633
+ with codecs.open(temp_path, "r", "utf-8") as file:
634
+ for code in file.readlines():
635
+ codes.append(code.rstrip())
631
636
  return codes
632
637
 
633
638
  def _gen_model_py_code(self,outfile):
@@ -0,0 +1,17 @@
1
+ from .models_base import *
2
+ from flask_babel import gettext as _
3
+
4
+ db_custom_error = {
5
+ # 'uq_member_typeandemail': _('The email is duplicated. Please re-enter it.'),
6
+ }
7
+ def get_err_msg(message:str) -> str:
8
+ """
9
+ 根据关键字获取自定义错误信息。
10
+ Args:
11
+ message (str): 原始错误信息。
12
+ Returns:
13
+ str: 返回错误信息,如果原始信息包含关键字则返回自定义信息,否则返回原始信息。
14
+ """
15
+ return next((custom_msg for key_word, custom_msg in db_custom_error.items() if key_word in message), message)
16
+
17
+
@@ -16,6 +16,15 @@ def write_gen_info(f):
16
16
  f.write('# create time :%s'%datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')+'\n')
17
17
  f.write('#' * 40+'\n')
18
18
 
19
+ class Upgrade_manage:
20
+ def __init__(self,dir,swagger):
21
+ self.upgrade_k8s = Upgrade_k8s(dir,swagger)
22
+ self.upgrade_models = Upgrade_models(dir,swagger)
23
+
24
+ def upgrade(self):
25
+ self.upgrade_k8s.merge_config()
26
+ self.upgrade_models.merge_code()
27
+
19
28
  class Upgrade_base:
20
29
  def __init__(self,dir,swagger):
21
30
  self.root_path =dir
@@ -109,5 +118,38 @@ class Upgrade_k8s(Upgrade_base):
109
118
  self.merge_run()
110
119
  self.merge_config()
111
120
 
121
+ class Upgrade_models(Upgrade_base):
122
+ def merge_models_err_msg(self):
123
+ filename = os.path.join(os.path.realpath(self.root_path),'app','models.py')
124
+ scodes = self.load_file(filename)
125
+ code_ins = '''
126
+ # 支持自定义错误信息
127
+ db_custom_error = {
128
+ # 'uq_member_typeandemail': _('The email is duplicated. Please re-enter it.'),
129
+ }
130
+ def get_err_msg(message:str) -> str:
131
+ """
132
+ 根据关键字获取自定义错误信息。
133
+ Args:
134
+ message (str): 原始错误信息。
135
+ Returns:
136
+ str: 返回错误信息,如果原始信息包含关键字则返回自定义信息,否则返回原始信息。
137
+ """
138
+ return next((custom_msg for key_word, custom_msg in db_custom_error.items() if key_word in message), message)
139
+ '''
112
140
 
141
+ try:
142
+ scodes.index('db_custom_error = {')
143
+ # 如果有定义类, 则把代码插入到类的前面一行,否则,追加在代码最后一行
144
+ try:
145
+ code_ins_indx = scodes.index('class ')
146
+ except Exception as e:
147
+ code_ins_indx = len(scodes) + 2
148
+ scodes.insert(code_ins_indx, code_ins)
149
+ self.saveUTF8File(filename, scodes, exist_ok=True)
150
+ except Exception as e:
151
+ return
152
+
113
153
 
154
+ def merge_code(self):
155
+ self.merge_models_err_msg()
@@ -186,9 +186,9 @@ if __name__ == '__main__':
186
186
  if len(sys.argv) == 1:
187
187
  # 调试时使用的默认参数
188
188
  # sys.argv.extend(['init', '-p', 'testproject', '-t', 'flask','-c'])
189
- # sys.argv.extend(['-r','./testproject','build'])
189
+ sys.argv.extend(['-r','./testproject','build'])
190
190
  # sys.argv.extend(['-r','./testproject','exp','-c','order'])
191
- sys.argv.extend(['-r','./testproject','add','-p','ordermng','-o','delete_orders','-t','delete'])
191
+ # sys.argv.extend(['-r','./testproject','add','-p','ordermng','-o','delete_orders','-t','delete'])
192
192
  # sys.argv.extend(['upgrade','-d','./testproject'])
193
193
  main()
194
194
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.2
2
2
  Name: mwgencode
3
- Version: 1.4.4
3
+ Version: 1.4.6
4
4
  Summary: 根据starUML文档产生flask专案的代码
5
5
  Home-page: https://bitbucket.org/maxwin-inc/gencode/src/
6
6
  Author: cxhjet
@@ -46,7 +46,6 @@ Dynamic: author-email
46
46
  Dynamic: classifier
47
47
  Dynamic: description
48
48
  Dynamic: home-page
49
- Dynamic: license-file
50
49
  Dynamic: requires-dist
51
50
  Dynamic: summary
52
51
 
@@ -7,7 +7,7 @@ def read(f):
7
7
 
8
8
  setup(
9
9
  name='mwgencode',
10
- version='1.4.4',
10
+ version='1.4.6',
11
11
  author='cxhjet',
12
12
  author_email='cxhjet@qq.com',
13
13
  description="根据starUML文档产生flask专案的代码",
@@ -1,107 +0,0 @@
1
- from sqlalchemy import Table,Column, Integer, String, ForeignKey, Boolean,\
2
- DateTime,Time,Date,Float
3
- from sqlalchemy.orm import relationship,aliased
4
- from sqlalchemy import or_
5
- from .ext import Base as Model
6
- import json
7
- from enum import Enum
8
-
9
- class SqlType(Enum):
10
- mysql = 0 #'mysql+mysqldb'
11
- mssql = 1 #'mssql+pymssql'
12
- sqlite = 2 #'sqlite:'
13
- def getSqlType():
14
- sql_uri = current_app.config['SQLALCHEMY_DATABASE_URI']
15
- if sql_uri.startswith('mysql+mysqldb'):
16
- return SqlType.mysql.value
17
- elif sql_uri.startswith('mssql+pymssql'):
18
- return SqlType.mssql.value
19
- elif sql_uri.startswith('sqlite:'):
20
- return SqlType.sqlite.value
21
- else:
22
- assert False,'不能识别的SQL驱动,%s'%sql_uri
23
- def new_id():
24
- if getSqlType() == SqlType.sqlite.value:
25
- import uuid
26
- return str(uuid.uuid1())
27
- else:
28
- connection = db.engine.raw_connection()
29
- try:
30
- cursor = connection.cursor()
31
- if getSqlType()==SqlType.mysql.value:
32
- cursor.callproc("sp_getobjectids_new", [1])
33
- elif getSqlType()==SqlType.mssql.value:
34
- # 不知为何cursor.callproc 在 mssql中取不到资料??
35
- cursor.execute("exec pro_gettableid 1")
36
- newid = cursor.fetchone()[0]
37
- cursor.close()
38
- connection.commit()
39
- finally:
40
- connection.close()
41
- return str(newid)
42
-
43
- {% for enum in enumerations %}
44
- class {{enum.name}}(Enum):
45
- {% for k,v in enum.columns.items() %}
46
- {{k}} ={{v}}
47
- {% endfor %}
48
- {% endfor %}
49
-
50
- {% for _,table in metatables.items() %}
51
- {{ table.class_name }} = Table('{{table.table_name}}', Model.metadata,
52
- Column('{{table['columns'][0].dbname}}',{{table['columns'][0].type}}, ForeignKey('{{table['columns'][0].reftable}}.{{table['columns'][0].refid}}')),
53
- Column('{{table['columns'][1].dbname}}',{{table['columns'][1].type}}, ForeignKey('{{table['columns'][1].reftable}}.{{table['columns'][1].refid}}'))
54
- )
55
- {% endfor %}
56
-
57
-
58
- {% for _,table in tables.items() %}
59
- class {{ table.class_name }}({% if table.parent_name %}{{table.parent_name}}{% else %}Model{% endif %}):
60
- {% if table.doc %}
61
- """
62
- {{table.doc}}
63
- """
64
- {% endif %}
65
- {% if table.table_name %}
66
- __tablename__ = '{{table.table_name}}'
67
- {% endif %}
68
- {% if table.discriminator_column %}
69
- {{table.discriminator_column.name}} = Column({{table.discriminator_column.dbname}}{{table.discriminator_column.type}})
70
- {% endif %}
71
- {% if table.mapper_args %}
72
- __mapper_args__ = {{table.mapper_args}}
73
- {% endif %}
74
- {% for uc in table.unique_constraints %}
75
- {{ uc }}
76
- {% endfor %}
77
- {% for fld in table.columns %}
78
- {% if fld.doc %}
79
- # {{fld.doc}}
80
- {% endif %}
81
- {{fld.name}} = Column({{fld.dbname}}{{fld.type}}{{fld.default}}{{fld.unique}}{{fld.nullable}}{{fld.primary_key}})
82
- {% endfor %}
83
- {% for fld in table.fkeyids %}
84
- {{fld.name}} = Column({{fld.dbname}}{{fld.type}},ForeignKey("{{fld.reftable}}.{{fld.refid}}"){{fld.default}}{{fld.unique}}{{fld.nullable}}{{fld.primary_key}})
85
- {% endfor %}
86
- {% for rs in table.relationsips %}
87
- {{rs.name}} = relationship("{{rs.relationship_cls}}"{{rs.back_populates}}{{rs.uselist}}{{rs.foreign_keys}}{{rs.secondary}}{{rs.lazy}}{{rs.cascade}}{{rs.remote_side}}{{rs.primaryjoin}}{{rs.order_by}})
88
- {% endfor %}
89
-
90
- {% for func in table.funcs %}
91
- {%if func.isstatic%}
92
- @staticmethod
93
- {% endif %}
94
- def {{func.name}}({{func.self_param}}{{func.params}}):
95
- {{func.codes}}
96
- {% endfor %}
97
-
98
-
99
- def __repr__(self):
100
- return json.dumps(self.to_json())
101
-
102
- def to_json(self):
103
- return {key: getattr(self, key) for key in self.__table__.columns.keys()
104
- if hasattr(self,key)
105
- }
106
-
107
- {% endfor %}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes