From 7c53f89ccdd92e308d14d069e2e070f7a1c2da26 Mon Sep 17 00:00:00 2001 From: jwansek Date: Mon, 27 Feb 2023 00:05:41 +0000 Subject: Added q&a page --- curiouscat.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 curiouscat.py (limited to 'curiouscat.py') diff --git a/curiouscat.py b/curiouscat.py new file mode 100644 index 0000000..90cdaf6 --- /dev/null +++ b/curiouscat.py @@ -0,0 +1,47 @@ +import datetime +import requests +import json + +def get_curiouscat_qnas_after(name, last_timestamp = None): + if last_timestamp is None: + url = "https://curiouscat.live/api/v2/profile?username=%s&count=100" % (name) + else: + url = "https://curiouscat.live/api/v2/profile?username=%s&count=100&max_timestamp=%d" % (name, last_timestamp) + + req = requests.get(url) + return req.json()["posts"] + +def get_all_curiouscat_qnas(name): + out = [] + period = get_curiouscat_qnas_after(name) + out += period + while len(period) == 100: + oldest = min([i["timestamp"] for i in period]) + period = get_curiouscat_qnas_after("jwnskanzkwk", last_timestamp = oldest - 1) + + out += period + + return post_process(out, name) + +def get_all_curiouscat_qnas_before(name, min_dt): + url = "https://curiouscat.live/api/v2/profile?username=%s&count=100&min_timestamp=%d" % (name, int(min_dt.timestamp()) + 1) + req = requests.get(url) + return post_process(req.json()["posts"], "name") + +def post_process(cc, name): + return [ + { + "id": i["id"], + "link": "https://curiouscat.me/%s/post/%d" % (name, i["id"]), + "datetime": datetime.datetime.fromtimestamp(i["timestamp"]), + "question": i["comment"], + "answer": i["reply"] + } + for i in cc + ] + +if __name__ == "__main__": + import database + + with database.Database() as db: + print(db.append_curiouscat_qnas(get_all_curiouscat_qnas_before("jwnskanzkwk", db.get_biggest_curiouscat_timestamp()))) \ No newline at end of file -- cgit v1.2.3 From cfc2bfbec443ea24f4af0027a077267771b0698f Mon Sep 17 00:00:00 2001 From: jwansek Date: Sun, 5 Mar 2023 13:40:17 +0000 Subject: Fixed bug with curiouscat URLs --- curiouscat.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'curiouscat.py') diff --git a/curiouscat.py b/curiouscat.py index 90cdaf6..531f08d 100644 --- a/curiouscat.py +++ b/curiouscat.py @@ -26,7 +26,7 @@ def get_all_curiouscat_qnas(name): def get_all_curiouscat_qnas_before(name, min_dt): url = "https://curiouscat.live/api/v2/profile?username=%s&count=100&min_timestamp=%d" % (name, int(min_dt.timestamp()) + 1) req = requests.get(url) - return post_process(req.json()["posts"], "name") + return post_process(req.json()["posts"], name) def post_process(cc, name): return [ @@ -44,4 +44,4 @@ if __name__ == "__main__": import database with database.Database() as db: - print(db.append_curiouscat_qnas(get_all_curiouscat_qnas_before("jwnskanzkwk", db.get_biggest_curiouscat_timestamp()))) \ No newline at end of file + print(db.append_curiouscat_qnas(get_all_curiouscat_qnas_before("jwnskanzkwk", db.get_biggest_curiouscat_timestamp()))) -- cgit v1.2.3