def use(broker, debug=True, **kwargs): """用于生成特定的券商对象 :param broker:券商名支持 ['ht', 'HT', '华泰’] ['yjb', 'YJB', ’佣金宝'] ['yh', 'YH', '银河'] ['gf', 'GF', '广发'] :param debug: 控制 debug 日志的显示, 默认为 True :param remove_zero: ht 可用参数,是否移除 08 账户开头的 0, 默认 True :return the class of trader Usage:: >>> import easytrader >>> user = easytrader.use('ht') >>> user.prepare('ht.json') """ if not debug: disable_log() if broker.lower() in ['ht', 'HT', '华泰']: return HTTrader(**kwargs) if broker.lower() in ['yjb', 'YJB', '佣金宝']: return YJBTrader() if broker.lower() in ['yh', 'YH', '银河']: return YHTrader() if broker.lower() in ['xq', 'XQ', '雪球']: return XueQiuTrader() if broker.lower() in ['gf', 'GF', '广发']: return GFTrader()
def main(prepare, use, do, get, params, debug): if get is not None: do = get if prepare is not None and use in ['ht', 'yjb', 'yh', 'gf']: user = use(use, debug) user.prepare(prepare) with open(ACCOUNT_OBJECT_FILE, 'wb') as f: dill.dump(user, f) if do is not None: with open(ACCOUNT_OBJECT_FILE, 'rb') as f: user = dill.load(f) if not debug: disable_log() if len(params) > 0: result = getattr(user, do)(*params) else: result = getattr(user, do) json_result = json.dumps(result) click.echo(json_result)