def update_exchange_rates(): exchange_table = datastore.get_table('exchange_rates') max_date = max( [r.get('date').to_datetime_utc() for r in exchange_table.query()]) start_date = max_date + datetime.timedelta(1) req_fmt_str = "http://openexchangerates.org/api/historical/{}.json?app_id=36646cf83ce04bc1af40246f9015db65" req_strs = [ req_fmt_str.format( (start_date + datetime.timedelta(i)).strftime('%Y-%m-%d')) for i in range((datetime.datetime.today() - start_date).days) ] responses = [requests.get(rs) for rs in req_strs] json_content = [json.loads(r.content) for r in responses] good_content = [{ 'date': dropbox.datastore.Date.from_datetime_utc( datetime.datetime.fromtimestamp(j['timestamp']) - datetime.timedelta(hours=23)), 'rate': j['rates']['GBP'] } for j in json_content] print(good_content) for xr in good_content: exchange_table.insert(**xr) datastore.commit()
def add_exchange_rate_date(dates): if isinstance(dates, basestring): dates = [dates] exchange_table = datastore.get_table('exchange_rates') req_fmt_str = "http://openexchangerates.org/api/historical/{}.json?app_id=36646cf83ce04bc1af40246f9015db65" req_strs = [req_fmt_str.format(date) for date in dates] responses = [requests.get(rs) for rs in req_strs] json_content = [json.loads(r.content) for r in responses] good_content = [{ 'date': dropbox.datastore.Date.from_datetime_utc(datetime.datetime.utcfromtimestamp(j['timestamp'])-datetime.timedelta(hours=23)), 'rate':j['rates']['GBP']} for j in json_content] print(good_content) for xr in good_content: exchange_table.insert(**xr) datastore.commit()
def update_exchange_rates(): exchange_table = datastore.get_table('exchange_rates') max_date = max([r.get('date').to_datetime_utc() for r in exchange_table.query()]) start_date = max_date + datetime.timedelta(1) req_fmt_str = "http://openexchangerates.org/api/historical/{}.json?app_id=36646cf83ce04bc1af40246f9015db65" req_strs = [req_fmt_str.format((start_date + datetime.timedelta(i)).strftime('%Y-%m-%d')) for i in range((datetime.datetime.today() - start_date).days)] responses = [requests.get(rs) for rs in req_strs] json_content = [json.loads(r.content) for r in responses] good_content = [{ 'date': dropbox.datastore.Date.from_datetime_utc(datetime.datetime.fromtimestamp(j['timestamp'])-datetime.timedelta(hours=23)), 'rate':j['rates']['GBP']} for j in json_content] print(good_content) for xr in good_content: exchange_table.insert(**xr) datastore.commit()
def add_exchange_rate_date(dates): if isinstance(dates, basestring): dates = [dates] exchange_table = datastore.get_table('exchange_rates') req_fmt_str = "http://openexchangerates.org/api/historical/{}.json?app_id=36646cf83ce04bc1af40246f9015db65" req_strs = [req_fmt_str.format(date) for date in dates] responses = [requests.get(rs) for rs in req_strs] json_content = [json.loads(r.content) for r in responses] good_content = [{ 'date': dropbox.datastore.Date.from_datetime_utc( datetime.datetime.utcfromtimestamp(j['timestamp']) - datetime.timedelta(hours=23)), 'rate': j['rates']['GBP'] } for j in json_content] print(good_content) for xr in good_content: exchange_table.insert(**xr) datastore.commit()
if access_token == None: app_secret = raw_input('Enter the app secret: ') flow = dropbox.client.DropboxOAuth2FlowNoRedirect(app_key, app_secret) authorize_url = flow.start() print(authorize_url) code = raw_input("Enter auth code: ").strip() access_token, user_id = flow.finish(code) print("access token: ", access_token) client = dropbox.client.DropboxClient(access_token) print('linked account: {}'.format(client.account_info()['display_name'])) manager = dropbox.datastore.DatastoreManager(client) datastore = manager.open_default_datastore() account_table = datastore.get_table('accounts') transaction_table = datastore.get_table('transactions') def choose_account(): all_accounts = list(account_table.query()) for idx, acct in enumerate(all_accounts): fields = acct.get_fields() print("{0}: {acctname} ({currency})".format(idx, **fields)) acct_num = int(raw_input("Which account? ")) return all_accounts[acct_num].get_id() #TFCU field_dict: {'Category': 3, 'Date': 1, 'Note': 2, 'credit': 5, 'debit': 4}, start_line: 4, False #Bank of America: {'Date':0, 'Note':1, 'credit':2, 'debit':2, 'Category':0}, start_line: 8, False #Barclays: {'Category': 4, 'Date': 1, 'Note': 5, 'credit': 3, 'debit': 3}, start_line: 1, False, '%d/%m/%Y'
if access_token == None: app_secret = raw_input('Enter the app secret: ') flow = dropbox.client.DropboxOAuth2FlowNoRedirect(app_key, app_secret) authorize_url = flow.start() print(authorize_url) code = raw_input("Enter auth code: ").strip() access_token, user_id = flow.finish(code) print("access token: ", access_token) client = dropbox.client.DropboxClient(access_token) print('linked account: {}'.format(client.account_info()['display_name'])) manager = dropbox.datastore.DatastoreManager(client) datastore = manager.open_default_datastore() account_table = datastore.get_table('accounts') transaction_table = datastore.get_table('transactions') def choose_account(): all_accounts = list(account_table.query()) for idx, acct in enumerate(all_accounts): fields = acct.get_fields() print("{0}: {acctname} ({currency})".format(idx,**fields)) acct_num = int(raw_input("Which account? ")) return all_accounts[acct_num].get_id() #TFCU field_dict: {'Category': 3, 'Date': 1, 'Note': 2, 'credit': 5, 'debit': 4}, start_line: 4, False #Bank of America: {'Date':0, 'Note':1, 'credit':2, 'debit':2, 'Category':0}, start_line: 8, False #Barclays: {'Category': 4, 'Date': 1, 'Note': 5, 'credit': 3, 'debit': 3}, start_line: 1, False, '%d/%m/%Y'