tina4-python 0.2.127__tar.gz → 0.2.129__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 (51) hide show
  1. {tina4_python-0.2.127 → tina4_python-0.2.129}/PKG-INFO +1 -1
  2. {tina4_python-0.2.127 → tina4_python-0.2.129}/pyproject.toml +1 -1
  3. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/CRUD.py +22 -6
  4. {tina4_python-0.2.127 → tina4_python-0.2.129}/.gitignore +0 -0
  5. {tina4_python-0.2.127 → tina4_python-0.2.129}/README.md +0 -0
  6. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Auth.py +0 -0
  7. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Constant.py +0 -0
  8. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Database.py +0 -0
  9. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/DatabaseResult.py +0 -0
  10. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/DatabaseTypes.py +0 -0
  11. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Debug.py +0 -0
  12. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Env.py +0 -0
  13. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/HtmlElement.py +0 -0
  14. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Localization.py +0 -0
  15. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Messages.py +0 -0
  16. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/MiddleWare.py +0 -0
  17. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Migration.py +0 -0
  18. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/ORM.py +0 -0
  19. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Queue.py +0 -0
  20. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Request.py +0 -0
  21. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Response.py +0 -0
  22. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Router.py +0 -0
  23. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Session.py +0 -0
  24. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/ShellColors.py +0 -0
  25. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Swagger.py +0 -0
  26. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Template.py +0 -0
  27. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Webserver.py +0 -0
  28. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/Websocket.py +0 -0
  29. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/__init__.py +0 -0
  30. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/messages.pot +0 -0
  31. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/public/css/readme.md +0 -0
  32. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/public/favicon.ico +0 -0
  33. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/public/images/403.png +0 -0
  34. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/public/images/404.png +0 -0
  35. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/public/images/500.png +0 -0
  36. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/public/images/logo.png +0 -0
  37. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/public/images/readme.md +0 -0
  38. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/public/js/readme.md +0 -0
  39. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/public/js/reconnecting-websocket.js +0 -0
  40. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/public/js/tina4helper.js +0 -0
  41. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/public/swagger/index.html +0 -0
  42. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/public/swagger/oauth2-redirect.html +0 -0
  43. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/templates/components/crud.twig +0 -0
  44. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/templates/errors/403.twig +0 -0
  45. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/templates/errors/404.twig +0 -0
  46. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/templates/errors/500.twig +0 -0
  47. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/templates/readme.md +0 -0
  48. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/translations/en/LC_MESSAGES/messages.mo +0 -0
  49. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/translations/en/LC_MESSAGES/messages.po +0 -0
  50. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/translations/fr/LC_MESSAGES/messages.mo +0 -0
  51. {tina4_python-0.2.127 → tina4_python-0.2.129}/tina4_python/translations/fr/LC_MESSAGES/messages.po +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tina4-python
3
- Version: 0.2.127
3
+ Version: 0.2.129
4
4
  Summary: Tina4Python - This is not another framework for Python
5
5
  Author-email: Andre van Zuydam <andrevanzuydam@gmail.com>
6
6
  Requires-Python: <4.0,>=3.12
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "tina4-python"
3
- version = "0.2.127"
3
+ version = "0.2.129"
4
4
  description = "Tina4Python - This is not another framework for Python"
5
5
  authors = [
6
6
  {name = "Andre van Zuydam",email = "andrevanzuydam@gmail.com"}
@@ -23,6 +23,7 @@ class CRUD:
23
23
  self.total_count = 0
24
24
  self.sql = None
25
25
  self.error = ""
26
+ self.table_name = None
26
27
 
27
28
  def strip_sql_pagination(self, sql: str) -> str:
28
29
  """
@@ -110,6 +111,10 @@ class CRUD:
110
111
  :param query:
111
112
  :return:
112
113
  """
114
+
115
+ if self.table_name is not None:
116
+ return self.table_name
117
+
113
118
  # Remove LIMIT and everything after
114
119
  query = re.sub(r'\s+LIMIT\s+.*$', '', query, flags=re.I)
115
120
  # Find the innermost FROM table (non-subquery)
@@ -142,8 +147,11 @@ class CRUD:
142
147
 
143
148
  def to_crud(self, request, options=None):
144
149
  table_name = self.get_table_name(self.sql)
150
+
151
+ if table_name is not None and self.table_name is None:
152
+ self.table_name = table_name
153
+
145
154
  table_nice_name = Template.get_nice_label(table_name)
146
- twig_file = self.ensure_crud_template(table_name + ".twig")
147
155
 
148
156
  if options is None:
149
157
  options = {}
@@ -163,6 +171,13 @@ class CRUD:
163
171
  if "search_columns" in options:
164
172
  self.search_columns = options["search_columns"]
165
173
 
174
+ crud_name = table_name
175
+ if "name" in options:
176
+ crud_name = options["name"]
177
+
178
+ twig_file = self.ensure_crud_template(crud_name + ".twig")
179
+
180
+
166
181
  async def get_record(request, response):
167
182
  limit = int(request.params.get("limit", options.get("limit", 10)))
168
183
  offset = int(request.params.get("offset", options.get("offset", 0)))
@@ -213,18 +228,19 @@ class CRUD:
213
228
  self.dba.commit()
214
229
  return response({"message": f"<script>showMessage('{table_nice_name} Record deleted');</script>"}, HTTP_OK, APPLICATION_JSON)
215
230
 
216
- Router.add(TINA4_GET, os.path.join(request.url, table_name).replace("\\", "/"), get_record)
217
- Router.add(TINA4_POST, os.path.join(request.url, table_name).replace("\\", "/"), post_record)
218
- Router.add(TINA4_POST, os.path.join(request.url, table_name, "{"+options["primary_key"]+"}").replace("\\", "/"), update_record)
219
- Router.add(TINA4_DELETE, os.path.join(request.url, table_name, "{"+options["primary_key"]+"}").replace("\\", "/"), delete_record)
231
+ Router.add(TINA4_GET, os.path.join(request.url, crud_name).replace("\\", "/"), get_record)
232
+ Router.add(TINA4_POST, os.path.join(request.url, crud_name).replace("\\", "/"), post_record)
233
+ Router.add(TINA4_POST, os.path.join(request.url, crud_name, "{"+options["primary_key"]+"}").replace("\\", "/"), update_record)
234
+ Router.add(TINA4_DELETE, os.path.join(request.url, crud_name, "{"+options["primary_key"]+"}").replace("\\", "/"), delete_record)
220
235
 
221
236
  fields = []
222
237
  for column in self.columns:
223
238
  fields.append({"name": column, "label": Template.get_nice_label(column)})
224
239
 
240
+
225
241
  html = Template.render(twig_file.replace(os.path.join(tina4_python.root_path, "src", "templates"), "").replace("\\", "/"),
226
242
  {"columns": fields, "records": self.to_array(),
227
- "table_name": table_name,
243
+ "table_name": crud_name,
228
244
  "total_records": self.total_count,
229
245
  "options": options})
230
246
 
File without changes