modulitiz-micro 2.40.0__py311-none-any.whl → 2.41.0__py311-none-any.whl
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.
- modulitiz_micro/ModuloDate.py +37 -5
- modulitiz_micro/util/scheduler/{AbstractScheduler.py → ModuleScheduler.py} +1 -7
- {modulitiz_micro-2.40.0.dist-info → modulitiz_micro-2.41.0.dist-info}/METADATA +2 -1
- {modulitiz_micro-2.40.0.dist-info → modulitiz_micro-2.41.0.dist-info}/RECORD +7 -7
- {modulitiz_micro-2.40.0.dist-info → modulitiz_micro-2.41.0.dist-info}/LICENSE +0 -0
- {modulitiz_micro-2.40.0.dist-info → modulitiz_micro-2.41.0.dist-info}/WHEEL +0 -0
- {modulitiz_micro-2.40.0.dist-info → modulitiz_micro-2.41.0.dist-info}/top_level.txt +0 -0
modulitiz_micro/ModuloDate.py
CHANGED
@@ -5,6 +5,9 @@ from datetime import datetime
|
|
5
5
|
from datetime import time as dt_time
|
6
6
|
from datetime import timedelta
|
7
7
|
from datetime import timezone
|
8
|
+
from datetime import tzinfo
|
9
|
+
|
10
|
+
from suntime import Sun
|
8
11
|
|
9
12
|
|
10
13
|
class ModuloDate(object):
|
@@ -18,6 +21,7 @@ class ModuloDate(object):
|
|
18
21
|
FORMATO_DATA_ORA_NOMEFILE="%Y-%m-%d_%H-%M-%S"
|
19
22
|
FORMATO_DATA_ORA_NOSPAZI="%Y%m%d%H%M%S"
|
20
23
|
FORMATO_ORA="%H:%M:%S"
|
24
|
+
FORMAT_HH_MM="%H:%M"
|
21
25
|
|
22
26
|
|
23
27
|
@staticmethod
|
@@ -268,21 +272,49 @@ class ModuloDate(object):
|
|
268
272
|
return cls.setTimezoneFromTzInfo(data,timezone.utc)
|
269
273
|
|
270
274
|
@staticmethod
|
271
|
-
def setTimezoneFromTzInfo(data:datetime,tz:
|
275
|
+
def setTimezoneFromTzInfo(data:datetime,tz:tzinfo)->datetime:
|
272
276
|
"""
|
273
277
|
Imposta un fuso orario ad una data completa.
|
274
278
|
"""
|
275
279
|
return data.replace(tzinfo=tz)
|
276
280
|
|
277
281
|
@classmethod
|
278
|
-
def getTimezoneLocal(cls)->
|
282
|
+
def getTimezoneLocal(cls,dateTime:datetime|None=None)->tzinfo:
|
279
283
|
"""
|
280
|
-
Ritorna il fuso orario locale.
|
284
|
+
Ritorna il fuso orario locale + DST.
|
281
285
|
"""
|
282
|
-
|
286
|
+
if dateTime is None:
|
287
|
+
dateTime=cls.now()
|
288
|
+
return dateTime.astimezone().tzinfo
|
289
|
+
|
290
|
+
@staticmethod
|
291
|
+
def isDst(dateTime:datetime)->bool:
|
292
|
+
return time.localtime(ModuloDate.dateToTimestamp(dateTime)).tm_isdst==1
|
293
|
+
|
294
|
+
@classmethod
|
295
|
+
def getDstSeconds(cls,dateTime:datetime)->int:
|
296
|
+
return 3600 if cls.isDst(dateTime) else 0
|
297
|
+
|
298
|
+
#
|
299
|
+
# sunrise / sunset
|
300
|
+
#
|
301
|
+
|
302
|
+
@classmethod
|
303
|
+
def getLocalSunrise(cls,lat:float,long:float,dateTime:datetime|None=None)->datetime:
|
304
|
+
if dateTime is None:
|
305
|
+
dateTime=cls.now()
|
306
|
+
sun=Sun(lat,long)
|
307
|
+
return sun.get_sunrise_time(dateTime,cls.getTimezoneLocal(dateTime))
|
308
|
+
|
309
|
+
@classmethod
|
310
|
+
def getLocalSunset(cls,lat:float,long:float,dateTime:datetime|None=None)->datetime:
|
311
|
+
if dateTime is None:
|
312
|
+
dateTime=cls.now()
|
313
|
+
sun=Sun(lat,long)
|
314
|
+
return sun.get_sunset_time(dateTime,cls.getTimezoneLocal(dateTime))
|
283
315
|
|
284
316
|
#
|
285
|
-
#
|
317
|
+
# others
|
286
318
|
#
|
287
319
|
@classmethod
|
288
320
|
def calculateElapsedSecs(cls,millisInizio:int)->str:
|
@@ -1,15 +1,9 @@
|
|
1
|
-
from abc import ABC
|
2
|
-
|
3
1
|
import schedule
|
4
2
|
|
5
3
|
from modulitiz_micro.ModuloListe import ModuloListe
|
6
4
|
|
7
5
|
|
8
|
-
class
|
9
|
-
|
10
|
-
def __init__(self):
|
11
|
-
super().__init__()
|
12
|
-
|
6
|
+
class ModuleScheduler(object):
|
13
7
|
@staticmethod
|
14
8
|
def cancelJobByTag(tag:str):
|
15
9
|
schedule.clear(tag)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: modulitiz_micro
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.41.0
|
4
4
|
Summary: Raccolta dei miei moduli - versione micro
|
5
5
|
Author-email: tiz <sderfo1234@altervista.org>
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
@@ -25,6 +25,7 @@ Requires-Dist: pypyodbc>=1.3
|
|
25
25
|
Requires-Dist: pyserial>=3.5
|
26
26
|
Requires-Dist: requests>=2.31
|
27
27
|
Requires-Dist: schedule>=1.2
|
28
|
+
Requires-Dist: suntime==1.3.2
|
28
29
|
Requires-Dist: telethon>=1.33
|
29
30
|
Requires-Dist: webcolors>=1.13
|
30
31
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
modulitiz_micro/ModuleEnum.py,sha256=1HVhYspeTyE8nEuYSDkQXuRUISEggR_Cejqn3uGMOPQ,159
|
2
2
|
modulitiz_micro/ModuloBase64.py,sha256=dW1TP8TkIuOqAbbJcvTAo4xEurHl8NBs8lQTuHY_HaU,1866
|
3
3
|
modulitiz_micro/ModuloColorText.py,sha256=_sMSh9xZ-qbpa35oaSGdzQJKpFiGLsCHtM4P1HQWcTE,828
|
4
|
-
modulitiz_micro/ModuloDate.py,sha256=
|
4
|
+
modulitiz_micro/ModuloDate.py,sha256=9SbLsonm3PAobbLB-KLnOcGej9Eze7yLQTWXMb82BHY,8894
|
5
5
|
modulitiz_micro/ModuloFunzioni.py,sha256=n2wNRCLg-l2EvUtZu2K2yT-oE9XJN8nYSDjzECYVqNw,1977
|
6
6
|
modulitiz_micro/ModuloListe.py,sha256=aWqnJX2JAk_LApUQvObkc6P89qXJzFviljJeKa39KC8,3581
|
7
7
|
modulitiz_micro/ModuloMeteo.py,sha256=uiENrmpkRVFX-qaFoxH5BfuEkob-1KqiVmXd734qeCk,2324
|
@@ -88,7 +88,7 @@ modulitiz_micro/util/beans/globalvar/AbstractGlobalVarBean.py,sha256=YrjrR2Ao86y
|
|
88
88
|
modulitiz_micro/util/decorators/noAwait.py,sha256=O9g_-4jSoLUjISslDRMlcvE91OtY2EkqcJKDDZxckDg,536
|
89
89
|
modulitiz_micro/util/pip/AbstractModuloPip.py,sha256=JwdRmKMBIk28QctAf8OKR6SrgFfEfacGw3aQMFT-5XM,1254
|
90
90
|
modulitiz_micro/util/pip/ModuloPip.py,sha256=PhgOdO_jZPJW0J2-Js9fQ3rVFbAks4ZD1oazhx9p1Os,1983
|
91
|
-
modulitiz_micro/util/scheduler/
|
91
|
+
modulitiz_micro/util/scheduler/ModuleScheduler.py,sha256=QPlvdLYXMhywxXRmEOoztLd5j2MbBpbxmptDF7Eu7CI,596
|
92
92
|
modulitiz_micro/util/spooler/AbstractSpooler.py,sha256=suJSAdevgZYErqwOTmM9b_fQEZSyJwD2Y11grCFpf5I,295
|
93
93
|
modulitiz_micro/util/spooler/Spooler.py,sha256=pAqm-L3KyR7LRuw10RTVqf8DZNiEFS1KeA9q9wuqbz4,430
|
94
94
|
modulitiz_micro/util/spooler/beans/QueueBean.py,sha256=HjfK17XpyUUYYXTNS5q56iyBdqGoFQeP_DcQadtZJFY,150
|
@@ -102,8 +102,8 @@ modulitiz_micro/util/wheel/ModuloBuildWheel.py,sha256=OtZdKTiiU0XhrIjWaFlBx8denZ
|
|
102
102
|
modulitiz_micro/util/wheel/ModuloCheckTestNamingConvention.py,sha256=ZGwMtVexRscwVEtiwxgU5ENsItcfsV2NEAcyclcLFgA,3885
|
103
103
|
modulitiz_micro/util/wheel/ModuloToml.py,sha256=774GQ8y6lyhOrT0edJPlLq4TBU7Nq4699q74deGlFW4,1205
|
104
104
|
modulitiz_micro/util/wheel/ModuloWheel.py,sha256=VRS_6kSt62qubBYzkGm91_GWzcIiD0KlSnaqhM_aQnE,338
|
105
|
-
modulitiz_micro-2.
|
106
|
-
modulitiz_micro-2.
|
107
|
-
modulitiz_micro-2.
|
108
|
-
modulitiz_micro-2.
|
109
|
-
modulitiz_micro-2.
|
105
|
+
modulitiz_micro-2.41.0.dist-info/LICENSE,sha256=b-Ia9Hv3N_FviXoFAXG44lDGbk4tCC0fBdduccm8nl0,1086
|
106
|
+
modulitiz_micro-2.41.0.dist-info/METADATA,sha256=ESKfsw1ErqgtcNju2Ul_1QQKlhudIZ4AGS__GoM4tv0,1721
|
107
|
+
modulitiz_micro-2.41.0.dist-info/WHEEL,sha256=2aRSX09k7pmd4gPs96VOQ860h0v0t30ka6JGHtpC3BY,94
|
108
|
+
modulitiz_micro-2.41.0.dist-info/top_level.txt,sha256=ESJE0qtNJp3tbKPrffbFVjH511NSjJHxscfpdLjTpA8,16
|
109
|
+
modulitiz_micro-2.41.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|