def media_info_a1(self, media_pk: int, max_id: str = None) -> Media: """ Get Media from PK Parameters ---------- media_pk: int Unique identifier of the media max_id: str, optional Max ID, default value is None Returns ------- Media An object of Media type """ media_pk = self.media_pk(media_pk) shortcode = InstagramIdCodec.encode(media_pk) """Use Client.media_info """ params = {"max_id": max_id} if max_id else None data = self.public_a1_request( "/p/{shortcode!s}/".format(**{"shortcode": shortcode}), params=params) if not data.get("shortcode_media"): raise MediaNotFound(media_pk=media_pk, **data) return extract_media_gql(data["shortcode_media"])
def media_info_gql(self, media_pk: int) -> Media: """ Get Media from PK Parameters ---------- media_pk: int Unique identifier of the media Returns ------- Media An object of Media type """ media_pk = self.media_pk(media_pk) shortcode = InstagramIdCodec.encode(media_pk) """Use Client.media_info """ variables = { "shortcode": shortcode, "child_comment_count": 3, "fetch_comment_count": 40, "parent_comment_count": 24, "has_threaded_comments": False, } data = self.public_graphql_request( variables, query_hash="477b65a610463740ccdb83135b2014db") if not data.get("shortcode_media"): raise MediaNotFound(media_pk=media_pk, **data) if data["shortcode_media"]["location"]: data["shortcode_media"]["location"] = self.location_complete( extract_location(data["shortcode_media"]["location"])).dict() return extract_media_gql(data["shortcode_media"])
def media_code_from_pk(self, media_pk: int) -> str: """ Get Code from Media PK Parameters ---------- media_pk: int Media PK Returns ------- str Code (aka shortcode) Examples -------- 2110901750722920960 -> B1LbfVPlwIA 2278584739065882267 -> B-fKL9qpeab """ return InstagramIdCodec.encode(media_pk)
def media_pk_from_code(self, code: str) -> int: """ Get Media PK from Code Parameters ---------- code: str Code Returns ------- int Full media id Examples -------- B1LbfVPlwIA -> 2110901750722920960 B-fKL9qpeab -> 2278584739065882267 CCQQsCXjOaBfS3I2PpqsNkxElV9DXj61vzo5xs0 -> 2346448800803776129 """ return InstagramIdCodec.decode(code[:11])