autonomous-app 0.2.11__tar.gz → 0.2.13__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 (43) hide show
  1. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/PKG-INFO +1 -1
  2. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/__init__.py +1 -1
  3. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/auth/autoauth.py +2 -0
  4. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/auth/user.py +2 -2
  5. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/model/automodel.py +10 -5
  6. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/model/serializer.py +3 -0
  7. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous_app.egg-info/PKG-INFO +1 -1
  8. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/LICENSE +0 -0
  9. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/README.md +0 -0
  10. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/pyproject.toml +0 -0
  11. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/requirements.txt +0 -0
  12. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/setup.cfg +0 -0
  13. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/setup.py +0 -0
  14. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/ai/__init__.py +0 -0
  15. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/ai/oaiagent.py +0 -0
  16. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/auth/__init__.py +0 -0
  17. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/auth/github.py +0 -0
  18. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/auth/google.py +0 -0
  19. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/cli.py +0 -0
  20. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/db/__init__.py +0 -0
  21. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/db/autodb.py +0 -0
  22. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/db/table.py +0 -0
  23. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/errors/__init__.py +0 -0
  24. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/errors/danglingreferenceerror.py +0 -0
  25. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/logger.py +0 -0
  26. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/model/__init__.py +0 -0
  27. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/model/autoattribute.py +0 -0
  28. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/model/orm.py +0 -0
  29. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/storage/__init__.py +0 -0
  30. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/storage/imagestorage.py +0 -0
  31. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/storage/localstorage.py +0 -0
  32. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/storage/markdown.py +0 -0
  33. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/storage/version_control/GHCallbacks.py +0 -0
  34. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/storage/version_control/GHOrganization.py +0 -0
  35. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/storage/version_control/GHRepo.py +0 -0
  36. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/storage/version_control/GHVersionControl.py +0 -0
  37. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/storage/version_control/__init__.py +0 -0
  38. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/tasks/__init__.py +0 -0
  39. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous/tasks/autotask.py +0 -0
  40. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous_app.egg-info/SOURCES.txt +0 -0
  41. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous_app.egg-info/dependency_links.txt +0 -0
  42. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous_app.egg-info/requires.txt +0 -0
  43. {autonomous_app-0.2.11 → autonomous_app-0.2.13}/src/autonomous_app.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: autonomous-app
3
- Version: 0.2.11
3
+ Version: 0.2.13
4
4
  Summary: Containerized application framework built on Flask with additional libraries and tools for rapid development of web applications.
5
5
  Author-email: Steven A Moore <samoore@binghamton.edu>
6
6
  License: MIT License
@@ -1,4 +1,4 @@
1
- __version__ = "0.2.11"
1
+ __version__ = "0.2.13"
2
2
 
3
3
  from .logger import log
4
4
  from .model.automodel import AutoModel
@@ -110,6 +110,8 @@ class AutoAuth:
110
110
 
111
111
  if not guest and user.is_guest:
112
112
  return redirect(url_for("auth.login"))
113
+ if not admin and not user.is_admin:
114
+ return redirect(url_for("auth.login"))
113
115
  return func(*args, **kwargs)
114
116
 
115
117
  return decorated_view
@@ -76,11 +76,11 @@ class AutoUser(AutoModel):
76
76
  """
77
77
  Returns True if the user is a guest, False otherwise.
78
78
  """
79
- return self.state == "unauthenticated" or self.role == "guest"
79
+ return not self.is_authenticated or self.role == "guest"
80
80
 
81
81
  @property
82
82
  def is_admin(self):
83
83
  """
84
84
  Returns True if the user is a guest, False otherwise.
85
85
  """
86
- return self.role == "admin"
86
+ return self.is_authenticated and self.role == "admin"
@@ -20,11 +20,16 @@ class DelayedModel:
20
20
  assert model
21
21
  assert pk
22
22
  module_name, class_name = model.rsplit(".", 1)
23
- module = importlib.import_module(module_name)
24
- model = getattr(module, class_name)
25
- object.__setattr__(self, "_delayed_model", model)
26
- object.__setattr__(self, "_delayed_pk", pk)
27
- object.__setattr__(self, "_delayed_obj", None)
23
+ try:
24
+ module = importlib.import_module(module_name)
25
+ except ModuleNotFoundError as e:
26
+ log(e)
27
+ raise DanglingReferenceError(model, pk, None)
28
+ else:
29
+ model = getattr(module, class_name)
30
+ object.__setattr__(self, "_delayed_model", model)
31
+ object.__setattr__(self, "_delayed_pk", pk)
32
+ object.__setattr__(self, "_delayed_obj", None)
28
33
 
29
34
  def _instance(self):
30
35
  #### DO NOT TO ANY LOGGING IN THIS METHOD; IT CAUSES INFINITE RECURSION ####
@@ -91,6 +91,9 @@ class AutoDecoder:
91
91
  if not obj["pk"]:
92
92
  raise KeyError
93
93
  return DelayedModel(obj["_automodel"], obj["pk"])
94
+ except DanglingReferenceError as e:
95
+ log(e)
96
+ return None
94
97
  except KeyError:
95
98
  log(
96
99
  "AutoModel",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: autonomous-app
3
- Version: 0.2.11
3
+ Version: 0.2.13
4
4
  Summary: Containerized application framework built on Flask with additional libraries and tools for rapid development of web applications.
5
5
  Author-email: Steven A Moore <samoore@binghamton.edu>
6
6
  License: MIT License
File without changes