|
|
@ -39,12 +39,18 @@ class BlueskyExtractor(Extractor):
|
|
|
|
self._metadata_facets = ("facets" in meta)
|
|
|
|
self._metadata_facets = ("facets" in meta)
|
|
|
|
|
|
|
|
|
|
|
|
self.api = BlueskyAPI(self)
|
|
|
|
self.api = BlueskyAPI(self)
|
|
|
|
self._user = None
|
|
|
|
self._user = self._user_did = None
|
|
|
|
|
|
|
|
|
|
|
|
def items(self):
|
|
|
|
def items(self):
|
|
|
|
for post in self.posts():
|
|
|
|
for post in self.posts():
|
|
|
|
if "post" in post:
|
|
|
|
if "post" in post:
|
|
|
|
post = post["post"]
|
|
|
|
post = post["post"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pid = post["uri"].rpartition("/")[2]
|
|
|
|
|
|
|
|
if self._user_did and post["author"]["did"] != self._user_did:
|
|
|
|
|
|
|
|
self.log.debug("Skipping %s (repost)", pid)
|
|
|
|
|
|
|
|
continue
|
|
|
|
|
|
|
|
|
|
|
|
post.update(post["record"])
|
|
|
|
post.update(post["record"])
|
|
|
|
del post["record"]
|
|
|
|
del post["record"]
|
|
|
|
|
|
|
|
|
|
|
@ -75,7 +81,7 @@ class BlueskyExtractor(Extractor):
|
|
|
|
if self._metadata_user:
|
|
|
|
if self._metadata_user:
|
|
|
|
post["user"] = self._user or post["author"]
|
|
|
|
post["user"] = self._user or post["author"]
|
|
|
|
|
|
|
|
|
|
|
|
post["post_id"] = post["uri"].rpartition("/")[2]
|
|
|
|
post["post_id"] = pid
|
|
|
|
post["count"] = len(images)
|
|
|
|
post["count"] = len(images)
|
|
|
|
post["date"] = text.parse_datetime(
|
|
|
|
post["date"] = text.parse_datetime(
|
|
|
|
post["createdAt"][:19], "%Y-%m-%dT%H:%M:%S")
|
|
|
|
post["createdAt"][:19], "%Y-%m-%dT%H:%M:%S")
|
|
|
@ -385,8 +391,11 @@ class BlueskyAPI():
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
did = self.resolve_handle(actor)
|
|
|
|
did = self.resolve_handle(actor)
|
|
|
|
|
|
|
|
|
|
|
|
if self.extractor._metadata_user:
|
|
|
|
extr = self.extractor
|
|
|
|
self.extractor._user = self.get_profile(did)
|
|
|
|
if not extr.config("reposts", False):
|
|
|
|
|
|
|
|
extr._user_did = did
|
|
|
|
|
|
|
|
if extr._metadata_user:
|
|
|
|
|
|
|
|
extr._user = self.get_profile(did)
|
|
|
|
|
|
|
|
|
|
|
|
return did
|
|
|
|
return did
|
|
|
|
|
|
|
|
|
|
|
|