Skip to content

Instantly share code, notes, and snippets.

@dangtrinhnt
Forked from anonymous/my_db_utils.py
Last active December 19, 2015 18:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dangtrinhnt/5997334 to your computer and use it in GitHub Desktop.
Save dangtrinhnt/5997334 to your computer and use it in GitHub Desktop.
from sqlalchemy import *
from sqlalchemy.orm import *
import os
from datetime import datetime
from MyProject.utils.my_models import MyTable
DB_HOST = 'mygeniusdomain.com'
DBMS = 'mysql'
DB_PORT = '3306'
DB_NAME = 'my_table'
DB_USER = 'genius'
DB_PWD = 'MyP@ssw0rd'
DB_ENGINE_URL = '%s://%s:%s@%s:%s/%s' % (DBMS, DB_USER, DB_PWD, DB_HOST,\
DB_PORT, DB_NAME)
# moodle database connect
class MyDBUtil(object):
engine = None
Session = None
def __init__(self):
self.connect()
def connect(self):
if self.engine is None:
self.engine = create_engine(DB_ENGINE_URL, echo=False, \
pool_size = 100, pool_recycle=3600)
if self.Session is None:
self.Session = scoped_session(sessionmaker(bind=self.engine))
def get_session(self):
self.connect()
return self.Session()
def close(self):
self.Session.remove()
def get_data(db, name):
data = ''
session = db.get_session()
try:
data = session.query(MyTable).filter_by(name=name).first().value
except:
session.rollback()
raise
finally:
session.commit()
db.close()
return data
def set_data(db, name, value):
session = db.get_session()
try:
record = session.query(MyTable).filter_by(name=name).first()
except:
record = MyTable(name=name, value=value)
session.add(record)
else:
record.value = value
finally:
session.commit()
db.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment