79 lines
2.5 KiB
Python
79 lines
2.5 KiB
Python
import os
|
|
import mysql.connector as con
|
|
from mysql.connector.errors import InterfaceError
|
|
|
|
GitHubWorkflow = True
|
|
|
|
try:
|
|
print(os.environ['GITHUB_ACTIONS'])
|
|
except:
|
|
GitHubWorkflow = False
|
|
|
|
def returnValue(key):
|
|
return os.environ[key]
|
|
|
|
if GitHubWorkflow:
|
|
host = returnValue("CURIE_HOST")
|
|
db = returnValue("CURIE_DB")
|
|
user = returnValue("CURIE_USER")
|
|
port = returnValue("CURIE_PORT")
|
|
password = returnValue("CURIE_PASSWORD")
|
|
fromaddr = returnValue("CURIE_EMAIL")
|
|
emailServer = returnValue("CURIE_EMAIL_SERVER")
|
|
emailPort = returnValue("CURIE_EMAIL_PORT")
|
|
emailPassword = returnValue("CURIE_EMAIL_PASSWORD")
|
|
else:
|
|
import configparser
|
|
config = configparser.ConfigParser()
|
|
config.read('config.ini')
|
|
try:
|
|
config['DATABASE']
|
|
except KeyError:
|
|
config.read("../config.ini")
|
|
v = config['DATABASE']
|
|
|
|
host = v['HOST']
|
|
db = v['NAME']
|
|
user = v['USER']
|
|
password = v['PASSWORD']
|
|
port = v['PORT']
|
|
fromaddr = config['SMTP']['EMAIL']
|
|
emailServer = config['SMTP']['SERVER']
|
|
emailPort = config['SMTP']['PORT']
|
|
emailPassword = config['SMTP']['PASSWORD']
|
|
|
|
|
|
try:
|
|
mycon = con.connect(host=host,user=user,password=password,port=port,database=db)
|
|
except InterfaceError:
|
|
print("Could not connect to the database")
|
|
sys.exit(1)
|
|
|
|
mycursor = mycon.cursor()
|
|
done = 1
|
|
|
|
try:
|
|
mycursor.execute("create table curieweb ( id varchar(16) primary key, email nvarchar(255) NOT NULL, protein LONGBLOB NOT NULL, protein_name VARCHAR(255), ligand_pdbqt LONGBLOB, ligand_smile VARCHAR(255), ligand_name VARCHAR(255), config LONGBLOB NOT NULL, date DATE, description VARCHAR(255), done TINYINT DEFAULT 0, pdb VARCHAR(4),csv longblob)")
|
|
except con.ProgrammingError:
|
|
print("Table Already Exists!")
|
|
|
|
def convertToBinaryData(filename):
|
|
with open(filename, 'rb') as file:
|
|
binaryData = file.read()
|
|
return binaryData
|
|
|
|
ligand = convertToBinaryData("./files/Eucalyptol.pdbqt")
|
|
receptor = convertToBinaryData("./files/6LU7.pdbqt")
|
|
config = convertToBinaryData("./files/6LU7.txt")
|
|
ligandName = "Eucalyptol"
|
|
receptorName = "6LU7"
|
|
sqlQuery = "insert into curieweb (id, email, protein, protein_name, ligand_pdbqt, ligand_name,date, config,done) values (%s,%s,%s,%s,%s,%s,CURDATE(),%s,%s) "
|
|
jobID = "l9xo2isr98oepcia"
|
|
|
|
insert_tuple = (jobID,"b5bmf.{curie-gh-ci}@inbox.testmail.app",receptor,receptorName,ligand,ligandName,config,done)
|
|
mycursor.execute(sqlQuery,insert_tuple)
|
|
print("Succesfuly submitted Job ID:",jobID)
|
|
|
|
|
|
mycon.commit()
|