def process_userdid(self): """Process what user did.""" for ent in self.json: if 'type' in ent and ent['type'] == 'like': date = ent['date'][:10] guid = 'tag:vimeo,%s:clip%s' % (date, ent['video_id']) if self.verbose: print("ID: %s" % guid) try: e = Entry.objects.get(service=self.service, guid=guid) if not self.force_overwrite and e.date_updated \ and mtime(ent['date']) <= e.date_updated: continue if e.protected: continue except Entry.DoesNotExist: e = Entry(service=self.service, guid=guid) e.title = ent['video_title'] e.link = ent['video_url'] e.date_published = ent['date'] e.date_updated = ent['date'] e.author_name = ent['user_name'] e.idata = 'liked' if self.service.public: ent['video_thumbnail_medium'] = media.save_image( ent['video_thumbnail_medium']) e.content = """<table class="vc"><tr><td><div id="vimeo-%s" class="play-video"><a href="%s" rel="nofollow"><img src="%s" width="200" height="150" alt="%s" /></a><div class="playbutton"></div></div></td></tr></table>""" % ( ent['video_id'], e.link, ent['video_thumbnail_medium'], ent['video_title']) mblob = media.mrss_init() mblob['content'].append([{ 'url': 'http://vimeo.com/moogaloop.swf?clip_id=%s' % ent['video_id'], 'type': 'application/x-shockwave-flash', 'medium': 'video' }]) e.mblob = media.mrss_gen_json(mblob) try: e.save() except: pass
def process_userdid(self): """Process what user did.""" for ent in self.json: if 'type' in ent and ent['type'] == 'like': date = ent['date'][:10] guid = 'tag:vimeo,%s:clip%s' % (date, ent['video_id']) if self.verbose: print("ID: %s" % guid) try: e = Entry.objects.get(service=self.service, guid=guid) if not self.force_overwrite and e.date_updated \ and mtime(ent['date']) <= e.date_updated: continue if e.protected: continue except Entry.DoesNotExist: e = Entry(service=self.service, guid=guid) e.title = ent['video_title'] e.link = ent['video_url'] e.date_published = ent['date'] e.date_updated = ent['date'] e.author_name = ent['user_name'] e.idata = 'liked' if self.service.public: ent['video_thumbnail_medium'] = media.save_image( ent['video_thumbnail_medium']) e.content = """<table class="vc"><tr><td><div id="vimeo-%s" class="play-video"><a href="%s" rel="nofollow"><img src="%s" width="200" height="150" alt="%s" /></a><div class="playbutton"></div></div></td></tr></table>""" % ( ent['video_id'], e.link, ent['video_thumbnail_medium'], ent['video_title']) mblob = media.mrss_init() mblob[ 'content'].append([{'url': 'http://vimeo.com/moogaloop.swf?clip_id=%s' % ent['video_id'], 'type': 'application/x-shockwave-flash', 'medium': 'video'}]) e.mblob = media.mrss_gen_json(mblob) try: e.save() except: pass
def process(self): for ent in self.fp.entries: guid = ent.id if 'id' in ent else ent.link if self.verbose: print('ID: %s' % guid) try: e = Entry.objects.get(service=self.service, guid=guid) if not self.force_overwrite and 'updated_parsed' in ent: if e.date_updated and \ mtime(ent.updated_parsed) <= e.date_updated: continue if e.protected: continue except Entry.DoesNotExist: e = Entry(service=self.service, guid=guid) e.title = ent.title e.link = ent.get('feedburner_origlink', ent.get('link', '')) if 'author_detail' in ent: e.author_name = ent.author_detail.get('name', '') e.author_email = ent.author_detail.get('email', '') e.author_uri = ent.author_detail.get('href', '') else: e.author_name = ent.get('author', ent.get('creator', '')) if not e.author_name and 'author_detail' in self.fp.feed: e.author_name = self.fp.feed.author_detail.get('name', '') e.author_email = self.fp.feed.author_detail.get( 'email', '') e.author_uri = self.fp.feed.author_detail.get('href', '') try: e.content = ent.content[0].value except: e.content = ent.get('summary', ent.get('description', '')) if 'published_parsed' in ent: e.date_published = mtime(ent.published_parsed) elif 'updated_parsed' in ent: e.date_published = mtime(ent.updated_parsed) if 'updated_parsed' in ent: e.date_updated = mtime(ent.updated_parsed) if 'geo_lat' in ent and 'geo_long' in ent: e.geolat = ent.geo_lat e.geolng = ent.geo_long elif 'georss_point' in ent: geo = ent['georss_point'].split(' ') e.geolat = geo[0] e.geolng = geo[1] if 'image' in self.fp.feed: e.link_image = media.save_image(self.fp.feed.image.url) else: for link in ent.links: if link.rel == 'image' or link.rel == 'photo': e.link_image = media.save_image(link.href) if hasattr(self, 'custom_process'): self.custom_process(e, ent) if hasattr(e, 'custom_mblob'): e.mblob = e.custom_mblob else: e.mblob = None mblob = media.mrss_init(e.mblob) if 'media_content' in ent: mblob['content'].append(ent.media_content) e.mblob = media.mrss_gen_json(mblob) e.content = strip_script(e.content) try: e.save() media.extract_and_register(e) except: pass
def process(self): for key, group in groupby(self.fp.entries, lambda x: x.updated[0:19]): mblob = media.mrss_init() lgroup = 0 content = '<p class="thumbnails">\n' first = True for ent in group: lgroup += 1 if first: firstent = ent first = False if self.verbose: print("ID: %s" % ent.id) if 'media_thumbnail' in ent: tn = ent.media_thumbnail[0] if self.service.public: tn['url'] = media.save_image(tn['url']) content += """ <a href="%s" rel="nofollow"><img src="%s" width="%s" height="%s" alt="thumbnail" /></a>\n""" % ( ent.link, tn['url'], tn['width'], tn['height']) if 'media_content' in ent: mblob['content'].append(ent.media_content) ent = firstent content += '</p>' guid = 'tag:flickr.com,2004:/photo/%s' % ent.id try: e = Entry.objects.get(service=self.service, guid=ent.id) if not self.force_overwrite and 'updated_parsed' in ent: if e.date_updated and \ mtime(ent.updated_parsed) <= e.date_updated: continue if e.protected: continue except Entry.DoesNotExist: e = Entry(service=self.service, guid=ent.id) e.mblob = media.mrss_gen_json(mblob) if lgroup > 1: e.idata = 'grouped' e.link = self.service.link e.title = 'Posted Photos' e.content = content if 'published_parsed' in ent: e.date_published = mtime(ent.published_parsed) elif 'updated_parsed' in ent: e.date_published = mtime(ent.updated_parsed) if 'updated_parsed' in ent: e.date_updated = mtime(ent.updated_parsed) if 'image' in self.fp.feed: e.link_image = media.save_image(self.fp.feed.image.href) else: for link in ent.links: if link.rel == 'image': e.link_image = media.save_image(link.href) try: e.save() except: pass