zju 0614 v2 with background
This commit is contained in:
@ -3,6 +3,8 @@
|
||||
import logging
|
||||
from datetime import datetime, timezone, timedelta
|
||||
|
||||
TZ_BEIJING = timezone(timedelta(hours=8))
|
||||
|
||||
import requests
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@ -41,9 +43,13 @@ class MemosClient:
|
||||
return self._user_id
|
||||
|
||||
def list_memos(self, days=1, page_size=100):
|
||||
"""Fetch memos from the last N days via Connect RPC."""
|
||||
"""Fetch memos from the last N days (Beijing time reference) via Connect RPC."""
|
||||
user = self.get_user_id()
|
||||
since = (datetime.now(timezone.utc) - timedelta(days=days)).isoformat()
|
||||
# Use Beijing time as reference for "last N days"
|
||||
now_bj = datetime.now(TZ_BEIJING)
|
||||
since_bj = now_bj - timedelta(days=days)
|
||||
since_utc = since_bj.astimezone(timezone.utc)
|
||||
since = since_utc.isoformat()
|
||||
|
||||
# Connect RPC uses POST with JSON body
|
||||
payload = {
|
||||
@ -62,9 +68,8 @@ class MemosClient:
|
||||
memos = data.get("memos", [])
|
||||
logger.info("Memos API OK | fetched %d memos", len(memos))
|
||||
|
||||
# Filter by time client-side (Connect RPC filter might not work as expected)
|
||||
# Filter by time client-side (Beijing time reference)
|
||||
results = []
|
||||
since_dt = datetime.now(timezone.utc) - timedelta(days=days)
|
||||
for m in memos:
|
||||
created = m.get("createTime", "")
|
||||
try:
|
||||
@ -72,7 +77,7 @@ class MemosClient:
|
||||
except (ValueError, AttributeError):
|
||||
created_dt = datetime.now(timezone.utc)
|
||||
|
||||
if created_dt < since_dt:
|
||||
if created_dt < since_utc:
|
||||
continue
|
||||
|
||||
results.append({
|
||||
|
||||
Reference in New Issue
Block a user