class DbStorage(Storage): def __init__(self, db=''): self.db = DBGateway(db + '.sqlite') def open(self): try: self.db.create_table(TABLE, cols=[ ' '.join([col, 'TEXT']) for col in COLUMNS], primary=PRIMARY) except Exception: return False else: return True def store(self, data_dict): data_tuple = self.align_kwargs(data_dict) if not self.db.insert(TABLE, cols=COLUMNS, vals=data_tuple): err_tuple = (data_dict.get('pdf_md5'), 'DB_ERROR: %s' % self.db.get_error()) self.db.insert(TABLE, cols=['pdf_md5', 'errors'], vals=err_tuple) def close(self): self.db.disconnect() def contains(self, key, val): return self.db.count(TABLE, key, val)
class DbStorage(Storage): def __init__(self, db=''): self.db = DBGateway(db + '.sqlite') def open(self): try: self.db.create_table( TABLE, cols=[' '.join([col, 'TEXT']) for col in COLUMNS], primary=PRIMARY) except Exception: return False else: return True def store(self, data_dict): data_tuple = self.align_kwargs(data_dict) if not self.db.insert(TABLE, cols=COLUMNS, vals=data_tuple): err_tuple = (data_dict.get('pdf_md5'), 'DB_ERROR: %s' % self.db.get_error()) self.db.insert(TABLE, cols=['pdf_md5', 'errors'], vals=err_tuple) def close(self): self.db.disconnect() def contains(self, key, val): return self.db.count(TABLE, key, val)
if JSFLASH == 'js': cmd = "select rowid, pdf_md5, tree, obf_js from parsed_pdfs where obf_js is not '' and de_js is '' and (rowid > %s and rowid <= %s) order by rowid limit 1" % ('%s', MAX) update = "update parsed_pdfs set de_js='%s' where rowid is %s" % (db_name, '%s') elif JSFLASH == 'flash': cmd = "select rowid, pdf_md5, tree, swf from parsed_pdfs where swf is not '' and (rowid > %s and rowid <= %s) order by rowid limit 1" % ('%s', MAX) update = "update parsed_pdfs set actionscript='%s' where rowid is %s" % (db_name, '%s') logmsg(log, "%s\n%s\n" % (cmd, update)) jsopts = default_options() jsopts.preserve_new_lines = False jsopts.break_chained_methods = True DB = DBGateway(DBin_NAME, '/media/sf_voodo_db/') DBout = DBGateway(db_name , '/media/sf_voodo_db/') if not DBout.query('create table if not exists clarified (pdf_md5 TEXT, js TEXT, de_js TEXT, de_js_sdhash TEXT, swf TEXT, abc TEXT, actionscript TEXT, actionscript_sdhash TEXT, primary key(pdf_md5))'): err = DBout.get_error() logmsg(log, "%s\n" % err) sys.exit(1) ''' Create an lxml tree from the xml string ''' def tree_from_xml(xml): try: return ET.fromstring(xml) except Exception: return None '''
cmd = "select rowid, pdf_md5, tree, swf from parsed_pdfs where swf is not '' and (rowid > %s and rowid <= %s) order by rowid limit 1" % ( '%s', MAX) update = "update parsed_pdfs set actionscript='%s' where rowid is %s" % ( db_name, '%s') logmsg(log, "%s\n%s\n" % (cmd, update)) jsopts = default_options() jsopts.preserve_new_lines = False jsopts.break_chained_methods = True DB = DBGateway(DBin_NAME, '/media/sf_voodo_db/') DBout = DBGateway(db_name, '/media/sf_voodo_db/') if not DBout.query( 'create table if not exists clarified (pdf_md5 TEXT, js TEXT, de_js TEXT, de_js_sdhash TEXT, swf TEXT, abc TEXT, actionscript TEXT, actionscript_sdhash TEXT, primary key(pdf_md5))' ): err = DBout.get_error() logmsg(log, "%s\n" % err) sys.exit(1) ''' Create an lxml tree from the xml string ''' def tree_from_xml(xml): try: return ET.fromstring(xml) except Exception: return None '''