def extractSalesRankToDB(self, beginDate=datetime.today(), endDate=datetime.today()): if beginDate < datetime(2007, 1, 1) or endDate > datetime.today(): raise Exception('Invalid input date!') beginDate = dateToSaturday(beginDate) endDate = dateToSaturday(endDate) endDate = endDate - timedelta(days=7) if endDate > datetime.today() else endDate iterDate = beginDate db = DBController() while iterDate <= endDate: if db.checkSalesRankExistInDB(iterDate): iterDate = iterDate + timedelta(days = 7) continue URL = self.getURL(iterDate) chart = self.getSalesChartFromURL(URL) db.insertSalesChartToDB(iterDate, chart) iterDate = iterDate + timedelta(days = 7)