def get_feed_meta(url): """I'm not entirely sure this function ever actually runs.""" logger.info('running get_feed_meta function') try: res = feedparser.parse(url, configs.get('User-Agent')) except Exception, e: logger.exception('error!') return False
def feed_request(f, get_meta=False): url = f['url'] feed_id = f['feed_id'] def time_parser(time_str, update_time=False): """ This function parses the time str from feedparser. Feeds may not always include the time for update, and published. So if it is in the feed the current time will be set for those values. If the update time is missing for the feed the function will set it to 1. If the current time is used it will end up wrong in the DB if the entry already exist in the DB. :param time_str The time str to be parsed. :param update_time Set to true if it is the update time that is parsed. :return UNIX timestamp """ if time_str is None: if update_time: return 1 else: return time.time() else: return time.mktime(time_str) res = None try: res = feedparser.parse(url, configs.get('User-Agent')) except Exception, e: logger.exception('error!')
from flask import * from flask import flash, redirect, url_for, request, g, jsonify from flask.ext.login import current_user from feedeater.config import configs as c from feedeater.controller import user_manage_feeds from feedeater.controller import user_manage_entries import logging from feedeater import setup_logger logger = logging.getLogger(__name__) setup_logger(logger) logger.setLevel(logging.DEBUG) basedir = c.get('basedir') app = Blueprint('subscriptions', __name__, static_folder=basedir+'/display/static', template_folder=basedir+'/display/templates') @app.before_request def before_blueprint_request(): logger.info("NEW SUBSCRIPTIONS.PY REQUEST") g.user = current_user ##### # Functions for all subscriptions: ##### @app.route('/refreshfeeds', methods=['POST', 'GET']) def ref_feeds():
#!../../../feed_env/bin/python import os.path from migrate.versioning import api from feedeater.config import configs REPO = configs.get('SQLALCHEMY_MIGRATE_REPO') URI = configs.get('SQLALCHEMY_DATABASE_URI') from feedeater.config import Model, engine # TODO model reference here Model.metadata.create_all(bind=engine) if not os.path.exists(REPO): api.create(REPO, 'database repository') api.version_control(URI, REPO) else: api.version_control(URI, REPO, api.version(REPO))
#add project root to PYTHONPATH: #apparently this ain't working.. from os.path import dirname from sys import path path.append(dirname(dirname(__file__))) import os.path from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy from flask.ext.login import LoginManager from flask.ext.openid import OpenID from feedeater.config import configs basedir = configs.get('basedir') logger.debug('basedir is '+ basedir) flaskapp = Flask('feedeater', static_folder=basedir+'/display/static', template_folder=basedir+'/display/templates') flaskapp.config.from_object('feedeater.config') db = SQLAlchemy(flaskapp) #import database.models lm = LoginManager() lm.init_app(flaskapp) lm.login_view = 'login' oid = OpenID(flaskapp, os.path.join(basedir, 'tmp'))