tina4-python 0.2.115__tar.gz → 0.2.117__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 (48) hide show
  1. {tina4_python-0.2.115 → tina4_python-0.2.117}/PKG-INFO +1 -1
  2. {tina4_python-0.2.115 → tina4_python-0.2.117}/pyproject.toml +1 -1
  3. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Response.py +11 -0
  4. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Router.py +1 -1
  5. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Session.py +4 -2
  6. {tina4_python-0.2.115 → tina4_python-0.2.117}/.gitignore +0 -0
  7. {tina4_python-0.2.115 → tina4_python-0.2.117}/README.md +0 -0
  8. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Auth.py +0 -0
  9. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Constant.py +0 -0
  10. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Database.py +0 -0
  11. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/DatabaseResult.py +0 -0
  12. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/DatabaseTypes.py +0 -0
  13. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Debug.py +0 -0
  14. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Env.py +0 -0
  15. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Localization.py +0 -0
  16. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Messages.py +0 -0
  17. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/MiddleWare.py +0 -0
  18. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Migration.py +0 -0
  19. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/ORM.py +0 -0
  20. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Queue.py +0 -0
  21. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Request.py +0 -0
  22. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/ShellColors.py +0 -0
  23. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Swagger.py +0 -0
  24. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Template.py +0 -0
  25. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Webserver.py +0 -0
  26. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/Websocket.py +0 -0
  27. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/__init__.py +0 -0
  28. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/messages.pot +0 -0
  29. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/public/css/readme.md +0 -0
  30. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/public/favicon.ico +0 -0
  31. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/public/images/403.png +0 -0
  32. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/public/images/404.png +0 -0
  33. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/public/images/500.png +0 -0
  34. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/public/images/logo.png +0 -0
  35. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/public/images/readme.md +0 -0
  36. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/public/js/readme.md +0 -0
  37. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/public/js/reconnecting-websocket.js +0 -0
  38. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/public/js/tina4helper.js +0 -0
  39. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/public/swagger/index.html +0 -0
  40. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/public/swagger/oauth2-redirect.html +0 -0
  41. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/templates/errors/403.twig +0 -0
  42. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/templates/errors/404.twig +0 -0
  43. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/templates/errors/500.twig +0 -0
  44. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/templates/readme.md +0 -0
  45. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/translations/en/LC_MESSAGES/messages.mo +0 -0
  46. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/translations/en/LC_MESSAGES/messages.po +0 -0
  47. {tina4_python-0.2.115 → tina4_python-0.2.117}/tina4_python/translations/fr/LC_MESSAGES/messages.mo +0 -0
  48. {tina4_python-0.2.115 → tina4_python-0.2.117}/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.115
3
+ Version: 0.2.117
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.115"
3
+ version = "0.2.117"
4
4
  description = "Tina4Python - This is not another framework for Python"
5
5
  authors = [
6
6
  {name = "Andre van Zuydam",email = "andrevanzuydam@gmail.com"}
@@ -11,6 +11,7 @@ from types import ModuleType
11
11
  from tina4_python import Constant
12
12
  from tina4_python import DatabaseResult
13
13
  from tina4_python.ORM import ORM
14
+ from tina4_python.Template import Template
14
15
 
15
16
  headers = {}
16
17
  content = ""
@@ -98,6 +99,16 @@ class Response:
98
99
  content_type = Constant.TEXT_HTML
99
100
  return Response("", http_code, content_type, headers)
100
101
 
102
+
103
+ @staticmethod
104
+ def render(template_name, data=None):
105
+ global content, content_type, http_code
106
+ http_code = Constant.HTTP_OK
107
+ content_type = Constant.TEXT_HTML
108
+
109
+ return Response(Template.render(template_name, data=data), http_code, content_type)
110
+
111
+
101
112
  @staticmethod
102
113
  def add_header(key, value):
103
114
  """
@@ -131,7 +131,7 @@ class Router:
131
131
  if (("secure" in route and route["secure"]) or ("swagger" in route and route["swagger"] is not None and route["swagger"]["secure"])) and not validated:
132
132
  return Response.Response(content, Constant.HTTP_FORBIDDEN, Constant.TEXT_HTML)
133
133
  else:
134
- if not validated:
134
+ if not validated and method not in [Constant.TINA4_OPTIONS, Constant.TINA4_GET]:
135
135
  return Response.Response(content, Constant.HTTP_FORBIDDEN, Constant.TEXT_HTML)
136
136
 
137
137
  router_response = route["callback"]
@@ -143,7 +143,8 @@ class SessionRedisHandler(SessionHandler):
143
143
  if key != "expires":
144
144
  session.set(key, payload[key])
145
145
  else:
146
- Debug("Session expired, starting a new one", Constant.TINA4_LOG_DEBUG)
146
+ Debug("Session expired, starting a new one", Constant.TINA4_LOG_WARNING)
147
+ _hash = None
147
148
  session.start(_hash)
148
149
  except Exception:
149
150
  Debug("Redis not available, sessions will fail", Constant.TINA4_LOG_ERROR)
@@ -336,5 +337,6 @@ class Session:
336
337
 
337
338
  def __iter__(self):
338
339
  for key, value in self.session_values.items():
339
- yield key, value
340
+ if key != "expires":
341
+ yield key, value
340
342
 
File without changes