Files
xiaobaifupan/app/sync_data.py
T

33 lines
1.0 KiB
Python

from __future__ import annotations
import argparse
from datetime import date
from server import SERVICE, normalize_date
def main() -> None:
parser = argparse.ArgumentParser(description="Sync Xiaobai Review data to SQLite")
parser.add_argument("--account", required=True, help="Account name whose Tushare Token is used")
parser.add_argument("--date", default=date.today().isoformat(), help="Trade date: YYYY-MM-DD")
args = parser.parse_args()
user = SERVICE.database.user_by_username(args.account.strip())
if not user:
raise SystemExit("account not found")
SERVICE.bind_user(int(user["id"]))
trade_date = normalize_date(args.date)
dashboard = SERVICE.sync_dashboard(trade_date)
counts = {
key: len(dashboard.get(key) or [])
for key in ("limits", "broken", "down_limits", "yesterday_limits")
}
print(
f"sync complete: date={dashboard['meta']['trade_date']} "
f"source={dashboard['meta']['source']} counts={counts}"
)
if __name__ == "__main__":
main()