aboutsummaryrefslogtreecommitdiff
path: root/src/manager.py
diff options
context:
space:
mode:
authorCédric Bonhomme <cedric@cedricbonhomme.org>2020-02-26 11:27:31 +0100
committerCédric Bonhomme <cedric@cedricbonhomme.org>2020-02-26 11:27:31 +0100
commit62b3afeeedfe054345f86093e2d243e956c1e3c9 (patch)
treebbd58f5c8c07f5d87b1c1cca73fa1d5af6178f48 /src/manager.py
parentUpdated Python dependencies. (diff)
downloadnewspipe-62b3afeeedfe054345f86093e2d243e956c1e3c9.tar.gz
newspipe-62b3afeeedfe054345f86093e2d243e956c1e3c9.tar.bz2
newspipe-62b3afeeedfe054345f86093e2d243e956c1e3c9.zip
The project is now using Poetry.
Diffstat (limited to 'src/manager.py')
-rwxr-xr-xsrc/manager.py86
1 files changed, 0 insertions, 86 deletions
diff --git a/src/manager.py b/src/manager.py
deleted file mode 100755
index 9535ac59..00000000
--- a/src/manager.py
+++ /dev/null
@@ -1,86 +0,0 @@
-#! /usr/bin/env python
-# -*- coding: utf-8 -*-
-
-import os
-import logging
-from datetime import datetime
-from werkzeug.security import generate_password_hash
-from bootstrap import application, db, conf, set_logging
-from flask_script import Manager
-from flask_migrate import Migrate, MigrateCommand
-
-import web.models
-from web.controllers import UserController
-
-logger = logging.getLogger('manager')
-
-Migrate(application, db)
-
-manager = Manager(application)
-manager.add_command('db', MigrateCommand)
-
-
-@manager.command
-def db_empty():
- "Will drop every datas stocked in db."
- with application.app_context():
- web.models.db_empty(db)
-
-
-@manager.command
-def db_create():
- "Will create the database from conf parameters."
- admin = {'is_admin': True, 'is_api': True, 'is_active': True,
- 'nickname': 'admin',
- 'pwdhash': generate_password_hash(
- os.environ.get("ADMIN_PASSWORD", "password"))}
- with application.app_context():
- db.create_all()
- UserController(ignore_context=True).create(**admin)
-
-@manager.command
-def create_admin(nickname, password):
- "Will create an admin user."
- admin = {'is_admin': True, 'is_api': True, 'is_active': True,
- 'nickname': nickname,
- 'pwdhash': generate_password_hash(password)}
- with application.app_context():
- UserController(ignore_context=True).create(**admin)
-
-@manager.command
-def fetch_asyncio(user_id=None, feed_id=None):
- "Crawl the feeds with asyncio."
- import asyncio
-
- with application.app_context():
- from crawler import default_crawler
- filters = {}
- filters['is_active'] = True
- filters['automatic_crawling'] = True
- if None is not user_id:
- filters['id'] = user_id
- users = UserController().read(**filters).all()
-
- try:
- feed_id = int(feed_id)
- except:
- feed_id = None
-
-
- loop = asyncio.get_event_loop()
- queue = asyncio.Queue(maxsize=3, loop=loop)
-
- producer_coro = default_crawler.retrieve_feed(queue, users, feed_id)
- consumer_coro = default_crawler.insert_articles(queue, 1)
-
- logger.info('Starting crawler.')
- start = datetime.now()
- loop.run_until_complete(asyncio.gather(producer_coro, consumer_coro))
- end = datetime.now()
- loop.close()
- logger.info('Crawler finished in {} seconds.' \
- .format((end - start).seconds))
-
-
-if __name__ == '__main__':
- manager.run()
bgstack15