1010from dateutil .tz import tzutc
1111from pythonkc_meetups .types import MeetupEvent
1212from pythonkc_meetups .types import MeetupMember
13- from pythonkc_meetups .types import MeetupMemberPhoto
13+ from pythonkc_meetups .types import MeetupPhoto
1414from pythonkc_meetups .types import MeetupVenue
1515import datetime
1616
1717
18- def parse_event (data , attendees = None ):
18+ def parse_event (data , attendees = None , photos = None ):
1919 """
2020 Parse a ``MeetupEvent`` from the given response data.
2121
@@ -35,8 +35,9 @@ def parse_event(data, attendees=None):
3535 maybe_rsvp_count = data .get ('maybe_rsvp_count' , None ),
3636 event_url = data .get ('event_url' , None ),
3737 photo_url = data .get ('photo_url' , None ),
38- venue = parse_venue (data .get ('venue' , None )),
39- attendees = attendees
38+ venue = parse_venue (data ['venue' ]) if 'venue' in data else None ,
39+ attendees = attendees ,
40+ photos = photos
4041 )
4142
4243
@@ -46,24 +47,22 @@ def parse_venue(data):
4647
4748 Returns
4849 -------
49- A `pythonkc_meetups.types.`MeetupVenue`` if non-empty data is given,
50- otherwise ``None``.
50+ A `pythonkc_meetups.types.`MeetupVenue``.
5151
5252 """
53- if data :
54- return MeetupVenue (
55- id = data .get ('id' , None ),
56- name = data .get ('name' , None ),
57- address_1 = data .get ('address_1' , None ),
58- address_2 = data .get ('address_2' , None ),
59- address_3 = data .get ('address_3' , None ),
60- city = data .get ('city' , None ),
61- state = data .get ('state' , None ),
62- zip = data .get ('zip' , None ),
63- country = data .get ('country' , None ),
64- lat = data .get ('lat' , None ),
65- lon = data .get ('lon' , None )
66- )
53+ return MeetupVenue (
54+ id = data .get ('id' , None ),
55+ name = data .get ('name' , None ),
56+ address_1 = data .get ('address_1' , None ),
57+ address_2 = data .get ('address_2' , None ),
58+ address_3 = data .get ('address_3' , None ),
59+ city = data .get ('city' , None ),
60+ state = data .get ('state' , None ),
61+ zip = data .get ('zip' , None ),
62+ country = data .get ('country' , None ),
63+ lat = data .get ('lat' , None ),
64+ lon = data .get ('lon' , None )
65+ )
6766
6867
6968def parse_member_from_rsvp (data ):
@@ -78,33 +77,33 @@ def parse_member_from_rsvp(data):
7877 return MeetupMember (
7978 id = data ['member' ].get ('member_id' , None ),
8079 name = data ['member' ].get ('name' , None ),
81- photo = parse_member_photo (data .get ('member_photo' , None ))
80+ photo = (parse_photo (data ['member_photo' ])
81+ if 'member_photo' in data else None )
8282 )
8383
8484
85- def parse_member_photo (data ):
85+ def parse_photo (data ):
8686 """
87- Parse a ``MeetupMemberPhoto `` from the given response data.
87+ Parse a ``MeetupPhoto `` from the given response data.
8888
8989 Returns
9090 -------
91- A `pythonkc_meetups.types.`MeetupMemberPhoto`` if non-empty data is given,
92- otherwise ``None``.
91+ A `pythonkc_meetups.types.`MeetupPhoto``.
9392
9493 """
95- if data :
96- return MeetupMemberPhoto (
97- id = data .get ('id' , None ),
98- url = data .get ('photo_link' , None ),
99- highres_url = data .get ('highres_link' , None ),
100- thumb_url = data .get ('thumb_link' , None )
101- )
94+ return MeetupPhoto (
95+ id = data .get ('photo_id' , data .get ('id' , None )),
96+ url = data .get ('photo_link' , None ),
97+ highres_url = data .get ('highres_link' , None ),
98+ thumb_url = data .get ('thumb_link' , None )
99+ )
102100
103101
104102def parse_datetime (utc_timestamp_ms , utc_offset_ms ):
105103 """
106104 Create a timezone-aware ``datetime.datetime`` from the given UTC timestamp
107- (in milliseconds), if provided. Also, the offset is applied, if given.
105+ (in milliseconds), if provided. If an offest it given, it is applied to the
106+ datetime returned.
108107
109108 Parameters
110109 ----------
0 commit comments