Skip to content
Snippets Groups Projects

WIP adding get_generator

Merged Ismail Moumni requested to merge 003-db-generator into master
1 file
+ 27
2
Compare changes
  • Side-by-side
  • Inline
import mysql.connector
import mysql.connector
from get_docker_secret import get_docker_secret
from get_docker_secret import get_docker_secret
import os
import os
 
import random
# Exception thrown when no password has been defined to connect to the database
# Exception thrown when no password has been defined to connect to the database
class NoPasswordDefineError(Exception):
class NoPasswordDefineError(Exception):
@@ -26,6 +27,7 @@ def get_password():
@@ -26,6 +27,7 @@ def get_password():
return password
return password
return __rdos_password__
return __rdos_password__
 
# Connect to the local MYSQL database on lipn-rdos
# Connect to the local MYSQL database on lipn-rdos
def database_connection():
def database_connection():
mydb = mysql.connector.connect(
mydb = mysql.connector.connect(
@@ -100,6 +102,7 @@ def getParameters(generators: dict):
@@ -100,6 +102,7 @@ def getParameters(generators: dict):
# Returns a dictionary containing all database generators existing in database
# Returns a dictionary containing all database generators existing in database
 
# The result returned contains every generators in database with parameters and default values for each field
def get_generators():
def get_generators():
database = database_connection()
database = database_connection()
generators = {}
generators = {}
@@ -112,19 +115,41 @@ def get_generators():
@@ -112,19 +115,41 @@ def get_generators():
generators[result[0]] = [result]
generators[result[0]] = [result]
 
# Insert in database a query send from client and returns insert status
def db_insert(query: dict):
def db_insert(query: dict):
if(query is not None):
if(query is not None):
database = database_connection()
database = database_connection()
 
if(db_job_check(query) != 0):
 
query['id'] = str(random.getrandbits(64))
try:
try:
 
print(query)
values = query.values()
values = query.values()
print(values)
print(values)
cols = query.keys()
cols = query.keys()
print(cols)
print(cols)
sql_new_job_row = "INSERT INTO jobs (%s) VALUES ('%s');" % (", ".join(cols), "','".join(values))
sql_new_job_row = "INSERT INTO jobs (%s) VALUES ('%s');" % (", ".join(cols), "','".join(values))
print(sql_new_job_row)
print(sql_new_job_row)
mycursor = database.cursor(buffered=False)
mycursor = database.cursor(buffered=True)
mycursor.execute(sql_new_job_row)
mycursor.execute(sql_new_job_row)
database.commit()
print("Record inserted", mycursor.rowcount)
print("Record inserted", mycursor.rowcount)
 
database.commit()
 
mycursor.close()
 
except mysql.connector.Error as err:
 
print("MYSQL Error :{}".format(err))
 
 
 
def db_job_check(query: dict):
 
if (query is not None):
 
db = database_connection()
 
try:
 
ret = 0
 
val = query['id']
 
sql_new_job_row = "SELECT * FROM jobs WHERE ID=('%s') LIMIT 1;" % (val)
 
mycursor = db.cursor(buffered=True)
 
mycursor.execute(sql_new_job_row)
 
db.commit()
 
ret = mycursor.rowcount
 
mycursor.close()
 
return ret
except mysql.connector.Error as err:
except mysql.connector.Error as err:
print("MYSQL Error :{}".format(err))
print("MYSQL Error :{}".format(err))
Loading