Skip to content

Commit 67461fc

Browse files
committed
fixed tests.py::ClientMediaTestCase::test_media_id
1 parent 775c04c commit 67461fc

File tree

1 file changed

+39
-3
lines changed

1 file changed

+39
-3
lines changed

instagrapi/types.py

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ class TypesBaseModel(BaseModel):
2020
def validate_external_url(cls, v):
2121
if v is None or (v.startswith("http") and "://" in v) or isinstance(v, str):
2222
return v
23-
raise ValidationError("external_url must be a URL or string") # Corrected 'been' to 'be'
23+
raise ValidationError(
24+
"external_url must be a URL or string"
25+
) # Corrected 'been' to 'be'
2426

2527

2628
class Resource(TypesBaseModel):
@@ -168,6 +170,7 @@ class Location(TypesBaseModel):
168170

169171
class SharedMediaImageCandidate(TypesBaseModel):
170172
"""Image candidate for shared media clips with video features"""
173+
171174
estimated_scans_sizes: List[int] = []
172175
height: int
173176
scans_profile: str
@@ -177,6 +180,7 @@ class SharedMediaImageCandidate(TypesBaseModel):
177180

178181
class ScrubberSpritesheetInfo(TypesBaseModel):
179182
"""Spritesheet information for video scrubbing"""
183+
180184
file_size_kb: int
181185
max_thumbnails_per_sprite: int
182186
rendered_width: int
@@ -193,58 +197,70 @@ class ScrubberSpritesheetInfo(TypesBaseModel):
193197

194198
class ScrubberSpritesheetInfoCandidates(TypesBaseModel):
195199
"""Container for spritesheet information candidates"""
200+
196201
default: ScrubberSpritesheetInfo
197202

198203

199204
class AdditionalCandidates(TypesBaseModel):
200205
"""Additional candidates structure in image_versions2"""
206+
201207
first_frame: Optional[SharedMediaImageCandidate] = None
202208
igtv_first_frame: Optional[SharedMediaImageCandidate] = None
203209
smart_frame: Optional[SharedMediaImageCandidate] = None
204210

205211

206212
class SharedMediaImageVersions(TypesBaseModel):
207213
"""Complete image_versions2 structure for shared media clips"""
214+
208215
additional_candidates: Optional[AdditionalCandidates] = None
209216
candidates: List[SharedMediaImageCandidate] = []
210-
scrubber_spritesheet_info_candidates: Optional[ScrubberSpritesheetInfoCandidates] = None
217+
scrubber_spritesheet_info_candidates: Optional[
218+
ScrubberSpritesheetInfoCandidates
219+
] = None
211220

212221

213222
class ClipsAchievementsInfo(TypesBaseModel):
214223
"""Information about achievements in clips"""
224+
215225
num_earned_achievements: Optional[int] = None
216226
show_achievements: bool = False
217227

218228

219229
class AudioReattributionInfo(TypesBaseModel):
220230
"""Audio reattribution settings"""
231+
221232
should_allow_restore: bool = False
222233

223234

224235
class ClipsAdditionalAudioInfo(TypesBaseModel):
225236
"""Additional audio information for clips"""
237+
226238
additional_audio_username: Optional[str] = None
227239
audio_reattribution_info: AudioReattributionInfo
228240

229241

230242
class ClipsAudioRankingInfo(TypesBaseModel):
231243
"""Audio ranking information for clips"""
244+
232245
best_audio_cluster_id: str
233246

234247

235248
class ClipsBrandedContentTagInfo(TypesBaseModel):
236249
"""Branded content tag information for clips"""
250+
237251
can_add_tag: bool = False
238252

239253

240254
class ClipsContentAppreciationInfo(TypesBaseModel):
241255
"""Content appreciation information for clips"""
256+
242257
enabled: bool = False
243258
entry_point_container: Optional[str] = None
244259

245260

246261
class ClipsMashupInfo(TypesBaseModel):
247262
"""Mashup information for clips"""
263+
248264
can_toggle_mashups_allowed: bool = False
249265
formatted_mashups_count: Optional[str] = None
250266
has_been_mashed_up: bool = False
@@ -263,6 +279,7 @@ class ClipsMashupInfo(TypesBaseModel):
263279

264280
class ClipsConsumptionInfo(TypesBaseModel):
265281
"""Consumption information for clips original sound"""
282+
266283
display_media_id: Optional[str] = None
267284
is_bookmarked: bool = False
268285
is_trending_in_clips: bool = False
@@ -273,11 +290,13 @@ class ClipsConsumptionInfo(TypesBaseModel):
273290

274291
class ClipsFbDownstreamUseXpostMetadata(TypesBaseModel):
275292
"""Facebook downstream use xpost metadata for clips"""
293+
276294
downstream_use_xpost_deny_reason: str = "NONE"
277295

278296

279297
class ClipsIgArtist(TypesBaseModel):
280298
"""Instagram artist information for clips original sound"""
299+
281300
pk: int
282301
pk_id: str
283302
id: str
@@ -292,6 +311,7 @@ class ClipsIgArtist(TypesBaseModel):
292311

293312
class ClipsOriginalSoundInfo(TypesBaseModel):
294313
"""Original sound information for clips"""
314+
295315
allow_creator_to_rename: bool = True
296316
audio_asset_id: int
297317
attributed_custom_audio_asset_id: Optional[int] = None
@@ -331,6 +351,7 @@ class ClipsOriginalSoundInfo(TypesBaseModel):
331351

332352
class ClipsMetadata(TypesBaseModel):
333353
"""Complete clips metadata structure for Media objects"""
354+
334355
clips_creation_entry_point: str = "clips"
335356
featured_label: Optional[str] = None
336357
is_public_chat_welcome_video: bool = False
@@ -357,7 +378,7 @@ class ClipsMetadata(TypesBaseModel):
357378
music_canonical_id: str
358379
music_info: Optional[dict] = None
359380
nux_info: Optional[dict] = None
360-
original_sound_info: ClipsOriginalSoundInfo
381+
original_sound_info: Optional[ClipsOriginalSoundInfo] = None
361382
originality_info: Optional[dict] = None
362383
reels_on_the_rise_info: Optional[dict] = None
363384
reusable_text_attribute_string: Optional[str] = None
@@ -609,6 +630,7 @@ class DirectMedia(TypesBaseModel):
609630

610631
class MessageReaction(TypesBaseModel):
611632
"""Individual emoji reaction on a direct message"""
633+
612634
timestamp: datetime
613635
client_context: Optional[str] = None
614636
sender_id: int
@@ -618,13 +640,15 @@ class MessageReaction(TypesBaseModel):
618640

619641
class MessageReactions(TypesBaseModel):
620642
"""Reactions structure for direct messages"""
643+
621644
likes: List[dict] = [] # Structure unknown from current examples
622645
likes_count: Optional[int] = 0
623646
emojis: List[MessageReaction] = []
624647

625648

626649
class LinkContext(TypesBaseModel):
627650
"""Link context metadata for direct message links"""
651+
628652
link_url: str
629653
link_title: Optional[str] = ""
630654
link_summary: Optional[str] = ""
@@ -633,6 +657,7 @@ class LinkContext(TypesBaseModel):
633657

634658
class MessageLink(TypesBaseModel):
635659
"""Link structure for direct messages"""
660+
636661
text: str
637662
link_context: LinkContext
638663
client_context: Optional[str] = None
@@ -641,13 +666,15 @@ class MessageLink(TypesBaseModel):
641666

642667
class DisappearingMessagesSeenState(TypesBaseModel):
643668
"""Disappearing messages seen state information"""
669+
644670
item_id: str
645671
timestamp: datetime
646672
created_at: datetime
647673

648674

649675
class LastSeenInfo(TypesBaseModel):
650676
"""Last seen information for a user in a direct thread"""
677+
651678
item_id: str
652679
timestamp: datetime
653680
created_at: datetime
@@ -657,11 +684,13 @@ class LastSeenInfo(TypesBaseModel):
657684

658685
class FallbackUrl(TypesBaseModel):
659686
"""Fallback URL structure for media candidates"""
687+
660688
url: str
661689

662690

663691
class DirectMessageImageCandidate(TypesBaseModel):
664692
"""Image candidate for ephemeral visual media in direct messages"""
693+
665694
width: int
666695
height: int
667696
url: str
@@ -672,11 +701,13 @@ class DirectMessageImageCandidate(TypesBaseModel):
672701

673702
class DirectMessageImageVersions(TypesBaseModel):
674703
"""Image versions for ephemeral visual media in direct messages"""
704+
675705
candidates: List[DirectMessageImageCandidate] = []
676706

677707

678708
class VideoVersion(TypesBaseModel):
679709
"""Individual video version with specific resolution and quality"""
710+
680711
id: Optional[str] = ""
681712
type: Optional[int] = None
682713
width: int
@@ -689,6 +720,7 @@ class VideoVersion(TypesBaseModel):
689720

690721
class FriendshipStatus(TypesBaseModel):
691722
"""Friendship status information for visual media user"""
723+
692724
blocking: bool = False
693725
is_messaging_only_blocking: bool = False
694726
is_messaging_pseudo_blocking: bool = False
@@ -697,6 +729,7 @@ class FriendshipStatus(TypesBaseModel):
697729

698730
class VisualMediaUser(TypesBaseModel):
699731
"""User information in visual media (enhanced UserShort)"""
732+
700733
id: str
701734
strong_id__: Optional[str] = None
702735
pk: int
@@ -724,13 +757,15 @@ class VisualMediaUser(TypesBaseModel):
724757

725758
class ExpiringMediaActionSummary(TypesBaseModel):
726759
"""Summary of expiring media actions"""
760+
727761
type: str
728762
timestamp: datetime
729763
count: int
730764

731765

732766
class VisualMediaContent(TypesBaseModel):
733767
"""Content structure for visual media (can be rich or minimal)"""
768+
734769
media_type: int # Always present: 1=image, 2=video
735770
id: Optional[str] = None
736771
media_id: Optional[int] = None
@@ -750,6 +785,7 @@ class VisualMediaContent(TypesBaseModel):
750785

751786
class VisualMedia(TypesBaseModel):
752787
"""Complete visual media structure for direct messages"""
788+
753789
media: VisualMediaContent
754790
seen_user_ids: List[str] = []
755791
seen_count: int = 0

0 commit comments

Comments
 (0)