Fix socials timestamp #50

Merged
Berack96 merged 8 commits from fix-socials-timestamp into main 2025-10-27 12:45:40 +01:00
3 changed files with 12 additions and 7 deletions
Showing only changes of commit bd19c1491a - Show all commits

View File

@@ -22,12 +22,12 @@ class SocialComment(BaseModel):
""" """
Represents a comment on a social media post. Represents a comment on a social media post.
""" """
time: str = "" timestamp: str = ""
description: str = "" description: str = ""
def set_timestamp(self, timestamp_ms: int | None = None, timestamp_s: int | None = None) -> None: def set_timestamp(self, timestamp_ms: int | None = None, timestamp_s: int | None = None) -> None:
""" Use the unified_timestamp function to set the time.""" """ Use the unified_timestamp function to set the time."""
self.time = unified_timestamp(timestamp_ms, timestamp_s) self.timestamp = unified_timestamp(timestamp_ms, timestamp_s)
class SocialWrapper: class SocialWrapper:

View File

@@ -1,15 +1,20 @@
'''
Usiamo le API di 4chan per ottenere un catalogo di threads dalla board /biz/
'''
import re import re
import html import html
import requests import requests
import warnings
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
from datetime import datetime from datetime import datetime
from app.api.core.social import * from app.api.core.social import *
# Ignora i warning di BeautifulSoup quando incontra HTML malformato o un link, mentre si aspetta un HTML completo
warnings.filterwarnings("ignore")
class ChanWrapper(SocialWrapper): class ChanWrapper(SocialWrapper):
"""
Wrapper per l'API di 4chan, in particolare per la board /biz/ (Business & Finance)
Fonte API: https://a.4cdn.org/biz/catalog.json
"""
def __init__(self): def __init__(self):
super().__init__() super().__init__()

View File

@@ -23,13 +23,13 @@ SUBREDDITS = [
def extract_post(post: Submission) -> SocialPost: def extract_post(post: Submission) -> SocialPost:
social = SocialPost() social = SocialPost()
social.set_timestamp(timestamp_ms=post.created) social.set_timestamp(timestamp_s=post.created)
social.title = post.title social.title = post.title
social.description = post.selftext social.description = post.selftext
for top_comment in post.comments: for top_comment in post.comments:
comment = SocialComment() comment = SocialComment()
comment.set_timestamp(timestamp_ms=top_comment.created) comment.set_timestamp(timestamp_s=top_comment.created)
comment.description = top_comment.body comment.description = top_comment.body
social.comments.append(comment) social.comments.append(comment)