appier 1.33.5__tar.gz → 1.34.1__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 (105) hide show
  1. {appier-1.33.5/src/appier.egg-info → appier-1.34.1}/PKG-INFO +1 -1
  2. {appier-1.33.5 → appier-1.34.1}/setup.py +1 -1
  3. {appier-1.33.5 → appier-1.34.1}/src/appier/base.py +1 -1
  4. appier-1.34.1/src/appier/part.pyi +3 -0
  5. {appier-1.33.5 → appier-1.34.1}/src/appier/scheduler.py +12 -1
  6. {appier-1.33.5 → appier-1.34.1}/src/appier/typesf.py +22 -0
  7. {appier-1.33.5 → appier-1.34.1/src/appier.egg-info}/PKG-INFO +1 -1
  8. appier-1.33.5/src/appier/part.pyi +0 -1
  9. {appier-1.33.5 → appier-1.34.1}/MANIFEST.in +0 -0
  10. {appier-1.33.5 → appier-1.34.1}/README.rst +0 -0
  11. {appier-1.33.5 → appier-1.34.1}/setup.cfg +0 -0
  12. {appier-1.33.5 → appier-1.34.1}/src/appier/__init__.py +0 -0
  13. {appier-1.33.5 → appier-1.34.1}/src/appier/amqp.py +0 -0
  14. {appier-1.33.5 → appier-1.34.1}/src/appier/api.py +0 -0
  15. {appier-1.33.5 → appier-1.34.1}/src/appier/asgi.py +0 -0
  16. {appier-1.33.5 → appier-1.34.1}/src/appier/async_neo.py +0 -0
  17. {appier-1.33.5 → appier-1.34.1}/src/appier/async_old.py +0 -0
  18. {appier-1.33.5 → appier-1.34.1}/src/appier/asynchronous.py +0 -0
  19. {appier-1.33.5 → appier-1.34.1}/src/appier/asynchronous.pyi +0 -0
  20. {appier-1.33.5 → appier-1.34.1}/src/appier/base.pyi +0 -0
  21. {appier-1.33.5 → appier-1.34.1}/src/appier/bus.py +0 -0
  22. {appier-1.33.5 → appier-1.34.1}/src/appier/bus.pyi +0 -0
  23. {appier-1.33.5 → appier-1.34.1}/src/appier/cache.py +0 -0
  24. {appier-1.33.5 → appier-1.34.1}/src/appier/cache.pyi +0 -0
  25. {appier-1.33.5 → appier-1.34.1}/src/appier/common.py +0 -0
  26. {appier-1.33.5 → appier-1.34.1}/src/appier/component.py +0 -0
  27. {appier-1.33.5 → appier-1.34.1}/src/appier/component.pyi +0 -0
  28. {appier-1.33.5 → appier-1.34.1}/src/appier/compress.py +0 -0
  29. {appier-1.33.5 → appier-1.34.1}/src/appier/config.py +0 -0
  30. {appier-1.33.5 → appier-1.34.1}/src/appier/controller.py +0 -0
  31. {appier-1.33.5 → appier-1.34.1}/src/appier/crypt.py +0 -0
  32. {appier-1.33.5 → appier-1.34.1}/src/appier/data.py +0 -0
  33. {appier-1.33.5 → appier-1.34.1}/src/appier/data.pyi +0 -0
  34. {appier-1.33.5 → appier-1.34.1}/src/appier/defines.py +0 -0
  35. {appier-1.33.5 → appier-1.34.1}/src/appier/exceptions.py +0 -0
  36. {appier-1.33.5 → appier-1.34.1}/src/appier/execution.py +0 -0
  37. {appier-1.33.5 → appier-1.34.1}/src/appier/export.py +0 -0
  38. {appier-1.33.5 → appier-1.34.1}/src/appier/extra.py +0 -0
  39. {appier-1.33.5 → appier-1.34.1}/src/appier/extra_neo.py +0 -0
  40. {appier-1.33.5 → appier-1.34.1}/src/appier/extra_old.py +0 -0
  41. {appier-1.33.5 → appier-1.34.1}/src/appier/geo.py +0 -0
  42. {appier-1.33.5 → appier-1.34.1}/src/appier/git.py +0 -0
  43. {appier-1.33.5 → appier-1.34.1}/src/appier/graph.py +0 -0
  44. {appier-1.33.5 → appier-1.34.1}/src/appier/http.py +0 -0
  45. {appier-1.33.5 → appier-1.34.1}/src/appier/legacy.py +0 -0
  46. {appier-1.33.5 → appier-1.34.1}/src/appier/log.py +0 -0
  47. {appier-1.33.5 → appier-1.34.1}/src/appier/meta.py +0 -0
  48. {appier-1.33.5 → appier-1.34.1}/src/appier/mock.py +0 -0
  49. {appier-1.33.5 → appier-1.34.1}/src/appier/model.py +0 -0
  50. {appier-1.33.5 → appier-1.34.1}/src/appier/model.pyi +0 -0
  51. {appier-1.33.5 → appier-1.34.1}/src/appier/model_a.py +0 -0
  52. {appier-1.33.5 → appier-1.34.1}/src/appier/mongo.py +0 -0
  53. {appier-1.33.5 → appier-1.34.1}/src/appier/observer.py +0 -0
  54. {appier-1.33.5 → appier-1.34.1}/src/appier/part.py +0 -0
  55. {appier-1.33.5 → appier-1.34.1}/src/appier/preferences.py +0 -0
  56. {appier-1.33.5 → appier-1.34.1}/src/appier/preferences.pyi +0 -0
  57. {appier-1.33.5 → appier-1.34.1}/src/appier/queuing.py +0 -0
  58. {appier-1.33.5 → appier-1.34.1}/src/appier/redisdb.py +0 -0
  59. {appier-1.33.5 → appier-1.34.1}/src/appier/request.py +0 -0
  60. {appier-1.33.5 → appier-1.34.1}/src/appier/res/static/css/base.css +0 -0
  61. {appier-1.33.5 → appier-1.34.1}/src/appier/res/static/images/favicon.ico +0 -0
  62. {appier-1.33.5 → appier-1.34.1}/src/appier/res/static/js/base.js +0 -0
  63. {appier-1.33.5 → appier-1.34.1}/src/appier/res/templates/error.html.tpl +0 -0
  64. {appier-1.33.5 → appier-1.34.1}/src/appier/res/templates/holder.html.tpl +0 -0
  65. {appier-1.33.5 → appier-1.34.1}/src/appier/res/templates/layout.html.tpl +0 -0
  66. {appier-1.33.5 → appier-1.34.1}/src/appier/scheduler.pyi +0 -0
  67. {appier-1.33.5 → appier-1.34.1}/src/appier/serialize.py +0 -0
  68. {appier-1.33.5 → appier-1.34.1}/src/appier/session.py +0 -0
  69. {appier-1.33.5 → appier-1.34.1}/src/appier/session.pyi +0 -0
  70. {appier-1.33.5 → appier-1.34.1}/src/appier/settings.py +0 -0
  71. {appier-1.33.5 → appier-1.34.1}/src/appier/smtp.py +0 -0
  72. {appier-1.33.5 → appier-1.34.1}/src/appier/storage.py +0 -0
  73. {appier-1.33.5 → appier-1.34.1}/src/appier/structures.py +0 -0
  74. {appier-1.33.5 → appier-1.34.1}/src/appier/test/__init__.py +0 -0
  75. {appier-1.33.5 → appier-1.34.1}/src/appier/test/base.py +0 -0
  76. {appier-1.33.5 → appier-1.34.1}/src/appier/test/cache.py +0 -0
  77. {appier-1.33.5 → appier-1.34.1}/src/appier/test/config.py +0 -0
  78. {appier-1.33.5 → appier-1.34.1}/src/appier/test/crypt.py +0 -0
  79. {appier-1.33.5 → appier-1.34.1}/src/appier/test/data.py +0 -0
  80. {appier-1.33.5 → appier-1.34.1}/src/appier/test/exceptions.py +0 -0
  81. {appier-1.33.5 → appier-1.34.1}/src/appier/test/export.py +0 -0
  82. {appier-1.33.5 → appier-1.34.1}/src/appier/test/graph.py +0 -0
  83. {appier-1.33.5 → appier-1.34.1}/src/appier/test/http.py +0 -0
  84. {appier-1.33.5 → appier-1.34.1}/src/appier/test/legacy.py +0 -0
  85. {appier-1.33.5 → appier-1.34.1}/src/appier/test/log.py +0 -0
  86. {appier-1.33.5 → appier-1.34.1}/src/appier/test/mock.py +0 -0
  87. {appier-1.33.5 → appier-1.34.1}/src/appier/test/model.py +0 -0
  88. {appier-1.33.5 → appier-1.34.1}/src/appier/test/part.py +0 -0
  89. {appier-1.33.5 → appier-1.34.1}/src/appier/test/preferences.py +0 -0
  90. {appier-1.33.5 → appier-1.34.1}/src/appier/test/queuing.py +0 -0
  91. {appier-1.33.5 → appier-1.34.1}/src/appier/test/request.py +0 -0
  92. {appier-1.33.5 → appier-1.34.1}/src/appier/test/scheduler.py +0 -0
  93. {appier-1.33.5 → appier-1.34.1}/src/appier/test/serialize.py +0 -0
  94. {appier-1.33.5 → appier-1.34.1}/src/appier/test/session.py +0 -0
  95. {appier-1.33.5 → appier-1.34.1}/src/appier/test/smtp.py +0 -0
  96. {appier-1.33.5 → appier-1.34.1}/src/appier/test/structures.py +0 -0
  97. {appier-1.33.5 → appier-1.34.1}/src/appier/test/typesf.py +0 -0
  98. {appier-1.33.5 → appier-1.34.1}/src/appier/test/util.py +0 -0
  99. {appier-1.33.5 → appier-1.34.1}/src/appier/test/validation.py +0 -0
  100. {appier-1.33.5 → appier-1.34.1}/src/appier/util.py +0 -0
  101. {appier-1.33.5 → appier-1.34.1}/src/appier/validation.py +0 -0
  102. {appier-1.33.5 → appier-1.34.1}/src/appier.egg-info/SOURCES.txt +0 -0
  103. {appier-1.33.5 → appier-1.34.1}/src/appier.egg-info/dependency_links.txt +0 -0
  104. {appier-1.33.5 → appier-1.34.1}/src/appier.egg-info/not-zip-safe +0 -0
  105. {appier-1.33.5 → appier-1.34.1}/src/appier.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: appier
3
- Version: 1.33.5
3
+ Version: 1.34.1
4
4
  Summary: Appier Framework
5
5
  Home-page: http://appier.hive.pt
6
6
  Author: Hive Solutions Lda.
@@ -44,7 +44,7 @@ def read_file(path):
44
44
 
45
45
  setuptools.setup(
46
46
  name="appier",
47
- version="1.33.5",
47
+ version="1.34.1",
48
48
  author="Hive Solutions Lda.",
49
49
  author_email="development@hive.pt",
50
50
  description="Appier Framework",
@@ -94,7 +94,7 @@ NAME = "appier"
94
94
  """ The name to be used to describe the framework while working
95
95
  on its own environment, this is just a descriptive value """
96
96
 
97
- VERSION = "1.33.5"
97
+ VERSION = "1.34.1"
98
98
  """ The version of the framework that is currently installed
99
99
  this value may be used for debugging/diagnostic purposes """
100
100
 
@@ -0,0 +1,3 @@
1
+ class Part:
2
+ def load(self): ...
3
+ def unload(self): ...
@@ -30,7 +30,6 @@ __license__ = "Apache License, Version 2.0"
30
30
 
31
31
  import time
32
32
  import heapq
33
- import calendar
34
33
  import datetime
35
34
  import logging
36
35
  import threading
@@ -187,6 +186,12 @@ class SchedulerTask(object):
187
186
  self.date = SchedulerDate.from_cron(cron)
188
187
  self._enabled = True
189
188
 
189
+ def __repr__(self):
190
+ return "<SchedulerTask: %s, %s>" % (self.job, self.date)
191
+
192
+ def __str__(self):
193
+ return "<SchedulerTask: %s, %s>" % (self.job, self.date)
194
+
190
195
  def __eq__(self, other):
191
196
  if isinstance(other, self.__class__):
192
197
  return True
@@ -223,6 +228,12 @@ class SchedulerDate(object):
223
228
  self.months = self._parse_field(months, 1, 12)
224
229
  self.days_of_week = self._parse_field(days_of_week, 0, 6)
225
230
 
231
+ def __repr__(self):
232
+ return "<SchedulerDate: %s>" % self.next_run()
233
+
234
+ def __str__(self):
235
+ return "<SchedulerDate: %s>" % self.next_run()
236
+
226
237
  @classmethod
227
238
  def from_cron(cls, cron):
228
239
  if isinstance(cron, cls):
@@ -28,9 +28,11 @@ __copyright__ = "Copyright (c) 2008-2024 Hive Solutions Lda."
28
28
  __license__ = "Apache License, Version 2.0"
29
29
  """ The license for the module """
30
30
 
31
+ import os
31
32
  import uuid
32
33
  import base64
33
34
  import hashlib
35
+ import mimetypes
34
36
 
35
37
  from . import util
36
38
  from . import crypt
@@ -85,6 +87,17 @@ class File(AbstractType):
85
87
  def __len__(self):
86
88
  return self.size
87
89
 
90
+ @classmethod
91
+ def open(cls, path):
92
+ name = os.path.basename(path)
93
+ content_type, _encoding = mimetypes.guess_type(name)
94
+ file = open(path, "rb")
95
+ try:
96
+ data = file.read()
97
+ finally:
98
+ file.close()
99
+ return cls((name, content_type, data))
100
+
88
101
  def build_d(self, file_d, name="default"):
89
102
  self.build_t((name, None, file_d))
90
103
 
@@ -192,6 +205,15 @@ class File(AbstractType):
192
205
  engine = self._engine()
193
206
  return engine.cleanup(self)
194
207
 
208
+ def save(self, path=None):
209
+ path = path or self.file_name
210
+ data = self.read()
211
+ file = open(path, "wb")
212
+ try:
213
+ file.write(data)
214
+ finally:
215
+ file.close()
216
+
195
217
  def json_v(self, *args, **kwargs):
196
218
  if not self.is_valid():
197
219
  return None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: appier
3
- Version: 1.33.5
3
+ Version: 1.34.1
4
4
  Summary: Appier Framework
5
5
  Home-page: http://appier.hive.pt
6
6
  Author: Hive Solutions Lda.
@@ -1 +0,0 @@
1
- class Part: ...
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes