modulitiz-micro 2.27.2__py311-none-any.whl → 2.28.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.
@@ -28,6 +28,17 @@ class AbstractSql(ABC):
28
28
  cursoreDb=self.connDb.cursor()
29
29
  return cursoreDb
30
30
 
31
+ def fetchOne(self,cursoreDb):
32
+ """
33
+ Retrieve first row of query
34
+ """
35
+ with cursoreDb:
36
+ with self.lock:
37
+ result=cursoreDb.fetchone()
38
+ if not result:
39
+ return None
40
+ return result[0]
41
+
31
42
  def count(self,cursoreDb)->int:
32
43
  with cursoreDb:
33
44
  with self.lock:
@@ -23,23 +23,16 @@ class ModuloSqlServer(AbstractSql):
23
23
  results=list(cursoreDb)
24
24
  return results
25
25
 
26
- @staticmethod
27
- def selectOne(cursoreDb,sql:str,params:list)->list:
28
- """
29
- Scarica la prima riga della query
30
- """
26
+ def select_count(self,cursoreDb,sql:str,params:list)->int:
31
27
  with cursoreDb:
32
28
  cursoreDb.execute(sql,params)
33
- element=cursoreDb.fetchone()
34
- return list(element)
29
+ output=self.count(cursoreDb)
30
+ return output
35
31
 
36
- def select_count(self,cursoreDb,sql:str,params:list)->int:
37
- elemento=self.selectOne(cursoreDb,sql,params)
38
- return int(elemento[0])
39
-
40
- #usare se si vogliono fare delle modifiche ai dati
41
- #tipo: insert, update, delete
42
32
  def modifica(self,cursoreDb,sql:str,params:list,ignore_unique_index:bool):
33
+ """
34
+ Use it for data modifications like: insert, update, delete
35
+ """
43
36
  try:
44
37
  cursoreDb.execute(sql,params)
45
38
  except pypyodbc.IntegrityError as ie:
@@ -39,6 +39,12 @@ class AbstractMysql(AbstractSql):
39
39
  self.TABLE_OPTIONS=self.getTableOptions(isDebug)
40
40
  self.isDbNew=None
41
41
 
42
+ @abstractmethod
43
+ def schema(self):
44
+ """
45
+ Insert here sql instructions containing table definitions (DDL)
46
+ """
47
+
42
48
  def initDdl(self):
43
49
  #scelgo il db
44
50
  try:
@@ -57,14 +63,20 @@ class AbstractMysql(AbstractSql):
57
63
  for risultati in self.executeScript(sqlStr):
58
64
  yield risultati
59
65
 
60
- @abstractmethod
61
- def schema(self):
66
+ @staticmethod
67
+ def getLastIdInserted(cursoreDb):
68
+ return cursoreDb.lastrowid
69
+
70
+ def selectNow(self):
62
71
  """
63
- Inserire le istruzioni sql contenenti la dichiarazione delle tabelle (DDL)
72
+ Returns current db date and time.
64
73
  """
65
-
66
- def getLastIdInserted(self,cursoreDb):
67
- return cursoreDb.lastrowid
74
+ sql="SELECT {};".format(self.DATE_TIME_NOW)
75
+ with self.initCursore() as cursoreDb:
76
+ with self.lock:
77
+ cursoreDb.execute(sql,{})
78
+ output=self.fetchOne(cursoreDb)
79
+ return output
68
80
 
69
81
  def executeScript(self,sqlStr:str):
70
82
  sqlCmds=sqlStr.split(";")
@@ -35,6 +35,11 @@ class AbstractSqlite(AbstractSql):
35
35
 
36
36
  TIMEOUT_CONNECTION=10
37
37
 
38
+ @abstractmethod
39
+ def schema(self):
40
+ """
41
+ Insert here sql instructions containing table definitions (DDL)
42
+ """
38
43
 
39
44
  def __init__(self,nomefile_db:str,show_sql:bool=False):
40
45
  super().__init__()
@@ -61,13 +66,8 @@ class AbstractSqlite(AbstractSql):
61
66
  cursoreDb.executescript(sql_str)
62
67
  self.commit()
63
68
 
64
- @abstractmethod
65
- def schema(self):
66
- """
67
- Inserire le istruzioni sql contenenti la dichiarazione delle tabelle (DDL)
68
- """
69
-
70
- def getLastIdInserted(self,cursoreDb):
69
+ @staticmethod
70
+ def getLastIdInserted(cursoreDb):
71
71
  return cursoreDb.lastrowid
72
72
 
73
73
  def paginazione(first_result:int,num_results:int)->str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modulitiz_micro
3
- Version: 2.27.2
3
+ Version: 2.28.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
@@ -16,16 +16,16 @@ modulitiz_micro/android/ModuloAndroidSim.py,sha256=UWfpMJSw6xktKdUzr0Snsy47ZHpHh
16
16
  modulitiz_micro/android/beans/SmsBean.py,sha256=_7dZbNrHi5CFt3Z0SrqFV3VVb2QuKVfwBnsvC6cGDQc,444
17
17
  modulitiz_micro/android/enums/AndroidSmsTypeEnum.py,sha256=3jE5ZhtlXPZNYbs0U07igQeRBN8uZyxHXxW3C4hXZ0I,265
18
18
  modulitiz_micro/database/AbstractDatabaseService.py,sha256=iVi43Hhvo7L-BUSWowm-AUcW4Ecnbvyk_0ZFgZZMQwE,270
19
- modulitiz_micro/database/AbstractSql.py,sha256=QOIQKij1jK5b8txyLvhinFkra9Rf-4i42V04RfKhDKg,994
19
+ modulitiz_micro/database/AbstractSql.py,sha256=53jUBphwX7HH1FhIWcf3yPDZJD9OG6gIoGyk1VfOGiM,1200
20
20
  modulitiz_micro/database/ModuloSqlOracle.py,sha256=82pDbbT5sqe4rMcUzu9Nb2e7bROgs53yg1ufCg8GGkw,484
21
- modulitiz_micro/database/ModuloSqlServer.py,sha256=EqMVgjeR78513PSlNJBL34x7yg_cT-mdUtAyRIH60nQ,1452
21
+ modulitiz_micro/database/ModuloSqlServer.py,sha256=S8PzCgzTuEuHHF7SuqhJXsl2kC_f2MZAQ8k4ciw7Wk0,1236
22
22
  modulitiz_micro/database/eccezioni/EccezioneDbNoData.py,sha256=eXcD3x3-3Wf6SFMEyQZj24KccHhVnSZteM9pkrsGU-g,186
23
23
  modulitiz_micro/database/mysql/AbstractBasicMysql.py,sha256=C03qCWI3-8sCrp_CFfgPmSPal6USiH5EteFa0Q3i3Rs,3581
24
- modulitiz_micro/database/mysql/ModuloMysql.py,sha256=rxkDxenARlSWGt-3FcOIqLl6OUPQpOvUiBlal1L1o70,5275
24
+ modulitiz_micro/database/mysql/ModuloMysql.py,sha256=HAo0xBjS0HJwBczB-1mNQTWZ22ZC-7I2tFfh2UdXpR4,5544
25
25
  modulitiz_micro/database/mysql/MysqlCommonConverter.py,sha256=jZFQykrgZ3L-hALfnCXnnN54OVfqb8xFtZs48WRt8nc,1336
26
26
  modulitiz_micro/database/mysql/eccezioni/EccezioneMysqlOffline.py,sha256=gKNgFegRSYCNrNBlaq2helOyMhXjpVC_DKCt-i341Gs,164
27
27
  modulitiz_micro/database/sqlite/AbstractBasicSQLite.py,sha256=QspbJoa1btiHjuETSPOh4QJ550T6_dPRildBa0KNIMU,3470
28
- modulitiz_micro/database/sqlite/ModuloSQLite.py,sha256=Pw6Y4I-ktLUoFqrJPgW98A5y4LM6-cT6xC3O9t6K7Jk,2389
28
+ modulitiz_micro/database/sqlite/ModuloSQLite.py,sha256=bfjk5HRm9wo2kjqUn6PbCiZMuawXVEcPb7AK6XDhZdY,2386
29
29
  modulitiz_micro/eccezioni/EccezioneBase.py,sha256=sRzCwhMDC4sDSchT7j1y-bLxKyqDTD9pc6Df7qggZ9Q,193
30
30
  modulitiz_micro/eccezioni/EccezioneCtrlC.py,sha256=-O5oG2ZkX7NoWLDewLETX5a20Ea4AYashf8TFwsuatc,185
31
31
  modulitiz_micro/eccezioni/EccezioneRuntime.py,sha256=lSwwGf_AsW6EjwkB88oF_mpLKQHj0fdjOy8H3uWRRBo,168
@@ -94,8 +94,8 @@ modulitiz_micro/util/unittesting/ModuloRunUnitTest.py,sha256=_YHxjTk_t9wvlCYgS4H
94
94
  modulitiz_micro/util/wheel/ModuloBuildWheel.py,sha256=-NTUqEjmGl8OUFa1hSwmBbLOaoJZhmzStvOexIN6CDo,5039
95
95
  modulitiz_micro/util/wheel/ModuloToml.py,sha256=774GQ8y6lyhOrT0edJPlLq4TBU7Nq4699q74deGlFW4,1205
96
96
  modulitiz_micro/util/wheel/ModuloWheel.py,sha256=VRS_6kSt62qubBYzkGm91_GWzcIiD0KlSnaqhM_aQnE,338
97
- modulitiz_micro-2.27.2.dist-info/LICENSE,sha256=b-Ia9Hv3N_FviXoFAXG44lDGbk4tCC0fBdduccm8nl0,1086
98
- modulitiz_micro-2.27.2.dist-info/METADATA,sha256=Gbl9RlQGcEi_e3HKZEc8J223IW9UbcS-KoiAORs6cLk,1651
99
- modulitiz_micro-2.27.2.dist-info/WHEEL,sha256=2aRSX09k7pmd4gPs96VOQ860h0v0t30ka6JGHtpC3BY,94
100
- modulitiz_micro-2.27.2.dist-info/top_level.txt,sha256=ESJE0qtNJp3tbKPrffbFVjH511NSjJHxscfpdLjTpA8,16
101
- modulitiz_micro-2.27.2.dist-info/RECORD,,
97
+ modulitiz_micro-2.28.0.dist-info/LICENSE,sha256=b-Ia9Hv3N_FviXoFAXG44lDGbk4tCC0fBdduccm8nl0,1086
98
+ modulitiz_micro-2.28.0.dist-info/METADATA,sha256=hn6WvcIjE4RapthlYwmTh04NfJbSIt2UQzqZ4A3whMU,1651
99
+ modulitiz_micro-2.28.0.dist-info/WHEEL,sha256=2aRSX09k7pmd4gPs96VOQ860h0v0t30ka6JGHtpC3BY,94
100
+ modulitiz_micro-2.28.0.dist-info/top_level.txt,sha256=ESJE0qtNJp3tbKPrffbFVjH511NSjJHxscfpdLjTpA8,16
101
+ modulitiz_micro-2.28.0.dist-info/RECORD,,