def build_query(model, cursor=None, start_date=None, end_date=None, limit=None): query = model.all() if cursor: query.with_cursor(cursor) if start_date: start_datetime_utc = datetime.datetime.strptime(start_date, "%Y-%m-%d") start_datetime_boston = boston_to_utc_time(start_datetime_utc) query.filter('donationTime >=', start_datetime_boston) if end_date: end_datetime_utc = datetime.datetime.strptime(end_date, "%Y-%m-%d") # we want the end of the day almost_day = datetime.timedelta(days=1) - datetime.timedelta(microseconds=1) end_datetime_utc += almost_day end_datetime_boston = boston_to_utc_time(end_datetime_utc) query.filter('donationTime <=', end_datetime_boston) query.order('donationTime') return query
def sync_tables(self, table=None): """make / update tables from models""" import model, objstore self.sql("set foreign_key_checks=0") tables = self.table_list() for modelclass in model.all(): m = modelclass({}) if (not table) or (table==m._name): if not m._name in tables: self.sql(m._create_table) else: self.repair_table(m._name, m._create_table) # update parent-child map if hasattr(m, '_parent'): self.begin() objstore.post(type="_parent_child", parent=m._parent, child=m._name) self.commit() self.sql("set foreign_key_checks=1")
def build_query(model, cursor=None, start_date=None, end_date=None, limit=None): query = model.all() if cursor: query.with_cursor(cursor) if start_date: start_datetime_utc = datetime.datetime.strptime(start_date, "%Y-%m-%d") start_datetime_boston = boston_to_utc_time(start_datetime_utc) query.filter('donationTime >=', start_datetime_boston) if end_date: end_datetime_utc = datetime.datetime.strptime(end_date, "%Y-%m-%d") # we want the end of the day almost_day = datetime.timedelta(days=1) - datetime.timedelta( microseconds=1) end_datetime_utc += almost_day end_datetime_boston = boston_to_utc_time(end_datetime_utc) query.filter('donationTime <=', end_datetime_boston) query.order('donationTime') return query