dbobj3 0.4.0__tar.gz → 0.5.0__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.
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dbobj3"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.5.0"
|
|
8
8
|
description = "High-level MySQL/MSSQL/Oracle access module"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.6"
|
|
@@ -16,7 +16,7 @@ dependencies = [
|
|
|
16
16
|
packages = ["src/dbobj3.py"]
|
|
17
17
|
|
|
18
18
|
[tool.bumpversion]
|
|
19
|
-
current_version = "0.
|
|
19
|
+
current_version = "0.5.0"
|
|
20
20
|
commit = true
|
|
21
21
|
tag = true
|
|
22
22
|
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)"
|
|
@@ -21,7 +21,7 @@ Example:
|
|
|
21
21
|
rsServices.next()
|
|
22
22
|
|
|
23
23
|
"""
|
|
24
|
-
__version__ = "0.
|
|
24
|
+
__version__ = "0.5.0"
|
|
25
25
|
|
|
26
26
|
from sys import version as sys_version, exit
|
|
27
27
|
pyversion = sys_version[0:sys_version.find(' ')]
|
|
@@ -685,6 +685,7 @@ class dbObjConnection:
|
|
|
685
685
|
if(self.dbType in ("API")):
|
|
686
686
|
return self.apiExecute(prmSql)
|
|
687
687
|
|
|
688
|
+
|
|
688
689
|
def fetchall(self, prmSql, *args):
|
|
689
690
|
"""Returns result set as a list of dictionaries"""
|
|
690
691
|
rset = []
|
|
@@ -694,18 +695,36 @@ class dbObjConnection:
|
|
|
694
695
|
crsr.next()
|
|
695
696
|
return rset
|
|
696
697
|
|
|
698
|
+
|
|
697
699
|
def fetchone(self, prmSql, *args):
|
|
698
700
|
"""Returns a single row as a dictionary"""
|
|
699
701
|
crsr = self.execute( prmSql, *args )
|
|
700
702
|
dictRow = {} if crsr.EOF else crsr.fields
|
|
701
703
|
return dictRow
|
|
702
704
|
|
|
705
|
+
|
|
703
706
|
def fetchval(self, prmSql, *args):
|
|
704
707
|
"""Returns a single value"""
|
|
705
708
|
dictRow = self.fetchone( prmSql, *args )
|
|
706
709
|
listVals = list(dictRow.values())
|
|
707
710
|
return None if not listVals else listVals[0]
|
|
708
711
|
|
|
712
|
+
|
|
713
|
+
def fetchlistvals(self, prmSql, *args):
|
|
714
|
+
"""Returns a list of vals; if more than one key/column, returns a list of value tuples"""
|
|
715
|
+
listvals = []
|
|
716
|
+
rset = self.fetchall(prmSql, *args)
|
|
717
|
+
if not rset:
|
|
718
|
+
return []
|
|
719
|
+
keys = list(rset[0].keys())
|
|
720
|
+
for dictRow in rset:
|
|
721
|
+
if len(keys) == 1:
|
|
722
|
+
listvals.append( dictRow.get(keys[0]) )
|
|
723
|
+
else:
|
|
724
|
+
listvals.append( tuple( dictRow.get(k) for k in keys ) )
|
|
725
|
+
return listvals
|
|
726
|
+
|
|
727
|
+
|
|
709
728
|
def insert(self, table, prmDict, update_on_duplicate=False):
|
|
710
729
|
if update_on_duplicate:
|
|
711
730
|
keystr = ','.join(prmDict.keys())
|
|
@@ -937,7 +956,6 @@ class dbObjConnection:
|
|
|
937
956
|
try:
|
|
938
957
|
# convert sqls to url safe version
|
|
939
958
|
#sqls = requests.compat.quote_plus( prmSql )
|
|
940
|
-
#r = requests.post(self.apiBaseUrl + "/execute", data = {self.apiKeyName: self.apiKey, "sql": sqls})
|
|
941
959
|
sqls = prmSql
|
|
942
960
|
headers = {'Content-type':'application/json'}
|
|
943
961
|
payload = {self.apiKeyName: self.apiKey, "sql": sqls}
|
|
File without changes
|