diff options
author | Wojciech Polak <polak@gnu.org> | 2019-08-13 18:51:59 +0200 |
---|---|---|
committer | Wojciech Polak <polak@gnu.org> | 2019-08-13 18:51:59 +0200 |
commit | bc0e88857ff3958abe7e4b33b4d7edc6df3c2c46 (patch) | |
tree | 27c41352aedc6ad4099cf762beb4cb731bf46954 | |
parent | 25a30112f3f16b0b37b79d7ecca742afa0e95902 (diff) | |
download | glifestream-bc0e88857ff3958abe7e4b33b4d7edc6df3c2c46.tar.gz glifestream-bc0e88857ff3958abe7e4b33b4d7edc6df3c2c46.tar.bz2 |
Fix Vimeo likes feed
-rw-r--r-- | glifestream/apis/vimeo.py | 89 |
1 files changed, 44 insertions, 45 deletions
diff --git a/glifestream/apis/vimeo.py b/glifestream/apis/vimeo.py index 83af4ff..efe226c 100644 --- a/glifestream/apis/vimeo.py +++ b/glifestream/apis/vimeo.py | |||
@@ -47,8 +47,8 @@ class API: | |||
47 | self.process = self.process_videos | 47 | self.process = self.process_videos |
48 | self.fetch('/api/v2/%s/videos.json' % self.service.url) | 48 | self.fetch('/api/v2/%s/videos.json' % self.service.url) |
49 | else: | 49 | else: |
50 | self.process = self.process_userdid | 50 | self.process = self.process_likes |
51 | self.fetch('/api/v2/activity/%s/user_did.json' % self.service.url) | 51 | self.fetch('/api/v2/%s/likes.json' % self.service.url) |
52 | self.process = self.process_videos | 52 | self.process = self.process_videos |
53 | self.fetch('/api/v2/%s/videos.json' % self.service.url) | 53 | self.fetch('/api/v2/%s/videos.json' % self.service.url) |
54 | 54 | ||
@@ -71,50 +71,49 @@ class API: | |||
71 | self.service.id, e)) | 71 | self.service.id, e)) |
72 | traceback.print_exc(file=sys.stdout) | 72 | traceback.print_exc(file=sys.stdout) |
73 | 73 | ||
74 | def process_userdid(self): | 74 | def process_likes(self): |
75 | """Process what user did.""" | 75 | """Process what user did like.""" |
76 | for ent in self.json: | 76 | for ent in self.json: |
77 | if 'type' in ent and ent['type'] == 'like': | 77 | date = ent['liked_on'][:10] |
78 | date = ent['date'][:10] | 78 | guid = 'tag:vimeo,%s:clip%s' % (date, ent['id']) |
79 | guid = 'tag:vimeo,%s:clip%s' % (date, ent['video_id']) | 79 | if self.verbose: |
80 | if self.verbose: | 80 | print("ID: %s" % guid) |
81 | print("ID: %s" % guid) | 81 | try: |
82 | try: | 82 | e = Entry.objects.get(service=self.service, guid=guid) |
83 | e = Entry.objects.get(service=self.service, guid=guid) | 83 | if not self.force_overwrite and e.date_updated \ |
84 | if not self.force_overwrite and e.date_updated \ | 84 | and mtime(ent['date']) <= e.date_updated: |
85 | and mtime(ent['date']) <= e.date_updated: | 85 | continue |
86 | continue | 86 | if e.protected: |
87 | if e.protected: | 87 | continue |
88 | continue | 88 | except Entry.DoesNotExist: |
89 | except Entry.DoesNotExist: | 89 | e = Entry(service=self.service, guid=guid) |
90 | e = Entry(service=self.service, guid=guid) | 90 | |
91 | 91 | e.title = ent['title'] | |
92 | e.title = ent['video_title'] | 92 | e.link = ent['url'] |
93 | e.link = ent['video_url'] | 93 | e.date_published = ent['liked_on'] |
94 | e.date_published = ent['date'] | 94 | e.date_updated = ent['liked_on'] |
95 | e.date_updated = ent['date'] | 95 | e.author_name = ent['user_name'] |
96 | e.author_name = ent['user_name'] | 96 | |
97 | 97 | e.idata = 'liked' | |
98 | e.idata = 'liked' | 98 | |
99 | 99 | if self.service.public: | |
100 | if self.service.public: | 100 | ent['thumbnail_large'] = media.save_image( |
101 | ent['video_thumbnail_medium'] = media.save_image( | 101 | ent['thumbnail_large'], downscale=True, size=(320, 180)) |
102 | ent['video_thumbnail_medium']) | 102 | |
103 | 103 | e.content = """<table class="vc"><tr><td><div id="vimeo-%s" class="play-video"><a href="%s" rel="nofollow"><img src="%s" width="320" height="180" alt="%s" /></a><div class="playbutton"></div></div></td></tr></table>""" % ( | |
104 | 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>""" % ( | 104 | ent['id'], e.link, ent['thumbnail_large'], ent['title']) |
105 | ent['video_id'], e.link, ent['video_thumbnail_medium'], ent['video_title']) | 105 | |
106 | 106 | mblob = media.mrss_init() | |
107 | mblob = media.mrss_init() | 107 | mblob[ |
108 | mblob[ | 108 | 'content'].append([{'url': 'https://vimeo.com/moogaloop.swf?clip_id=%s' % ent['id'], |
109 | 'content'].append([{'url': 'https://vimeo.com/moogaloop.swf?clip_id=%s' % ent['video_id'], | 109 | 'type': 'application/x-shockwave-flash', |
110 | 'type': 'application/x-shockwave-flash', | 110 | 'medium': 'video'}]) |
111 | 'medium': 'video'}]) | 111 | e.mblob = media.mrss_gen_json(mblob) |
112 | e.mblob = media.mrss_gen_json(mblob) | 112 | |
113 | 113 | try: | |
114 | try: | 114 | e.save() |
115 | e.save() | 115 | except: |
116 | except: | 116 | pass |
117 | pass | ||
118 | 117 | ||
119 | def process_videos(self): | 118 | def process_videos(self): |
120 | """Process videos uploaded by user.""" | 119 | """Process videos uploaded by user.""" |