Esempio n. 1
0
def create_feed(name, session=None):
	"""
	Return the named feed
	"""
	local_session = None
	created = None
	feed = None
	if not session:
		local_session = db_session()
	else:
		local_session = session
	feed = retrieve_feed(name, local_session)
	if feed:
		return (True, feed)
	try:
		feed = Feed(title=name)
		local_session.add(feed)
		local_session.commit()
		created = True
	except Exception as e:
		print "Got exception {0}".format(e)
		feed = None
		local_session.rollback()
	finally:
		if not session:
			local_session.close()
		return (created, feed)
Esempio n. 2
0
def add_feed():
    """
    Add feeds
    """
    if not request.form.get('url'):
        return redirect(url_for('index'))
    feed = Feed(request.form['url'], request.user)
    db.session.add(feed)
    db.session.commit()
    return redirect(url_for('feeds'))
Esempio n. 3
0
def create_photo_feed(feed_type, photo, photowalk=1):
    user = photo.user
    feed = Feed(photo=photo, user=user, feed_type=feed_type)
    if feed_type is 'photowalk':
        feed.photowalk = photowalk
    feed.save()
    for stalker in followers(user):
        wall = UserWall.objects.get(user=stalker)
        wall.feeds.add(feed)
        wall.save()
    return
Esempio n. 4
0
    def test_feed_model(self):
        """Does basic model work?"""

        f = Feed(name="test feed name", user_id=self.uid)

        db.session.add(f)
        db.session.commit()

        # User should have 1 feed created
        self.assertEqual(len(self.u.feeds), 1)
        self.assertEqual(self.u.feeds[0].name, "test feed name")
Esempio n. 5
0
def main() -> None:
    kv = Ingestor(KV_DIR)
    symlist = SymbolList(SYMBOLS_CSV)

    for _, symbol in symlist.next():
        if kv.get(symbol) is None:
            f = Feed(symbol, url=FEED_URL.format(symbol=symbol))
            f.refresh()
            kv.set(symbol, f)
            print("Wrote {}".format(symbol), flush=True)
            sleep(FEED_FETCH_SLEEP)

    kv.finish()
Esempio n. 6
0
def add_feed():
    title = request.form.get('title')
    url = request.form.get('url')
    delay = request.form.get('delay')
    feed = Feed()
    feed.url = url
    feed.title = title
    feed.delay = delay
    feed.latest_fetch = datetime.datetime.now()
    feed.put()
    flash(u'KeyWord add successfully~', 'success')
    flush_feed_cache()
    return redirect(url_for("admin"))
Esempio n. 7
0
def FeedFromDict(dico, config):
    dico = normalize_feed_dict(dico)
    feed = Feed(dico['url'])
    feed.title = dico['title']
    feed.link = dico['link']
    feed.subtitle = dico['subtitle']
    feed.author = dico['author']
    feed.generator = dico['generator']
    feed.encoding = dico['encoding']
    feed.updated = dico['updated']
    feed.entries_hash = dico['entries_hash']
    feed.refresh_interval = config.default_refresh_interval
    feed.max_entries = config.default_max_entries
    feed.highlight_news = config.default_highlight_news
    feed.entries_per_page = config.default_entries_per_page
    feed.has_news = False
    return feed
Esempio n. 8
0
def update_feed(feed_params, session=None):
	"""
        Updates the feed object described by feed_params
        Arguments:
          feed_params: string json formatted string that describes the 
           parameters of the feed object to create.
          session: sqlalchemy.orm.session.Session will be the session object
           to interact with the database
	"""
	local_session = None
	created = None
	feed = None
	if not session:
		local_session = db_session()
	else:
		local_session = session
	try:
		feed = Feed(**feed_params)
		existing_feed = local_session.query(Feed).filter(Feed.title == feed.title).first()
		if existing_feed:
			update_param = dict()
			print "Updating feed {0}".format(existing_feed)
			for key, value in feed_params.iteritems():
				if key != 'pub_time' and key != 'feed_uuid':
					update_param[key] = value
				elif key == 'pub_time':
					update_param[key] = existing_feed.pub_time
				else:
					update_param[key] = existing_feed.feed_uuid
			print update_param
			local_session.query(Feed).filter(Feed.title == feed.title).update(update_param)
		else:
			local_session.merge(feed)
		local_session.commit()
		created = True
	except Exception as e:
		print "Got exception {0}".format(e)
		feed = None
		local_session.rollback()
	finally:
		if not session:
			local_session.close()
		return (created, feed)
Esempio n. 9
0
def send_form(request):
    try:
        instance = Student.objects.get(email_id=request.user.email)
    except:
        instance = ''
    if request.method == 'POST':
        form = FeedbackForm(request.POST)
        if form.is_valid():
            name = request.POST.get('name', '')
            email_id = request.POST.get('email_id', '')
            query = request.POST.get('query', '')
            obj = Feed(name=name, email_id=email_id, query=query)
            obj.save()
            return index(request)
        else:
            print form.errors
    else:
        form = FeedbackForm()
    context = {'form': form, 'student': instance}
    return render(request, 'feedback1.html', context)
Esempio n. 10
0
def feed_add():
    """Add a feed:
    """

    if not g.user:
        flash("Access unauthorized.", "danger")
        return redirect("/")

    form = AddForm()

    if form.validate_on_submit():
        name = form.name.data

        feed = Feed(name=name)
        g.user.feeds.append(feed)
        db.session.commit()

        flash("Feed created", "success")

    feeds = (Feed.query.filter(Feed.user_id == g.user.id).all())

    return render_template('feeds/new.html', form=form, feeds=feeds)
Esempio n. 11
0
        with open(join(PATH, 'urls', urls_filename)) as urls:
            urls = urls.read().splitlines()
            ignored = lambda url: not url.strip().startswith('#')
            urls = filter(ignored, urls)
            urls = filter(None, urls)

        # Path to scraped feed data for this state.
        STATE_FEED_DATA = join('data', 'feeds')

        try:
            shutil.rmtree(STATE_FEED_DATA)
        except OSError:
            pass

        try:
            os.makedirs(STATE_FEED_DATA)
        except OSError:
            pass

        extractor = Extractor(abbr)
        for url in urls:
            feed = Feed(url)
            for entry in feed.entries():
                extractor.process_entry(entry.entry)
                import ipdb
                ipdb.set_trace()
                entry.finish_report(abbr)
                entry.save_if_entities_found()
            feed.finish_report()
            feed.save()
Esempio n. 12
0
            ignored = lambda url: not url.strip().startswith('#')
            urls = filter(ignored, urls)
            urls = filter(None, urls)

        # Path to scraped feed data for this state.
        STATE_FEED_DATA = join('data', 'feeds')

        try:
            shutil.rmtree(STATE_FEED_DATA)
        except OSError:
            pass

        try:
            os.makedirs(STATE_FEED_DATA)
        except OSError:
            pass

        extractor = Extractor(abbr)
        for url in urls:
            feed = Feed(url, jurisdiction=abbr)
            if not feed.is_valid():
                continue

            for entry in feed.entries():
                if entry.is_valid():
                    extractor.process_entry(entry.entry)
                    entry.finish_report(abbr)
                    entry.save_if_entities_found()
            feed.finish_report()
            feed.save()
Esempio n. 13
0
def scrape():
    feed = Feed('BBC Daily News', scrape_links())
    return feed.to_string()
Esempio n. 14
0
 def init_gae():
     f = Feed()
     f.url = 'http://money.163.com/special/00252EQ2/yaowenrss.xml'
     f.title = '要闻综合-网易财经'
     f.put()
Esempio n. 15
0
def fetch():
    tweets = api.GetSearch(raw_query="q=videnskabdk")
    filtered = filter(lambda tweet: is_from_videnskabdk(tweet), tweets)
    items = list(map(lambda tweet: tweet_to_item(tweet), filtered))
    feed = Feed('Videnskabdk', items)
    return feed.to_string()