def main(): mdc = MetaController() collection = db["av_analysis"] all_analysis = collection.find({"date": None}) count = 0 reset = 0 for analysis in all_analysis: count += 1 reset += 1 if reset == 1000: reset = 0 print("Count: %s" % count) file_id = analysis.get('sha1') date_stored = analysis.get('date') if (date_stored is not None): # mdc.save_first_seen(file_id,date_stored) #Uncoment to copy all av # dates to meta dates continue # Trying to get the best date date_registers = [ 'first_seen', 'additional_info.first_seen_itw', 'scan_date' ] for register in date_registers: vt_date = read_from_dictionary(register, analysis) if vt_date is not None: break try: # The "date" value is use to speed up time queries for av # signatures new_date = process_date(vt_date) except ValueError: new_date = None print "fix_dates_in_av: invalid date in AV_metda:" + str(vt_date) command = {"$set": {"date": new_date}} try: collection.update_one({"sha1": file_id}, command, upsert=False) except WriteError: print("**** Error File: %s ****" % (file_id, )) print(command) err = str(traceback.format_exc()) print(err) continue mdc.save_first_seen(file_id, new_date) print("%s fixed -> new date: %s" % (file_id, new_date))
def main(): mdc = MetaController() collection = db["av_analysis"] all_analysis = collection.find({"date": None}) count = 0 reset = 0 for analysis in all_analysis: count += 1 reset += 1 if reset == 1000: reset = 0 print("Count: %s" % count) file_id = analysis.get('sha1') date_stored = analysis.get('date') if(date_stored is not None): # mdc.save_first_seen(file_id,date_stored) #Uncoment to copy all av # dates to meta dates continue # Trying to get the best date date_registers = ['first_seen', 'additional_info.first_seen_itw', 'scan_date'] for register in date_registers: vt_date = read_from_dictionary(register, analysis) if vt_date is not None: break try: # The "date" value is use to speed up time queries for av # signatures new_date = process_date(vt_date) except ValueError: new_date = None print "fix_dates_in_av: invalid date in AV_metda:" + str(vt_date) command = {"$set": {"date": new_date}} try: collection.update_one({"sha1": file_id}, command, upsert=False) except WriteError: print("**** Error File: %s ****" % (file_id,)) print(command) err = str(traceback.format_exc()) print(err) continue mdc.save_first_seen(file_id, new_date) print("%s fixed -> new date: %s" % (file_id, new_date))
def update_date(file_id, date): if file_id is None or date is None: return mdc = MetaController() res = mdc.save_first_seen(file_id, date)
def update_date(file_id, date): if file_id is None or date is None: return mdc = MetaController() res = mdc.save_first_seen(file_id, date)