def fetch_toplist(): """Fetch the most popular playlists""" json = [] for m in Playlist.all().filter('private =', False).order('-nr_of_followers').fetch(100): json.append(get_playlist_struct_from_playlist_model(m)) return simplejson.dumps(json)
def post(self): """Create new playlist""" youtify_user_model = get_current_youtify_user_model() if youtify_user_model == None: self.error(403) return json_playlist = simplejson.loads(self.request.get('json')) if json_playlist is None: self.error(500) playlist_model = Playlist(owner=youtify_user_model, json=None) playlist_model.private = json_playlist.get('isPrivate', False) playlist_model.tracks_json = simplejson.dumps(json_playlist['videos']) playlist_model.title = json_playlist['title'] playlist_model.put() youtify_user_model.playlists.append(playlist_model.key()) youtify_user_model.save() self.response.headers['Content-Type'] = 'application/json' self.response.out.write( simplejson.dumps( get_playlist_struct_from_playlist_model(playlist_model)))
def get(self): q = self.request.get('q') ret = [] for m in Playlist.all().search(q, properties=['title']).filter('private =', False): ret.append(get_playlist_struct_from_playlist_model(m)) self.response.headers['Content-Type'] = 'application/json' self.response.out.write(simplejson.dumps(ret))
def get(self): q = self.request.get('q').strip(' \t\n\r') if len(q) < 3: self.response.headers['Content-Type'] = 'application/json' self.response.out.write('[]') return ret = [] for m in Playlist.all().search(q, properties=['title']).filter( 'private =', False).fetch(30): ret.append(get_playlist_struct_from_playlist_model(m)) self.response.headers['Content-Type'] = 'application/json' self.response.out.write(simplejson.dumps(ret))
def create_subscribe_activity(youtify_user_model, playlist_model): """ user subscribed to playlist Both user and playlists owner gets a new activity """ target = simplejson.dumps(get_playlist_struct_from_playlist_model(playlist_model)) actor = simplejson.dumps(get_youtify_user_struct(youtify_user_model)) m = Activity(owner=youtify_user_model, verb='subscribe', actor=actor, target=target, type='outgoing') m.put() m = Activity(owner=playlist_model.owner, verb='subscribe', actor=actor, target=target, type='incoming') m.put()
def get(self): """Get playlist""" playlist_id = self.request.path.split('/')[-1] playlist_model = Playlist.get_by_id(int(playlist_id)) playlist_struct = get_playlist_struct_from_playlist_model(playlist_model) if playlist_model.private and playlist_model.owner.key() != get_current_youtify_user_model().key(): self.error(403) return if playlist_struct: self.response.headers['Content-Type'] = 'application/json' self.response.out.write(simplejson.dumps(playlist_struct)) else: self.error(404)
def post(self): """Create new playlist""" youtify_user_model = get_current_youtify_user_model() json_playlist = simplejson.loads(self.request.get('json')) if json_playlist is None: self.error(500) playlist_model = Playlist(owner=youtify_user_model, json=None) playlist_model.private = json_playlist.get('isPrivate', False) playlist_model.tracks_json = simplejson.dumps(json_playlist['videos']) playlist_model.title = json_playlist['title'] playlist_model.put() youtify_user_model.playlists.append(playlist_model.key()) youtify_user_model.save() self.response.headers['Content-Type'] = 'application/json' self.response.out.write(simplejson.dumps(get_playlist_struct_from_playlist_model(playlist_model)))
def create_subscribe_activity(youtify_user_model, playlist_model): """ user subscribed to playlist Both user and playlists owner gets a new activity """ target = simplejson.dumps( get_playlist_struct_from_playlist_model(playlist_model)) actor = simplejson.dumps(get_youtify_user_struct(youtify_user_model)) m = Activity(owner=youtify_user_model, verb='subscribe', actor=actor, target=target, type='outgoing') m.put() m = Activity(owner=playlist_model.owner, verb='subscribe', actor=actor, target=target, type='incoming') m.put()
def post(self): """Create new playlist""" youtify_user_model = get_current_youtify_user_model() if youtify_user_model == None: self.error(403) return json_playlist = simplejson.loads(self.request.get("json")) if json_playlist is None: self.error(500) playlist_model = Playlist(owner=youtify_user_model, json=None) playlist_model.private = json_playlist.get("isPrivate", False) playlist_model.tracks_json = simplejson.dumps(json_playlist["videos"]) playlist_model.title = json_playlist["title"] playlist_model.put() youtify_user_model.playlists.append(playlist_model.key()) youtify_user_model.save() self.response.headers["Content-Type"] = "application/json" self.response.out.write(simplejson.dumps(get_playlist_struct_from_playlist_model(playlist_model)))
def fetch_toplist(): """Fetch the most popular playlists""" json = [] for m in Playlist.all().filter('private =', False).order('-nr_of_followers').fetch(100): json.append(get_playlist_struct_from_playlist_model(m)) return simplejson.dumps(json)