Exemple #1
0
def test_auth():
	ca = CexAPI(get('cex.username'), get('cex.apikey'), get('cex.secret'))
	t = ca.req('balance')
	if t and 'timestamp' in t:
		print "Works!"
	else:
		logging.error("Check your configuration settings.")
Exemple #2
0
def main(argv=[]):
  args = get_parser()

  verbose = 1
  if args.verbose:
    verbose = 2
  if args.debug:
    verbose = 3

  if verbose>2:
    log_level=logging.DEBUG
  elif verbose==2:
    log_level=logging.INFO
  elif verbose==1:
    log_level=logging.WARNING
  elif verbose<1:
    log_level=logging.ERROR

  logging.basicConfig(level=log_level, format="%(asctime)s %(levelname)s: %(message)s")

  # make sure this is always above command parsing
  cexbot.config.first_run()

  if verbose == 3:
    print args

  if args.command == 'config':
    if args.list:
      return cexbot.config.list()
    elif args.edit:
      return cexbot.config.edit_config()
    elif args.testauth:
      return cexbot.config.test_auth()
    elif args.name and args.value:
      v = cexbot.config.set(args.name, args.value)
      return cexbot.config.cprint(args.name)
    elif args.name:
      return cexbot.config.cprint(args.name)
    logging.error('Invalid config option')
    return 1

  elif args.command == 'update':
    return check_update()

  if args.task == 'cleardata':
    return cexbot.config.clear_userdata()


  config = cexbot.config.get_config()
  ac = CexAPI(config.get('cex', 'username'), config.get('cex', 'apikey'), config.get('cex', 'secret'))
  dbi = DbManager()
  cx = CexMethods(ac, dbi)

  if args.task == 'getbalance':
    logging.info("Balance: %s" % ac.get_balance())
    return True

  if args.task == 'initdb':
    return dbi.initdb()

  if args.task == 'getmarket':
    return ac.get_market()

  if args.task == 'getprice':
    return ac.get_market_quote()

  if args.task == 'order':
    amount = args.amount
    price = args.price
    r = ac.place_order(amount, price)
    logging.info("Ordered: %s" % r)

  if args.task == 'updatequotes':
    logging.info('Running updatequotes')
    ticker_timer = ReqTimer(2, cx.update_ticker)
    ticker_timer.start()

  if args.task == 'buybalance':
    logging.info('Running buybalance')
    balance_timer = ReqTimer(5, ac.buy_balance)
    balance_timer.start()