def get_main_backup_directory(): ans = get_private_config_key_value("offsystem_backup_directory") if ans is missing_data: raise Exception( "Can't backup without setting 'offsystem_backup_directory' in private_config.yaml" ) return get_resolved_pathname(ans)
def write_report_to_file(data: dataBlob, parsed_report: str, filename: str): use_directory = get_directory_for_reporting(data) use_directory_resolved = get_resolved_pathname(use_directory) full_filename = os.path.join(use_directory_resolved, filename) with open(full_filename, "w") as f: f.write(parsed_report) data.log.msg("Written report to %s" % full_filename)
def get_mongo_dump_directory(): ans = production_config.get_element_or_missing_data("mongo_dump_directory") if ans is missing_data: raise Exception( "Need to specify mongo_dump_directory production in config file" ) return get_resolved_pathname(ans)
def strip_file_names(pathname): # These won't have .csv attached resolved_pathname = get_resolved_pathname(pathname) file_names = files_with_extension_in_resolved_pathname(resolved_pathname) for filename in file_names: identifier = filename.split("_")[0] yearcode = int(identifier[len(identifier) - 2 :]) monthcode = identifier[len(identifier) - 3].upper() if yearcode > 50: year = 1900 + yearcode else: year = 2000 + yearcode month = month_from_contract_letter(monthcode) marketcode = identifier[: len(identifier) - 3].upper() instrument = market_map[marketcode] datecode = str(year) + "{0:02d}".format(month) new_file_name = "%s_%s00.csv" % (instrument, datecode) new_full_name = os.path.join(resolved_pathname, new_file_name) old_full_name = os.path.join(resolved_pathname, filename + ".csv") print("Rename %s to\n %s" % (old_full_name, new_full_name)) os.rename(old_full_name, new_full_name) return None
def get_csv_dump_dir(): ans = production_config.get_element_or_missing_data("csv_backup_directory") if ans is missing_data: raise Exception( "Need to specify csv_backup_directory in production config file" ) return get_resolved_pathname(ans)
def _generate_temp_pdf_filename(data: dataBlob) -> str: use_directory = get_directory_for_reporting(data) use_directory_resolved = get_resolved_pathname(use_directory) filename = "%s_%s.pdf" % (TEMPFILE_PATTERN, str(datetime_to_long(datetime.datetime.now()))) full_filename = os.path.join(use_directory_resolved, filename) return full_filename
def get_main_backup_directory(): ans = production_config.get_element_or_missing_data("offsystem_backup_directory") if ans is missing_data: raise Exception( "Can't backup without setting 'offsystem_backup_directory' in private_config.yaml" ) return get_resolved_pathname(ans)
def resolve_report_filename(report_config, data: dataBlob): filename_with_spaces = report_config.title filename = filename_with_spaces.replace(" ", "_") use_directory = get_directory_for_reporting(data) use_directory_resolved = get_resolved_pathname(use_directory) full_filename = os.path.join(use_directory_resolved, filename) return full_filename
def get_backtest_directory_for_strategy(strategy_name): # eg '/home/rob/data/backtests/medium_speed_TF_carry' directory_store_backtests = get_directory_store_backtests() directory_store_backtests = get_resolved_pathname( directory_store_backtests) full_directory = os.path.join(directory_store_backtests, strategy_name) return full_directory
def get_state_filename_prefix(strategy_name): directory_store_backtests = get_directory_store_backtests() directory_store_backtests = get_resolved_pathname(directory_store_backtests) full_directory = os.path.join(directory_store_backtests, strategy_name) try: os.mkdir(full_directory) except FileExistsError: pass datetime_marker = datetime.datetime.now().strftime("%Y%m%d_%H%M%S") full_filename_prefix = os.path.join(full_directory, datetime_marker) return full_filename_prefix
def get_statefile_directory(): ans = get_directory_store_backtests() return get_resolved_pathname(ans)
def get_csv_source_directory(): ans = csv_backup_dir() return get_resolved_pathname(ans)
def get_mongo_dump_directory(): ans = get_private_then_default_key_value("mongo_dump_directory") return get_resolved_pathname(ans)
def get_mongo_dump_directory(): ans = production_config.get_element_or_missing_data("mongo_dump_directory") return get_resolved_pathname(ans)