def get(self): try: # iTunes Connect stores reports with a 1 day delay now = datetime.date.today() one_day = datetime.timedelta(days=1) yesterday = now - one_day yesterday = yesterday.strftime('%m/%d/%Y') latest_report = itcscrape.getLastDayReport(settings.SETTINGS['itunesconnect_username'], settings.SETTINGS['itunesconnect_password'], yesterday) report_persister.persist(latest_report['filename'], latest_report['content']) except urlfetch.DownloadError: # Download failed most likely due to a timeout # Add to the task queue to keep trying to download the report taskqueue.add(url='/jobs/pull_report', method='GET')
def get(self): date = self.request.get("date", None) # iTunes Connect stores reports with a 1 day delay if not date: now = datetime.date.today() one_day = datetime.timedelta(days=1) yesterday = now - one_day date = yesterday.strftime('%m/%d/%Y') print date # Fetch for all available accounts for account_name in settings.ACCOUNTS: #try: latest_report = itcscrape.getLastDayReport(settings.ACCOUNTS[account_name]['itunesconnect_username'], settings.ACCOUNTS[account_name]['itunesconnect_password'], date) report_persister.persist(latest_report['filename'], latest_report['content'])
def get(self): # iTunes Connect stores reports with a 1 day delay now = datetime.date.today() one_day = datetime.timedelta(days=1) yesterday = now - one_day yesterday = yesterday.strftime('%m/%d/%Y') # Fetch for all available accounts for account_name in settings.ACCOUNTS: try: latest_report = itcscrape.getLastDayReport(settings.ACCOUNTS[account_name]['itunesconnect_username'], settings.ACCOUNTS[account_name]['itunesconnect_password'], yesterday) report_persister.persist(latest_report['filename'], latest_report['content']) except: # Download failed (timeout or report not available yet) # Send email to administrator message = mail.EmailMessage(sender=settings.SETTINGS['admin_email_address'], subject='[ASM] Report job failed for account: ' + account_name) message.to = settings.SETTINGS['admin_email_address'] message.body = 'Failed to download the iTunes Connect sales report for: ' + yesterday message.send()
def get(self): date = self.request.get("date", None) # iTunes Connect stores reports with a 1 day delay if not date: now = datetime.date.today() one_day = datetime.timedelta(days=1) yesterday = now - one_day date = yesterday.strftime('%m/%d/%Y') logging.info("Getting reports for %s" % date) # Fetch for all available accounts for account_name in settings.ACCOUNTS: try: latest_report = itcscrape.getLastDayReport(settings.ACCOUNTS[account_name]['itunesconnect_username'], settings.ACCOUNTS[account_name]['itunesconnect_password'], date) report_persister.persist(latest_report['filename'], latest_report['content']) logging.info("Suceeded fetching reports") except: # Download failed (timeout or report not available yet) # Send email to administrator logging.warn("Failed fetching report") message = mail.EmailMessage(sender=settings.SETTINGS['admin_email_address'], subject='[ASM] Report job failed for account: ' + account_name) message.to = settings.SETTINGS['admin_email_address'] message.body = 'Failed to download the iTunes Connect sales report for: ' + date message.send()