new_feed = {'title':title, 'alias':alias, 'xml_url':xml_url, 'http_url':http_url, 'feed_type':feed_type} global_feed_id = add_feed_to_master_list(new_feed) if not global_feed_id: abort(500) #need to explain this in the docs user_feed_id = add_feed_to_user(user, global_feed_id) # return the resource return '%s' % user_feed_id, 201 def delete(self, username, feed_id = None): user = self.user_validate(username) if not feed_id: abort(400) uf = user.get('feeds') if not uf: abort(404) removed = False for i, feed in enumerate(uf): if feed['feed_id'] == int(feed_id): del uf[i] removed = True if not removed: abort(404) users.save(user) return '' app.add_url_rule('/feeds/<username>/', view_func=feed.as_view('feed')) app.add_url_rule('/feeds/<username>/<int:feed_id>', view_func=feed.as_view('feed_w_id'))
else: abort(401) def post(self): if signed_request(request.args, request.form): name = request.form.get('name') pid = request.form.get('pid') addr = request.form.get('addr') if name and pid and addr: if register(name, pid, addr): return '' abort(403) app.add_url_rule('/fetch/register/', view_func=fetch_register.as_view('fetch_register')) class fetch_feed(MethodView): def get(self): if not signed_request(request.args, request.form) or not registered(): abort(403) # determine how well the load is balanced. # are there any unassigned feeds? unassigned = [ x for x in feeds.find({'cat':'unassigned'}) ] app.logger.debug('%s' % unassigned) if not unassigned: return '' abort(401) # how many fetchers are alive?