From 779605ee7c5273a984961438b12382b9ac3ac47e Mon Sep 17 00:00:00 2001 From: Antonio de la Rosa Date: Wed, 14 May 2025 01:32:29 +0200 Subject: [PATCH] Added simplequery library --- paramecio2/libraries/db/simplequery.py | 44 ++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 paramecio2/libraries/db/simplequery.py diff --git a/paramecio2/libraries/db/simplequery.py b/paramecio2/libraries/db/simplequery.py new file mode 100644 index 0000000..7c8aaad --- /dev/null +++ b/paramecio2/libraries/db/simplequery.py @@ -0,0 +1,44 @@ + +# A more simple set for make queries + +def insert(model, db, dict_values): + + final_values={} + + for k in model.fields.keys(): + final_values[k]=model.fields[k].check(dict_values.get(k, '')) + + del final_values[model.name_field_id] + + str_fields="`"+"`, `".join(final_values.keys())+"`" + + str_query='insert into {} ({}) VALUES ({})'.format(model.name, str_fields, ", ".join(['%s']*len(final_values))) + + success=False + + with db.query(str_query, list(final_values.values())) as cursor: + + if cursor.rowcount>0: + + model.last_id=cursor.lastrowid + success=True + + return success + + +def select(model, db, dict_fields=[], where_sql='', limit='', dict_values=[]): + + if len(dict_fields)==0: + dict_fields=['`'+field+'`' for field in model.fields.keys()] + + str_fields=", ".join(dict_fields) + + str_query='select {} from {} {} limit 1'.format(str_fields, model.name, where_sql) + + arr_result=[] + + with db.query(str_query, dict_values) as cursor: + + arr_result=cursor.fetchall() + + return arr_result