def CheckDatastoreList(matchrecord, records): dates_scraped = [ ] log("Checking %s" % matchrecord) drecords = retrieve(matchrecord) for drecord in drecords: dates_scraped.append(drecord.pop("date_scraped")) #del drecord["run_id"] # other choss # sort out the discrepancy of dates converting to datetimes in the datastore if type(drecord.get("date")) == datetime.datetime: # and type(record.get("date")) == datetime.date: ddate = drecord.get("date") if ddate.hour == 0 and ddate.minute == 0 and ddate.second == 0: drecord["date"] = datetime.date(ddate.year, ddate.month, ddate.day) drecords.sort() records.sort() if drecords != records: log("Error mismatch: %s != %s" % (drecords, records)) return dates_scraped
CheckDatastoreList({"C":None}, [record1, record3]) time.sleep(1) save(["B", "C"], record1a) # over-write record1 time.sleep(1) CheckDatastoreList({"C":None}, [record1a, record3]) delete({"C":None}) # now check the over-writing only changes the date_scraped if there has been a change dates_scraped1 = CheckDatastoreList({}, [record2]) time.sleep(1) save(["A"], record2) # over-write record1 dates_scraped2 = CheckDatastoreList({}, [record2]) time.sleep(1) save(["A"], record2a) # over-write record1 dates_scraped3 = CheckDatastoreList({}, [record2a]) log("what ther") time.sleep(0.2) log(str(dates_scraped1)) time.sleep(0.2) log(str(dates_scraped2)) time.sleep(0.2) log(str(dates_scraped3)) time.sleep(1) if dates_scraped1 != dates_scraped2: log("Error: dates scraped not equal") if dates_scraped2 == dates_scraped3: log("Error: dates scraped should not be equal") delete({}) time.sleep(1)