FIX: first_seen re-stamp bug — persist true source publish date, idempotent upsert, backfill DB
This commit is contained in:
+4
-19
@@ -35,6 +35,7 @@ import urllib.error
|
||||
from datetime import datetime, timedelta, timezone
|
||||
|
||||
from adapters import SourceAdapter
|
||||
from adapters._store import true_first_seen, upsert_entries
|
||||
|
||||
|
||||
class HuggingFaceAdapter(SourceAdapter):
|
||||
@@ -328,6 +329,7 @@ class HuggingFaceAdapter(SourceAdapter):
|
||||
}
|
||||
|
||||
now_str = now.strftime("%Y-%m-%dT%H:%M:%SZ")
|
||||
first_seen = true_first_seen(raw_meta, "huggingface", now_str)
|
||||
entries.append({
|
||||
"source": "huggingface",
|
||||
"source_id": source_id,
|
||||
@@ -338,7 +340,7 @@ class HuggingFaceAdapter(SourceAdapter):
|
||||
"category_tags": json.dumps(tags),
|
||||
"signal_score": score,
|
||||
"raw_metadata": json.dumps(raw_meta),
|
||||
"first_seen": now_str,
|
||||
"first_seen": first_seen,
|
||||
"last_updated": now_str,
|
||||
})
|
||||
|
||||
@@ -374,24 +376,7 @@ if __name__ == "__main__":
|
||||
conn.commit()
|
||||
|
||||
cur = conn.cursor()
|
||||
stored = 0
|
||||
for entry in entries:
|
||||
try:
|
||||
cur.execute("""
|
||||
INSERT OR REPLACE INTO entries
|
||||
(source, source_id, url, title, extracted_text, summary,
|
||||
category_tags, signal_score, raw_metadata, first_seen, last_updated)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
""", (
|
||||
entry["source"], entry["source_id"], entry["url"], entry["title"],
|
||||
entry["extracted_text"], entry["summary"],
|
||||
entry["category_tags"], entry["signal_score"],
|
||||
entry["raw_metadata"], entry["first_seen"], entry["last_updated"],
|
||||
))
|
||||
stored += 1
|
||||
except Exception as e:
|
||||
print(f" DB error: {e}")
|
||||
|
||||
stored = upsert_entries(conn, entries)
|
||||
conn.commit()
|
||||
conn.close()
|
||||
print(f" Stored {stored} entries")
|
||||
|
||||
Reference in New Issue
Block a user