From bfd72355bd182d49b107d88a3c8d63726bff71b0 Mon Sep 17 00:00:00 2001 From: Eddie Hebert Date: Mon, 30 Sep 2013 11:51:04 -0400 Subject: [PATCH] MAINT: Remove loader_tool This utility was referring to functions that had been long since removed in the loader module. If the utility is still needed by some, it can be added back in, but using the pandas read/write instead of msgpack. --- zipline/data/loader_tool.py | 118 ------------------------------------ 1 file changed, 118 deletions(-) delete mode 100644 zipline/data/loader_tool.py diff --git a/zipline/data/loader_tool.py b/zipline/data/loader_tool.py deleted file mode 100644 index 9fb92a9c..00000000 --- a/zipline/data/loader_tool.py +++ /dev/null @@ -1,118 +0,0 @@ -# -# Copyright 2013 Quantopian, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -""" -Module for manipulating and verifying the msgpack files. - -Intended for testing update logic of msgpack files. -""" -import argparse -import datetime -import functools -import itertools -import os -import sys - -import msgpack - -import zipline.data.loader as loader -from zipline.utils.date_utils import tuple_to_date - - -DATA_SOURCES = { - 'benchmark': { - 'filename': '^GSPC_benchmark.msgpack', - 'download_func': - functools.partial(loader.dump_benchmarks, '^GSPC') - }, - 'treasury': { - 'filename': 'treasury_curves.msgpack', - 'download_func': loader.dump_treasury_curves - } -} - - -def last_date(source_name, args): - data = loader.get_saved_data(DATA_SOURCES[source_name]['filename']) - date = tuple_to_date(data[-1][0]) - print "Last saved {source_name} date is {date}".format( - source_name=source_name, date=date) - - -def drop_before_date(source_name, last_date): - """ - Loads the msgpack file for the given @source_name and drops values - up to @last_date. - - Used so that we can test logic that updates the msgpack's to download - current data if the data isn't current enough. - """ - filename = DATA_SOURCES[source_name]['filename'] - data = loader.get_saved_data(filename) - - filtered_data = itertools.takewhile( - lambda x: tuple_to_date(x[0]).date() <= last_date.date(), data) - - with loader.get_datafile(filename, mode='wb') as fp: - fp.write(msgpack.dumps(list(filtered_data))) - - -def drop_wrapper(source_name, args): - if not args.last_date: - sys.exit("Last date must be supplied for drop.") - last_date = datetime.datetime.strptime(args.last_date, "%Y-%m-%d") - - drop_before_date(source_name, last_date) - - -def force_load(source_name, args): - if not os.path.exists(loader.DATA_PATH): - os.makedirs(loader.DATA_PATH) - - filename = (DATA_SOURCES[source_name]['filename']) - - filepath = os.path.join(loader.DATA_PATH, filename) - - os.remove(filepath) - DATA_SOURCES[source_name]['download_func']() - - -ACTIONS = { - 'last_date': last_date, - 'drop_before_date': drop_wrapper, - 'force_load': force_load -} - - -def _make_parser(): - parser = argparse.ArgumentParser() - parser.add_argument('action') - parser.add_argument('--data-source', - action='append', - choices=DATA_SOURCES.keys(), - default=DATA_SOURCES.keys()) - parser.add_argument('--last-date') - return parser - - -def main(): - parser = _make_parser() - args = parser.parse_args() - - for source_name in args.data_source: - ACTIONS[args.action](source_name, args) - -if __name__ == "__main__": - main()