tina4-python 0.2.158__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.158 → tina4_python-0.2.159}/PKG-INFO +1 -1
  2. {tina4_python-0.2.158 → tina4_python-0.2.159}/pyproject.toml +1 -1
  3. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Database.py +9 -4
  4. {tina4_python-0.2.158 → tina4_python-0.2.159}/.gitignore +0 -0
  5. {tina4_python-0.2.158 → tina4_python-0.2.159}/README.md +0 -0
  6. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Api.py +0 -0
  7. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Auth.py +0 -0
  8. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/CRUD.py +0 -0
  9. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Constant.py +0 -0
  10. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/DatabaseResult.py +0 -0
  11. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/DatabaseTypes.py +0 -0
  12. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Debug.py +0 -0
  13. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Env.py +0 -0
  14. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/FieldTypes.py +0 -0
  15. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/HtmlElement.py +0 -0
  16. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Localization.py +0 -0
  17. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Messages.py +0 -0
  18. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/MiddleWare.py +0 -0
  19. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Migration.py +0 -0
  20. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/ORM.py +0 -0
  21. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Queue.py +0 -0
  22. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Request.py +0 -0
  23. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Response.py +0 -0
  24. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Router.py +0 -0
  25. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Session.py +0 -0
  26. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/ShellColors.py +0 -0
  27. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Swagger.py +0 -0
  28. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Template.py +0 -0
  29. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Testing.py +0 -0
  30. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/WSDL.py +0 -0
  31. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Webserver.py +0 -0
  32. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/Websocket.py +0 -0
  33. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/__init__.py +0 -0
  34. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/cli.py +0 -0
  35. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/messages.pot +0 -0
  36. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/public/css/readme.md +0 -0
  37. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/public/favicon.ico +0 -0
  38. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/public/images/403.png +0 -0
  39. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/public/images/404.png +0 -0
  40. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/public/images/500.png +0 -0
  41. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/public/images/logo.png +0 -0
  42. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/public/images/readme.md +0 -0
  43. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/public/js/readme.md +0 -0
  44. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/public/js/reconnecting-websocket.js +0 -0
  45. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/public/js/tina4helper.js +0 -0
  46. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/public/swagger/index.html +0 -0
  47. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/public/swagger/oauth2-redirect.html +0 -0
  48. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/templates/components/crud.twig +0 -0
  49. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/templates/errors/403.twig +0 -0
  50. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/templates/errors/404.twig +0 -0
  51. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/templates/errors/500.twig +0 -0
  52. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/templates/readme.md +0 -0
  53. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/translations/en/LC_MESSAGES/messages.mo +0 -0
  54. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/translations/en/LC_MESSAGES/messages.po +0 -0
  55. {tina4_python-0.2.158 → tina4_python-0.2.159}/tina4_python/translations/fr/LC_MESSAGES/messages.mo +0 -0
  56. {tina4_python-0.2.158 → 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.158
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.158"
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"}
@@ -540,13 +540,18 @@ class Database:
540
540
  columns = ", ".join(data[0].keys())
541
541
  placeholders = ", ".join(['?'] * len(data[0]))
542
542
 
543
- pk_key = primary_key in columns
544
- if not pk_key or (
545
- 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)
546
551
  if primary_key not in columns:
547
552
  columns += f", {primary_key}"
548
553
  placeholders += ", ?"
549
- record[primary_key] = self.get_next_id(table_name, primary_key)
554
+
550
555
 
551
556
  sql = f"INSERT INTO {table_name} ({columns}) VALUES ({placeholders})"
552
557
 
File without changes