def cves(self): log.info('++++++++++++++++++++++++++++++++++++++++++++') log.info('正在获取 [%s] 威胁情报...' % self.NAME_CH()) old_cves = self.load_cache() try: new_cves = self.get_cves() except: new_cves = [] log.error('获取 [%s] 威胁情报异常' % self.NAME_CH()) dao = TCvesDao() sdbc = SqliteSDBC(env.DB_PATH) conn = sdbc.conn() _cves = [] for cve in new_cves: if cve.MD5() not in old_cves: _cves.append(cve) self.to_cache(cve) self.to_db(conn, dao, cve) sdbc.close() log.info('得到 [%s] 最新威胁情报 [%s] 条' % (self.NAME_CH(), len(_cves))) log.info('--------------------------------------------') return _cves
def to_page(top_limit=10): html_tpl, table_tpl, row_tpl = load_tpl() sdbc = SqliteSDBC(env.DB_PATH) conn = sdbc.conn() tables = [] srcs = query_srcs(conn) for src in srcs: cves = query_cves(conn, src, top_limit) rows = [] for cve in cves: row = row_tpl % { 'md5': cve.md5, 'id': cve.cves, 'time': cve.time, 'title': cve.title, 'url': cve.url } rows.append(row) table = table_tpl % { 'src': cves[0].src, 'top': top_limit, 'rows': '\n'.join(rows) } tables.append(table) html = html_tpl % { 'datetime': time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), 'table': '\n\n'.join(tables) } sdbc.close() create_html(html)
def init(): reload(sys) sys.setdefaultencoding(env.CHARSET) log.init() sdbc = SqliteSDBC(env.DB_PATH) sdbc.init(env.SQL_PATH)
def init(): log.init() sdbc = SqliteSDBC(env.DB_PATH) sdbc.init(env.SQL_PATH)