X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=db_base.py;h=4a877213d2689d3d4dd7ce73f1e4eb370c88cd6e;hb=b12711fda02f2bac40a2cc1adfb5a27675bbad61;hp=807c73d5486132dbc7101454e2c52ea5e517d705;hpb=06ac4cc594385037ee5369e86dd62ab1a00df8e6;p=osm%2FRO.git diff --git a/db_base.py b/db_base.py index 807c73d5..4a877213 100644 --- a/db_base.py +++ b/db_base.py @@ -125,8 +125,11 @@ def _convert_str2boolean(data, items): _convert_str2boolean(data[k], items) if k in items: if type(data[k]) is str: - if data[k]=="false" or data[k]=="False": data[k]=False - elif data[k]=="true" or data[k]=="True": data[k]=True + if data[k]=="false" or data[k]=="False" or data[k]=="0": data[k]=False + elif data[k]=="true" or data[k]=="True" or data[k]=="1": data[k]=True + elif type(data[k]) is int: + if data[k]==0: data[k]=False + elif data[k]==1: data[k]=True if type(data) is tuple or type(data) is list: for k in data: if type(k) is dict or type(k) is tuple or type(k) is list: @@ -262,6 +265,8 @@ class db_base(): ''' if data==None: return 'Null' + elif isinstance(data[1], str): + return json.dumps(data) else: return json.dumps(str(data)) @@ -274,6 +279,8 @@ class db_base(): ''' if data[1]==None: return str(data[0]) + "=Null" + elif isinstance(data[1], str): + return str(data[0]) + '=' + json.dumps(data[1]) else: return str(data[0]) + '=' + json.dumps(str(data[1])) @@ -286,24 +293,10 @@ class db_base(): ''' if data[1]==None: return str(data[0]) + " is Null" - -# if type(data[1]) is tuple: #this can only happen in a WHERE_OR clause -# text =[] -# for d in data[1]: -# if d==None: -# text.append(str(data[0]) + " is Null") -# continue -# out=str(d) -# if "'" not in out: -# text.append( str(data[0]) + "='" + out + "'" ) -# elif '"' not in out: -# text.append( str(data[0]) + '="' + out + '"' ) -# else: -# text.append( str(data[0]) + '=' + json.dumps(out) ) -# return " OR ".join(text) - - out=str(data[1]) - return str(data[0]) + '=' + json.dumps(out) + elif isinstance(data[1], str): + return str(data[0]) + '=' + json.dumps(data[1]) + else: + return str(data[0]) + '=' + json.dumps(str(data[1])) def __tuple2db_format_where_not(self, data): '''Compose the needed text for a SQL WHERE(not). parameter 'data' is a pair tuple (A,B), @@ -314,8 +307,10 @@ class db_base(): ''' if data[1]==None: return str(data[0]) + " is not Null" - out=str(data[1]) - return str(data[0]) + '<>' + json.dumps(out) + elif isinstance(data[1], str): + return str(data[0]) + '<>' + json.dumps(data[1]) + else: + return str(data[0]) + '<>' + json.dumps(str(data[1])) def __remove_quotes(self, data): '''remove single quotes ' of any string content of data dictionary'''