autonomous-app 0.3.7__tar.gz → 0.3.9__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 (67) hide show
  1. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/PKG-INFO +1 -1
  2. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/__init__.py +1 -1
  3. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/base/fields.py +1 -6
  4. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/connection.py +1 -1
  5. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/document.py +0 -1
  6. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/fields.py +12 -21
  7. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/model/autoattr.py +1 -1
  8. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous_app.egg-info/PKG-INFO +1 -1
  9. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/LICENSE +0 -0
  10. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/README.md +0 -0
  11. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/pyproject.toml +0 -0
  12. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/requirements.txt +0 -0
  13. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/setup.cfg +0 -0
  14. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/setup.py +0 -0
  15. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/ai/__init__.py +0 -0
  16. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/ai/audioagent.py +0 -0
  17. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/ai/baseagent.py +0 -0
  18. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/ai/imageagent.py +0 -0
  19. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/ai/jsonagent.py +0 -0
  20. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/ai/models/__init__.py +0 -0
  21. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/ai/models/openai.py +0 -0
  22. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/ai/textagent.py +0 -0
  23. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/apis/version_control/GHCallbacks.py +0 -0
  24. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/apis/version_control/GHOrganization.py +0 -0
  25. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/apis/version_control/GHRepo.py +0 -0
  26. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/apis/version_control/GHVersionControl.py +0 -0
  27. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/apis/version_control/__init__.py +0 -0
  28. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/auth/__init__.py +0 -0
  29. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/auth/autoauth.py +0 -0
  30. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/auth/github.py +0 -0
  31. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/auth/google.py +0 -0
  32. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/auth/user.py +0 -0
  33. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/cli.py +0 -0
  34. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/__init__.py +0 -0
  35. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/base/__init__.py +0 -0
  36. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/base/common.py +0 -0
  37. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/base/datastructures.py +0 -0
  38. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/base/document.py +0 -0
  39. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/base/metaclasses.py +0 -0
  40. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/base/utils.py +0 -0
  41. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/common.py +0 -0
  42. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/context_managers.py +0 -0
  43. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/dereference.py +0 -0
  44. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/errors.py +0 -0
  45. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/mongodb_support.py +0 -0
  46. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/pymongo_support.py +0 -0
  47. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/queryset/__init__.py +0 -0
  48. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/queryset/base.py +0 -0
  49. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/queryset/field_list.py +0 -0
  50. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/queryset/manager.py +0 -0
  51. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/queryset/queryset.py +0 -0
  52. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/queryset/transform.py +0 -0
  53. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/queryset/visitor.py +0 -0
  54. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/db/signals.py +0 -0
  55. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/logger.py +0 -0
  56. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/model/__init__.py +0 -0
  57. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/model/automodel.py +0 -0
  58. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/storage/__init__.py +0 -0
  59. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/storage/imagestorage.py +0 -0
  60. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/storage/localstorage.py +0 -0
  61. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/tasks/__init__.py +0 -0
  62. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/tasks/autotask.py +0 -0
  63. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous/utils/markdown.py +0 -0
  64. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous_app.egg-info/SOURCES.txt +0 -0
  65. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous_app.egg-info/dependency_links.txt +0 -0
  66. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/src/autonomous_app.egg-info/requires.txt +0 -0
  67. {autonomous_app-0.3.7 → autonomous_app-0.3.9}/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.3.7
3
+ Version: 0.3.9
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.3.7"
1
+ __version__ = "0.3.9"
2
2
 
3
3
  from dotenv import load_dotenv
4
4
 
@@ -259,12 +259,6 @@ class BaseField:
259
259
  # next(iter) is useful for sets
260
260
  choice_list = [k for k, _ in choice_list]
261
261
 
262
- # log(
263
- # value,
264
- # type(value),
265
- # choice_list,
266
- # value in choice_list,
267
- # )
268
262
  # Choices which are other types of Documents
269
263
  if isinstance(value, (Document, EmbeddedDocument)):
270
264
  if not any(isinstance(value, c) for c in choice_list):
@@ -273,6 +267,7 @@ class BaseField:
273
267
  else:
274
268
  values = value if isinstance(value, (list, tuple)) else [value]
275
269
  if len(set(values) - set(choice_list)):
270
+ raise Exception(f"Value must be one of {choice_list}, not {value}")
276
271
  self.error("Value must be one of %s" % str(choice_list))
277
272
 
278
273
  def _validate(self, value, **kwargs):
@@ -2,7 +2,7 @@ import warnings
2
2
 
3
3
  from pymongo import MongoClient, ReadPreference, uri_parser
4
4
  from pymongo.common import _UUID_REPRESENTATIONS
5
- from pymongo.database import _check_name
5
+ from pymongo.database_shared import _check_name
6
6
 
7
7
  # DriverInfo was added in PyMongo 3.7.
8
8
  try:
@@ -417,7 +417,6 @@ class Document(BaseDocument, metaclass=TopLevelDocumentMetaclass):
417
417
  if self._meta.get("abstract"):
418
418
  raise InvalidDocumentError("Cannot save an abstract document.")
419
419
  signals.pre_save.send(self.__class__, document=self, **signal_kwargs)
420
-
421
420
  if validate:
422
421
  self.validate(clean=clean)
423
422
 
@@ -1483,21 +1483,22 @@ class GenericReferenceField(BaseField):
1483
1483
  )
1484
1484
 
1485
1485
  def _validate_choices(self, value):
1486
- # log(value, self.null)
1487
1486
  if not value and self.null:
1488
1487
  return
1489
1488
  elif isinstance(value, dict):
1490
1489
  # If the field has not been dereferenced, it is still a dict
1491
1490
  # of class and DBRef
1492
- value = value.get("_cls")
1493
- elif isinstance(value, Document):
1491
+ # value = value.get("_cls")
1492
+ try:
1493
+ value = self._lazy_load_ref(
1494
+ get_document(value.get("_cls")), value.get("_ref")
1495
+ )
1496
+ except DoesNotExist:
1497
+ log(f"{value} DoesNotExist")
1498
+ return
1499
+
1500
+ if isinstance(value, Document):
1494
1501
  mro = [cls.__name__ for cls in value.__class__.mro()]
1495
- # log(
1496
- # value,
1497
- # mro,
1498
- # self.choices,
1499
- # _print=True,
1500
- # )
1501
1502
  base_value = None
1502
1503
  for choice in self.choices:
1503
1504
  if choice in mro:
@@ -1510,19 +1511,8 @@ class GenericReferenceField(BaseField):
1510
1511
  f"Invalid Model Type. Must be or derive from on of: {self.choices}, not: {value} for attribute {self.name}"
1511
1512
  )
1512
1513
  else:
1513
- # log(
1514
- # value,
1515
- # type(value),
1516
- # "!!!! Need to update to this !!!!",
1517
- # _print=True,
1518
- # )
1519
1514
  value = value.__class__.__name__
1520
- # log(
1521
- # value,
1522
- # self.choices,
1523
- # type(value),
1524
- # _print=True,
1525
- # )
1515
+ # log(value, type(value))
1526
1516
  super()._validate_choices(value)
1527
1517
 
1528
1518
  @staticmethod
@@ -1543,6 +1533,7 @@ class GenericReferenceField(BaseField):
1543
1533
  auto_dereference = instance._fields[self.name]._auto_dereference
1544
1534
  if auto_dereference and isinstance(value, dict) and "_cls" in value:
1545
1535
  doc_cls = get_document(value["_cls"])
1536
+ log(self.name, value, doc_cls)
1546
1537
  instance._data[self.name] = self._lazy_load_ref(doc_cls, value["_ref"])
1547
1538
 
1548
1539
  return super().__get__(instance, owner)
@@ -56,7 +56,7 @@ class ReferenceAttr(GenericReferenceField):
56
56
  try:
57
57
  result = super().__get__(instance, owner)
58
58
  except DoesNotExist as e:
59
- log(f"ReferenceAttr Error: {e}")
59
+ # log(f"ReferenceAttr Error: {e}")
60
60
  return None
61
61
  return result
62
62
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: autonomous-app
3
- Version: 0.3.7
3
+ Version: 0.3.9
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
File without changes
File without changes
File without changes