store if photo is hidden

This commit is contained in:
Christophe Benz 2010-11-19 04:38:19 +01:00 committed by Romain Bignon
commit fc9f6b439f
3 changed files with 13 additions and 3 deletions

View file

@ -301,7 +301,7 @@ class AuMBackend(BaseBackend, ICapMessages, ICapMessagesPost, ICapDating, ICapCh
if photo.url:
data = self.browser.openurl(photo.url).read()
contact.set_photo(name, data=data)
if photo.thumbnail_url:
elif photo.thumbnail_url:
data = self.browser.openurl(photo.thumbnail_url).read()
contact.set_photo(name, thumbnail_data=data)
@ -335,7 +335,8 @@ class AuMBackend(BaseBackend, ICapMessages, ICapMessagesPost, ICapDating, ICapCh
contact.status_msg = profile.get_status()
contact.summary = profile.description
for photo in profile.photos:
contact.set_photo(photo.split('/')[-1], url=photo, thumbnail_url=photo.replace('image', 'thumb1_'))
contact.set_photo(photo['url'].split('/')[-1], url=photo['url'],
thumbnail_url=photo['url'].replace('image', 'thumb1_'), shown=photo['shown'])
contact.profile = []
stats = ProfileNode('stats', 'Stats', [], flags=ProfileNode.HEAD|ProfileNode.SECTION)

View file

@ -265,7 +265,15 @@ class ProfilePage(PageBase):
if div.hasAttribute('background'):
m = self.PHOTO_REGEXP.match(div.getAttribute('background'))
if m:
self.photos += [re.sub(u'thumb[0-2]_', u'image', div.getAttribute('background'))]
self.photos.append(dict(url=re.sub(u'thumb[0-2]_', u'image', div.getAttribute('background')),
shown=True))
photo_regex = re.compile('(?P<base_url>http://.+\.adopteunmec\.com/.+/)image(?P<id>.+)\.jpg')
photo_max_id = max(int(photo_regex.match(photo['url']).groupdict()['id']) for photo in self.photos)
base_url = photo_regex.match(self.photos[0]['url']).groupdict()['base_url']
for id in xrange(1, photo_max_id + 1):
url = '%simage%s.jpg' % (base_url, id)
if not url in [photo['url'] for photo in self.photos]:
self.photos.append(dict(url=url, shown=False))
if div.hasAttribute('width') and str(div.getAttribute('width')) == '226':
trs = div.getElementsByTagName('tr')
for tr in trs:

View file

@ -41,6 +41,7 @@ class ContactPhoto(CapBaseObject):
self.add_field('data', str)
self.add_field('thumbnail_url', basestring)
self.add_field('thumbnail_data', basestring)
self.add_field('shown', bool)
def __iscomplete__(self):
return (self.data and (not self.thumbnail_url or self.thumbnail_data))