Ejemplo n.º 1
0
	def __init__(self, currency: str, should_use_localhost_db: bool = True):
		# make sure currency is in lower-case format
		if not currency.islower():
			raise Exception("<currency> parameter should be a lower-cased symbol of the target currency!")
		super().__init__()

		# init db
		mongodb_uri = Global.read_mongodb_uri(should_use_localhost_db)
		db_client = MongoClient(mongodb_uri)

		bithumb_db = db_client["bithumb"]
		coinone_db = db_client["coinone"]
		# korbit_db = db_client["korbit"]
		gopax_db = db_client["gopax"]
		okcoin_db = db_client["okcoin"]
		# coinnest_db = db_client["coinnest"]

		# init api
		bithumb_api = BithumbApi.instance(True)
		coinone_api = CoinoneApi.instance(True)
		# korbit_api = KorbitApi.instance(True)
		gopax_api = GopaxApi.instance(True)
		okcoin_api = OkcoinApi.instance(True)
		# coinnest_api = CoinnestApi.instance(True)

		# init currency
		bithumb_currency = BithumbCurrency[currency.upper()]
		coinone_currency = CoinoneCurrency[currency.upper()]
		# korbit_currency = KorbitCurrency[currency.upper()]
		goapx_currency = GopaxCurrency[currency.upper()]
		okcoin_currency = OkcoinCurrency[currency.upper()]
		# coinnest_currency = CoinnestCurrency[currency.upper()]

		# init collector
		self.bt_collector = Collector(
			bithumb_api, bithumb_currency, bithumb_db
		)
		self.co_collector = Collector(
			coinone_api, coinone_currency, coinone_db
		)
		# self.kb_collector = Collector(
		# 	korbit_api, korbit_currency, korbit_db
		# )
		self.go_collector = Collector(
			gopax_api, goapx_currency, gopax_db
		)
		self.oc_collector = Collector(
			okcoin_api, okcoin_currency, okcoin_db
		)
Ejemplo n.º 2
0
import logging
from config.global_conf import Global
from pymongo import MongoClient

Global.configure_default_root_logging(should_log_to_file=False, log_level=logging.INFO)
local_mongo = MongoClient(Global.read_mongodb_uri(True))
remote_mongo = MongoClient(Global.read_mongodb_uri(False))

for db_name in ["coinone", "gopax", "korbit", "bithumb", "okcoin", "coinnest"]:
    for col_name in ["bch_orderbook", "btc_orderbook", "eth_orderbook", "tron_orderbook", "xrp_orderbook",
                     "qtum_orderbook"]:

        try:
            local_target = local_mongo[db_name][col_name]
            remote_target = remote_mongo[db_name][col_name]
            from_time = local_target.find().sort([("requestTime", -1)]).limit(1)[0]["requestTime"]
            logging.info("Copying <%s.%s> from remote to local" % (db_name, col_name))
            logging.info("Local before: %d" % local_target.count())

            cursor = remote_target.find({
                "requestTime": {
                    "$gt": from_time
                }
            }).sort([("requestTime", 1)])

            for data in cursor:
                local_target.insert(data)

            logging.info("Remote added: %d" % cursor.count())
            logging.info("Local after: %d" % local_target.count())
Ejemplo n.º 3
0
 def __init__(self, should_use_localhost_db: bool):
     mongodb_uri = Global.read_mongodb_uri(should_use_localhost_db)
     self.mongo_client = MongoClient(mongodb_uri)