tina4-python 0.2.157__tar.gz → 0.2.159__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 (56) hide show
  1. {tina4_python-0.2.157 → tina4_python-0.2.159}/PKG-INFO +1 -1
  2. {tina4_python-0.2.157 → tina4_python-0.2.159}/pyproject.toml +1 -1
  3. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Database.py +11 -5
  4. {tina4_python-0.2.157 → tina4_python-0.2.159}/.gitignore +0 -0
  5. {tina4_python-0.2.157 → tina4_python-0.2.159}/README.md +0 -0
  6. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Api.py +0 -0
  7. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Auth.py +0 -0
  8. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/CRUD.py +0 -0
  9. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Constant.py +0 -0
  10. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/DatabaseResult.py +0 -0
  11. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/DatabaseTypes.py +0 -0
  12. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Debug.py +0 -0
  13. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Env.py +0 -0
  14. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/FieldTypes.py +0 -0
  15. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/HtmlElement.py +0 -0
  16. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Localization.py +0 -0
  17. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Messages.py +0 -0
  18. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/MiddleWare.py +0 -0
  19. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Migration.py +0 -0
  20. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/ORM.py +0 -0
  21. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Queue.py +0 -0
  22. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Request.py +0 -0
  23. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Response.py +0 -0
  24. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Router.py +0 -0
  25. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Session.py +0 -0
  26. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/ShellColors.py +0 -0
  27. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Swagger.py +0 -0
  28. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Template.py +0 -0
  29. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Testing.py +0 -0
  30. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/WSDL.py +0 -0
  31. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Webserver.py +0 -0
  32. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/Websocket.py +0 -0
  33. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/__init__.py +0 -0
  34. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/cli.py +0 -0
  35. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/messages.pot +0 -0
  36. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/public/css/readme.md +0 -0
  37. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/public/favicon.ico +0 -0
  38. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/public/images/403.png +0 -0
  39. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/public/images/404.png +0 -0
  40. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/public/images/500.png +0 -0
  41. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/public/images/logo.png +0 -0
  42. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/public/images/readme.md +0 -0
  43. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/public/js/readme.md +0 -0
  44. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/public/js/reconnecting-websocket.js +0 -0
  45. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/public/js/tina4helper.js +0 -0
  46. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/public/swagger/index.html +0 -0
  47. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/public/swagger/oauth2-redirect.html +0 -0
  48. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/templates/components/crud.twig +0 -0
  49. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/templates/errors/403.twig +0 -0
  50. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/templates/errors/404.twig +0 -0
  51. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/templates/errors/500.twig +0 -0
  52. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/templates/readme.md +0 -0
  53. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/translations/en/LC_MESSAGES/messages.mo +0 -0
  54. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/translations/en/LC_MESSAGES/messages.po +0 -0
  55. {tina4_python-0.2.157 → tina4_python-0.2.159}/tina4_python/translations/fr/LC_MESSAGES/messages.mo +0 -0
  56. {tina4_python-0.2.157 → tina4_python-0.2.159}/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.157
3
+ Version: 0.2.159
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.157"
3
+ version = "0.2.159"
4
4
  description = "Tina4Python - This is not another framework for Python"
5
5
  authors = [
6
6
  {name = "Andre van Zuydam",email = "andrevanzuydam@gmail.com"}
@@ -447,7 +447,8 @@ class Database:
447
447
  cursor = self.dba.cursor()
448
448
  # Running an execute statement and committing any changes to the database
449
449
  try:
450
- params = get_field_type_values(params)
450
+ if params != []:
451
+ params = get_field_type_values(params)
451
452
  cursor.executemany(sql, params)
452
453
  # On success return an empty result set with no error
453
454
  return DatabaseResult(None, [], None)
@@ -539,13 +540,18 @@ class Database:
539
540
  columns = ", ".join(data[0].keys())
540
541
  placeholders = ", ".join(['?'] * len(data[0]))
541
542
 
542
- pk_key = primary_key in columns
543
- if not pk_key or (
544
- primary_key in columns and (record[primary_key] is None or record[primary_key] == "")):
543
+ # Determine if we need to auto-generate the primary key
544
+ need_auto_id = (
545
+ primary_key not in columns or
546
+ (primary_key in record and (record[primary_key] is None or record[primary_key] == ""))
547
+ )
548
+
549
+ if need_auto_id:
550
+ record[primary_key] = self.get_next_id(table_name, primary_key)
545
551
  if primary_key not in columns:
546
552
  columns += f", {primary_key}"
547
553
  placeholders += ", ?"
548
- record[primary_key] = self.get_next_id(table_name, primary_key)
554
+
549
555
 
550
556
  sql = f"INSERT INTO {table_name} ({columns}) VALUES ({placeholders})"
551
557
 
File without changes