mirror of
https://github.com/wassname/catalyst.git
synced 2026-07-02 15:21:01 +08:00
Merge pull request #127 from quantopian/remove-core
Removes 'core' submodule.
This commit is contained in:
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
"""
|
||||
Simulator hosts all the components necessary to execute a simulation.
|
||||
See :py:method""
|
||||
"""
|
||||
|
||||
import logbook
|
||||
|
||||
log = logbook.Logger('Dev Simulator')
|
||||
|
||||
DEPRECATION_WARNING = """
|
||||
WARNING WARNING WARNING
|
||||
THE DEVSIMULATOR IS DEPRECATED, IT WILL NOT BEHAVE LIKE ANY OTHER
|
||||
SYSTEM USED IN TESTS OR IN PRODUCTION
|
||||
"""
|
||||
|
||||
|
||||
class AddressAllocator(object):
|
||||
"""
|
||||
Produces a iterator of 10000 sockets to allocate as needed.
|
||||
Emulates the API of Qexec's socket allocator.
|
||||
"""
|
||||
|
||||
def __init__(self, ns):
|
||||
self.idx = 0
|
||||
self.sockets = [
|
||||
'tcp://127.0.0.1:%s' % (10000 + n)
|
||||
for n in xrange(ns)
|
||||
]
|
||||
|
||||
def lease(self, n):
|
||||
sockets = self.sockets[self.idx: self.idx + n]
|
||||
self.idx += n
|
||||
return sockets
|
||||
|
||||
def reaquire(self, *conn):
|
||||
pass
|
||||
@@ -1,82 +0,0 @@
|
||||
import sys
|
||||
import yaml
|
||||
import argparse
|
||||
import fileinput
|
||||
from cStringIO import StringIO
|
||||
from zipline.utils.date_utils import EPOCH, date_to_datetime
|
||||
|
||||
def interpret(args):
|
||||
print 'Reading {ifile}'.format(ifile=args.file)
|
||||
|
||||
metastart = False
|
||||
metadone = False
|
||||
|
||||
metadata = StringIO()
|
||||
algorithm = StringIO()
|
||||
|
||||
for line in fileinput.input(args.file):
|
||||
if line.startswith('---'):
|
||||
if metastart:
|
||||
metastart = False
|
||||
metadone = False
|
||||
else:
|
||||
metastart = True
|
||||
metadone = False
|
||||
metadata.write(line)
|
||||
|
||||
elif metastart:
|
||||
metadata.write(line)
|
||||
else:
|
||||
algorithm.write(line)
|
||||
|
||||
#print 'Metadata:'
|
||||
#print metadata.getvalue()
|
||||
|
||||
#print 'Algorithm:'
|
||||
#print algorithm.getvalue()
|
||||
|
||||
try:
|
||||
meta = yaml.load_all(metadata.getvalue())
|
||||
except yaml.error.YAMLError, e:
|
||||
print e
|
||||
sys.exit(0)
|
||||
|
||||
try:
|
||||
meta = meta.next()
|
||||
except StopIteration:
|
||||
raise RuntimeError("No metadata in file.")
|
||||
|
||||
algocode = algorithm.getvalue()
|
||||
|
||||
start = meta['start_date']
|
||||
end = meta['end_date']
|
||||
|
||||
meta['start_date'] = EPOCH(date_to_datetime(start))
|
||||
meta['end_date'] = EPOCH(date_to_datetime(end))
|
||||
meta['algocode'] = algocode
|
||||
|
||||
print end - start
|
||||
|
||||
ns = {}
|
||||
|
||||
# -- Sanity check --
|
||||
exec(algocode) in ns
|
||||
|
||||
assert ns['initialize']
|
||||
assert ns['get_sid_filter']
|
||||
assert ns['handle_data']
|
||||
|
||||
return algocode, meta
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('file', metavar='file', help='Algorithm file.')
|
||||
args = parser.parse_args()
|
||||
|
||||
if not args.file:
|
||||
print parser.print_help()
|
||||
sys.exit(0)
|
||||
interpret(args)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user