Beispiel #1
0
def main(global_config, **settings):
    """ This function returns a Pyramid WSGI application.
    """
    #Set database up
    engine = create_engine(
        'sqlite:///../database/hegemone_dev.sqlite3',
        echo=False,
        #Avoid exception caused by sqlites poor support of multithreading.
        #This needs to be removed if the system is used by many users and when
        #another database is used.
        connect_args={'check_same_thread': False},
        poolclass=StaticPool)
    db.setup_db(engine)
    Session = sessionmaker(bind=engine)
    session = Session()

    #Set repositories up
    website_repository = WebsiteRepository(session)
    word_count_repository = WordCountRepository(session)

    #Set business logic layer up
    businessLogicLayer.websites.website_repository = website_repository
    businessLogicLayer.wordCounts.word_count_repository = word_count_repository

    #Set webserver up
    config = Configurator(settings=settings)
    config.include('pyramid_jinja2')
    config.add_static_view('static', 'static', cache_max_age=3600)
    routes.set_routes(config)
    config.scan()
    return config.make_wsgi_app()
    def setUp(self):
        engine = create_engine('sqlite:///:memory:', echo=False)
        db.setup_db(engine)

        Session = sessionmaker(bind=engine)
        self.session = Session()
        self.category_repository = CategoryRepository(self.session)
        self.website_repository = WebsiteRepository(self.session)
Beispiel #3
0
from dataAccessLayer.repositories.websiteRepository import WebsiteRepository
from dataAccessLayer.repositories.wordCountRepository import WordCountRepository
from websiteToText import converter
from textMetrices import WordFrequency
from dataAccessLayer.helper import db

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

if __name__ == "__main__":
    #Set database up
    engine = create_engine('sqlite:///../../database/hegemone_dev.sqlite3',
                            echo=False)
    db.setup_db(engine)
    Session = sessionmaker(bind=engine)
    session = Session()

    #Set repositories up
    website_repository = WebsiteRepository(session)
    word_count_repository = WordCountRepository(session)

    #Get websites
    websites = website_repository.get_all_websites()

    #Crawl websites
    for website_tuple in websites:
        raw_text = converter.get_text(website_tuple[1], 0)
        word_counts = WordFrequency.count_words(raw_text)

        #Store word counts in database
        website_id = website_tuple[0]