def remove(cls, lst): if type(lst) == cls: DAL.delete_from(cls.table, **lst._working_dict()) else: with DAL.connection(): for entry in lst: DAL.delete_from(cls.table, **entry._working_dict())
def add(cls, lst): if type(lst) == cls: DAL.insert_into(cls.table, **lst._working_dict()) else: # 是否需要保持事务性? with DAL.connection(): for entry in lst: DAL.insert_into(cls.table, **entry._working_dict())
def save_html(url, html): import base64 encoded_html = base64.b64encode(html) print encoded_html with DAL.connection(): t = Entry.Page(url=url, content=encoded_html) Entry.Page.add(t) del (t)
def save(): global Q with DAL.connection(): while not Q.empty(): u = Q.get() t = Entry.Url(url=u) Entry.Url.add(t) del (t) print 'all saved!!!!!!!!!!!!!!!!' return True
import src.DB.DAL as DAL import urllib2 from utils import DBconfig import src.DB.Entry as Entry __author__ = "Sapocaly" config = DBconfig.DBConfig("conf/byyy_ba_db.cfg") config_args = dict( zip(["host", "user", "passwd", "database"], [config.DB_HOST, config.DB_USER, config.DB_PASSWORD, config.DB_NAME]) ) DAL.create_engine(**config_args) with DAL.connection(): for i in range(10): t = Entry.Page(url="test_url", content="test_content") Entry.Page.add(t) del (t) with DAL.transaction(): Entry.Page.remove(Entry.Page.get())