def trade_account_change_password(): exchanges = request.form.getlist('exchanges[]') login_names = request.form.getlist('login_names[]') new_login_password = request.form.get('new_login_password') # TODO: add new_money_password support errors = [] for ex, name in zip(exchanges, login_names): ta = TradeAccount.query_one({'exchange': ex, 'login_name': name}) pwd = ta.login_password t = Trader(ex, name, pwd) t.change_password(new_login_password) if t.last_error: errors.append([ex, name, t.last_error]) else: ta.login_password = new_login_password ta.upsert() if errors: log.exception(str(errors)) return jsonify(status=500, reason='部分账号修改失败', details=errors) else: return jsonify(status=200, reason='')