コード例 #1
0
	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')
コード例 #2
0
ファイル: pull_report.py プロジェクト: baz/app-sales-machine
	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'])
コード例 #3
0
	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()
コード例 #4
0
 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()