def main(): path_file_base = os.path.join('bases', 'idka_base.csv') # faz o download do csv no site da anbima url = 'http://www.anbima.com.br/informacoes/idka/IDkA-down.asp' name_download_folder = 'idka' path_download = utils.prepare_download_folder(name_download_folder) # verifica a última data disponível na base today = datetime.now().date() cal = utils.get_calendar() ultima_data_base = cal.offset(today, -6) dates_range = list(utils.datetime_range(start=ultima_data_base, end=today)) for dt_referencia in reversed(dates_range): path_file = os.path.join( path_download, dt_referencia.strftime('%Y%m%d') + '_idka.csv') download_file(url, dt_referencia, path_file) utils.remove_zero_files(name_download_folder) import_files(name_download_folder, path_file_base, ultima_data_base) # organizar o arquivo base por dt_referencia utils.generate_csv_base(path_file_base) print("Arquivos baixados com sucesso e importados para a base de dados")
def generate_racedate_folders(): racedates = [r['date'] for r in utils.get_calendar()] for racedate in racedates: print(racedate) data_dir = os.environ.get('REPLAY_AP_DATA_DIR', '/tmp') os.system('mkdir -p %(data_dir)s/%(racedate)s/national/' % { 'data_dir': data_dir, 'racedate': racedate }) os.system('touch %(data_dir)s/%(racedate)s/national/__placeholder__' % { 'data_dir': data_dir, 'racedate': racedate }) os.system( 'gsutil cp %(data_dir)s/%(racedate)s/national/__placeholder__ gs://%(bucket)s/%(path)s/' % { 'data_dir': data_dir, 'racedate': racedate, 'bucket': os.environ.get('REPLAY_AP_BUCKET', 'int.nyt.com'), 'path': os.environ.get('REPLAY_AP_BASE_PATH', 'apps/replay-ap/%s/national' % racedate) })
def main(): # apaga arquivos antigos remove_old_files() # verifica a última data disponível na base name_file_base = 'debentures_base.csv' path_file_base = os.path.join('bases', name_file_base) # verifica a última data disponível na base today = datetime.now().date() cal = utils.get_calendar() ultima_data_base = cal.offset(today, -6) dates_range = list(utils.datetime_range(start=ultima_data_base, end=today)) # faz o download do csv no site da anbima url = 'https://www.anbima.com.br/informacoes/merc-sec-debentures/arqs/db' for dt_referencia in reversed(dates_range): path_download = os.path.join('downloads') if not os.path.exists(path_download): os.makedirs(path_download) path_download = os.path.join('downloads', 'debentures') if not os.path.exists(path_download): os.makedirs(path_download) file_path = os.path.join(path_download, dt_referencia.strftime('%y%m%d') + '.txt') # faz o download do arquivo caso ele ainda não tiver sido baixado if not os.path.exists(file_path): download_file(url, dt_referencia, file_path) print("Arquivos baixados com sucesso")
def post(self, username, calendar_name): add_after_key_urlsafe = self.request.get('addAfter') user = utils.get_user_from_username(username) calendar = utils.get_calendar(user, calendar_name) num_columns = len(calendar.column_names) if add_after_key_urlsafe == 'last-row': row_index = len(calendar.row_keys) else: add_after_key = ndb.Key(urlsafe=add_after_key_urlsafe) row_index = calendar.row_keys.index(add_after_key) utils.insert_row(calendar, user, row_index) self.response.write('it worked')
def get(self, username, calendar_name): auth_user = users.get_current_user() email = self.get_auth_user_email(auth_user) user = utils.get_user_from_email(email) values = self.get_base_values(auth_user, user) calendar_user = utils.get_user_from_username(username) calendar = utils.get_calendar(calendar_user, calendar_name) values['calendar'] = calendar values['user_owns_calendar'] = calendar.owner == user.key template = self.get_template() self.response.write(template.render(values))
def main(): # apaga arquivos antigos remove_old_files() # verifica a última data disponível na base name_file_base = 'ima_quadro_resumo_base.csv' path_file_base = os.path.join('bases', name_file_base) # ultima data base dispon[ivel ultima_data_base = get_ultima_data_disponivel_base(path_file_base) print('Última data base disponível:', ultima_data_base) if (ultima_data_base is None): ultima_data_base = datetime.date(2010, 11, 17) carteiras = [ 'irf-m', 'irf-m 1', 'irf-m 1+', 'ima-b', 'ima-b 5', 'ima-b 5+', 'ima-c', 'ima-s', 'ima-geral', 'ima-geral ex-c' ] # faz o download do csv no site da anbima url = 'http://www.anbima.com.br/informacoes/ima/ima-carteira-down.asp' # verifica a última data disponível na base today = datetime.now().date() cal = utils.get_calendar() ultima_data_base = cal.offset(today, -5) dates_range = list(utils.datetime_range(start=ultima_data_base, end=today)) for dt_referencia in reversed(dates_range): for carteira in carteiras: path_download = os.path.join('downloads', carteira) if not os.path.exists(path_download): os.makedirs(path_download) file_name = os.path.join( path_download, dt_referencia.strftime('%Y%m%d') + '_' + carteira + '.csv') if utils.check_download(dt_referencia, file_name) is False: break # faz o download do arquivo caso ele ainda não tiver sido baixado if not os.path.exists(file_name): download_file_carteira(url, dt_referencia, file_name, carteira) print("Arquivos baixados com sucesso e importados para a base de dados")
def main(): # apaga arquivos antigos remove_old_files() # verifica a última data disponível na base name_file_base = 'ima_quadro_resumo_base.csv' path_file_base = os.path.join('bases', name_file_base) # ultima data base dispon[ivel ultima_data_base = get_ultima_data_disponivel_base(path_file_base) print('Última data base disponível:', ultima_data_base) if (ultima_data_base is None): ultima_data_base = datetime.date(2010, 11, 17) # faz o download do csv no site da anbima # lft url = 'http://www.anbima.com.br/informacoes/merc-sec/arqs/ms' # verifica a última data disponível na base today = datetime.now().date() cal = utils.get_calendar() ultima_data_base = cal.offset(today, -5) dates_range = list(utils.datetime_range(start=ultima_data_base, end=today)) path_download = os.path.join('downloads', 'titulos-publicos-merc-secundario') if not os.path.exists(path_download): os.makedirs(path_download) for dt_referencia in reversed(dates_range): file_path = os.path.join( path_download, dt_referencia.strftime('%Y%m%d') + '_ms_titulos-publicos.txt') # verifica se o arquivo deve ser baixado if not utils.check_download(dt_referencia, file_path): continue print(file_path) # faz o download do arquivo caso ele ainda não tiver sido baixado if not os.path.exists(file_path): download_file(url, dt_referencia, file_path) print("Arquivos baixados com sucesso")
def post(self): # checking authentication auth_user = self.get_auth_user() auth_user_email = self.get_auth_user_email(auth_user) user = utils.get_user_from_email(auth_user_email) calendar_username = self.request.get('username') if user.username != calendar_username: raise Exception('Change this to be more specific') # helpers date_format = '%Y-%m-%d' str_to_date = lambda d, s: datetime.strptime(d, s).date() # getting user input calendar_name = self.request.get('calendarName') num_days = int(self.request.get('numDays')) str_vacation_ranges = json.loads(self.request.get('vacationRanges')) str_start_date = self.request.get('startDate') # converting user input start_date = str_to_date(str_start_date, date_format) vacation_date_pairs = map(lambda pair: \ map(lambda d: \ str_to_date(d, date_format), \ pair), \ str_vacation_ranges) session_dates = self.get_session_dates(num_days, start_date, vacation_date_pairs) # inserting the rows calendar = utils.get_calendar(user, calendar_name) calendar_row_keys = calendar.row_keys calendar_rows = map(lambda k: k.get(), calendar_row_keys) self.update_dates_and_add_rows(calendar_rows, session_dates, calendar, user) self.response.out.write('wow!')