From 7e8930fababf50f860a709e50567f5543903c377 Mon Sep 17 00:00:00 2001 From: Yax <1949284+kianby@users.noreply.github.com> Date: Sun, 27 Dec 2020 18:37:07 +0100 Subject: [PATCH] move package root --- .gitignore | 4 +- requirements.txt | 85 ---------------------------------- stacosys/run.py => run.py | 14 +++--- run.sh | 2 +- stacosys/__init__.py | 1 + stacosys/conf/__init__.py | 0 stacosys/core/__init__.py | 0 stacosys/core/cron.py | 8 ++-- stacosys/core/database.py | 6 +-- stacosys/core/imap.py | 2 +- stacosys/core/mailer.py | 6 +-- stacosys/core/rss.py | 8 ++-- stacosys/core/templater.py | 2 +- stacosys/interface/__init__.py | 0 stacosys/interface/api.py | 6 +-- stacosys/interface/form.py | 6 +-- stacosys/model/__init__.py | 0 stacosys/model/comment.py | 4 +- stacosys/model/site.py | 2 +- 19 files changed, 37 insertions(+), 119 deletions(-) delete mode 100644 requirements.txt rename stacosys/run.py => run.py (88%) create mode 100644 stacosys/__init__.py create mode 100644 stacosys/conf/__init__.py create mode 100644 stacosys/core/__init__.py create mode 100644 stacosys/interface/__init__.py create mode 100644 stacosys/model/__init__.py diff --git a/.gitignore b/.gitignore index 921016e..5daab63 100644 --- a/.gitignore +++ b/.gitignore @@ -64,4 +64,6 @@ comments.xml stacosys/bin/ stacosys/pyvenv.cfg stacosys/lib64 -.vscode/ \ No newline at end of file +.vscode/ +.pytest_cache/ +workspace.code-workspace diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index a049a0c..0000000 --- a/requirements.txt +++ /dev/null @@ -1,85 +0,0 @@ -apscheduler==3.6.3 \ - --hash=sha256:e8b1ecdb4c7cb2818913f766d5898183c7cb8936680710a4d3a966e02262e526 \ - --hash=sha256:3bb5229eed6fbbdafc13ce962712ae66e175aa214c69bed35a06bffcf0c5e244 -certifi==2019.11.28 \ - --hash=sha256:017c25db2a153ce562900032d5bc68e9f191e44e9a0f762f373977de9df1fbb3 \ - --hash=sha256:25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f -chardet==3.0.4 \ - --hash=sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691 \ - --hash=sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae -click==7.0 \ - --hash=sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13 \ - --hash=sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7 -flask==1.1.1 \ - --hash=sha256:45eb5a6fd193d6cf7e0cf5d8a5b31f83d5faae0293695626f539a823e93b13f6 \ - --hash=sha256:13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52 -flask-apscheduler==1.11.0 \ - --hash=sha256:7911d66e449f412d92a1a6c524217f44f4c40a5c92148c60d5189c6c402f87d0 -idna==2.8 \ - --hash=sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c \ - --hash=sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407 -itsdangerous==1.1.0 \ - --hash=sha256:b12271b2047cb23eeb98c8b5622e2e5c5e9abd9784a153e9d8ef9cb4dd09d749 \ - --hash=sha256:321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19 -jinja2==2.10.3 \ - --hash=sha256:74320bb91f31270f9551d46522e33af46a80c3d619f4a4bf42b3164d30b5911f \ - --hash=sha256:9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de -markdown==3.1.1 \ - --hash=sha256:56a46ac655704b91e5b7e6326ce43d5ef72411376588afa1dd90e881b83c7e8c \ - --hash=sha256:2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a -markupsafe==1.1.1 \ - --hash=sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161 \ - --hash=sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7 \ - --hash=sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183 \ - --hash=sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b \ - --hash=sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e \ - --hash=sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f \ - --hash=sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1 \ - --hash=sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5 \ - --hash=sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1 \ - --hash=sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735 \ - --hash=sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21 \ - --hash=sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235 \ - --hash=sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b \ - --hash=sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f \ - --hash=sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905 \ - --hash=sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1 \ - --hash=sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d \ - --hash=sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff \ - --hash=sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473 \ - --hash=sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e \ - --hash=sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66 \ - --hash=sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5 \ - --hash=sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d \ - --hash=sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e \ - --hash=sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6 \ - --hash=sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2 \ - --hash=sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c \ - --hash=sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b -peewee==3.13.1 \ - --hash=sha256:9492af4d1f8e18a7fa0e930960315b38931286ea0f1659bbd5503456cffdacde -profig==0.5.1 \ - --hash=sha256:cb9c094325a93505fc6325d13f3e679b281093223f143a96a6df8ad9c2bfc9a6 -pyrss2gen==1.1 \ - --hash=sha256:7960aed7e998d2482bf58716c316509786f596426f879b05f8d84e98b82c6ee7 -python-dateutil==2.8.1 \ - --hash=sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c \ - --hash=sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a -pytz==2019.3 \ - --hash=sha256:1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d \ - --hash=sha256:b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be -requests==2.22.0 \ - --hash=sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31 \ - --hash=sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4 -six==1.13.0 \ - --hash=sha256:1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd \ - --hash=sha256:30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66 -tzlocal==2.0.0 \ - --hash=sha256:11c9f16e0a633b4b60e1eede97d8a46340d042e67b670b290ca526576e039048 \ - --hash=sha256:949b9dd5ba4be17190a80c0268167d7e6c92c62b30026cf9764caf3e308e5590 -urllib3==1.25.7 \ - --hash=sha256:a8a318824cc77d1fd4b2bec2ded92646630d7fe8619497b142c84a9e6f5a7293 \ - --hash=sha256:f3c5fd51747d450d4dcf6f923c81f78f811aab8205fda64b0aba34a4e48b0745 -werkzeug==0.16.0 \ - --hash=sha256:e5f4a1f98b52b18a93da705a7458e55afb26f32bff83ff5d19189f92462d65c4 \ - --hash=sha256:7280924747b5733b246fe23972186c6b348f9ae29724135a6dfc1e53cea433e7 diff --git a/stacosys/run.py b/run.py similarity index 88% rename from stacosys/run.py rename to run.py index 86fd43e..04b9d8f 100644 --- a/stacosys/run.py +++ b/run.py @@ -8,7 +8,7 @@ import os from flask import Flask from flask_apscheduler import APScheduler -from conf import config +from stacosys.conf import config # configure logging @@ -35,13 +35,13 @@ class JobConfig(object): self.JOBS = [ { 'id': 'fetch_mail', - 'func': 'core.cron:fetch_mail_answers', + 'func': 'stacosys.core.cron:fetch_mail_answers', 'trigger': 'interval', 'seconds': imap_polling_seconds, }, { 'id': 'submit_new_comment', - 'func': 'core.cron:submit_new_comment', + 'func': 'stacosys.core.cron:submit_new_comment', 'trigger': 'interval', 'seconds': new_comment_polling_seconds, }, @@ -60,7 +60,7 @@ def stacosys_server(config_pathname): logging.getLogger('apscheduler.executors').level = logging.WARNING # initialize database - from core import database + from stacosys.core import database database.setup() @@ -77,16 +77,16 @@ def stacosys_server(config_pathname): logger.info('Start Stacosys application') # generate RSS for all sites - from core import rss + from stacosys.core import rss rss.generate_all() # start Flask - from interface import api + from stacosys.interface import api logger.info('Load interface %s' % api) - from interface import form + from stacosys.interface import form logger.info('Load interface %s' % form) diff --git a/run.sh b/run.sh index fb544ec..3ee772c 100755 --- a/run.sh +++ b/run.sh @@ -1,3 +1,3 @@ #!/bin/sh -python3 stacosys/run.py "$@" +python3 run.py "$@" diff --git a/stacosys/__init__.py b/stacosys/__init__.py new file mode 100644 index 0000000..1a72d32 --- /dev/null +++ b/stacosys/__init__.py @@ -0,0 +1 @@ +__version__ = '1.1.0' diff --git a/stacosys/conf/__init__.py b/stacosys/conf/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/stacosys/core/__init__.py b/stacosys/core/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/stacosys/core/cron.py b/stacosys/core/cron.py index a17af57..974ab17 100644 --- a/stacosys/core/cron.py +++ b/stacosys/core/cron.py @@ -6,10 +6,10 @@ import re import time from datetime import datetime -from core import mailer, rss -from core.templater import get_template -from model.comment import Comment, Site -from model.email import Email +from stacosys.core import mailer, rss +from stacosys.core.templater import get_template +from stacosys.model.comment import Comment, Site +from stacosys.model.email import Email logger = logging.getLogger(__name__) diff --git a/stacosys/core/database.py b/stacosys/core/database.py index 2557e7e..42ea107 100644 --- a/stacosys/core/database.py +++ b/stacosys/core/database.py @@ -3,7 +3,7 @@ from playhouse.db_url import connect -from conf import config +from stacosys.conf import config def get_db(): @@ -11,7 +11,7 @@ def get_db(): def setup(): - from model.site import Site - from model.comment import Comment + from stacosys.model.site import Site + from stacosys.model.comment import Comment get_db().create_tables([Site, Comment], safe=True) diff --git a/stacosys/core/imap.py b/stacosys/core/imap.py index e662da5..dd29d71 100755 --- a/stacosys/core/imap.py +++ b/stacosys/core/imap.py @@ -8,7 +8,7 @@ import imaplib import logging import re -from model.email import Attachment, Email, Part +from stacosys.model.email import Attachment, Email, Part filename_re = re.compile('filename="(.+)"|filename=([^;\n\r"\']+)', re.I | re.S) diff --git a/stacosys/core/mailer.py b/stacosys/core/mailer.py index 4697dc1..bf5fcc3 100644 --- a/stacosys/core/mailer.py +++ b/stacosys/core/mailer.py @@ -8,9 +8,9 @@ from email.mime.text import MIMEText import requests -from conf import config -from core import imap -from model.email import Email +from stacosys.conf import config +from stacosys.core import imap +from stacosys.model.email import Email logger = logging.getLogger(__name__) diff --git a/stacosys/core/rss.py b/stacosys/core/rss.py index eb33272..a6c3c5d 100644 --- a/stacosys/core/rss.py +++ b/stacosys/core/rss.py @@ -6,10 +6,10 @@ from datetime import datetime import markdown import PyRSS2Gen -from conf import config -from core.templater import get_template -from model.comment import Comment -from model.site import Site +from stacosys.conf import config +from stacosys.core.templater import get_template +from stacosys.model.comment import Comment +from stacosys.model.site import Site def generate_all(): diff --git a/stacosys/core/templater.py b/stacosys/core/templater.py index 40b4afc..ca7b210 100644 --- a/stacosys/core/templater.py +++ b/stacosys/core/templater.py @@ -5,7 +5,7 @@ import os from jinja2 import Environment, FileSystemLoader -from conf import config +from stacosys.conf import config current_path = os.path.dirname(__file__) template_path = os.path.abspath(os.path.join(current_path, '../templates')) diff --git a/stacosys/interface/__init__.py b/stacosys/interface/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/stacosys/interface/api.py b/stacosys/interface/api.py index 4061278..dcc63c1 100644 --- a/stacosys/interface/api.py +++ b/stacosys/interface/api.py @@ -5,9 +5,9 @@ import logging from flask import abort, jsonify, request -from conf import config -from model.comment import Comment -from model.site import Site +from stacosys.conf import config +from stacosys.model.comment import Comment +from stacosys.model.site import Site logger = logging.getLogger(__name__) app = config.flaskapp() diff --git a/stacosys/interface/form.py b/stacosys/interface/form.py index b0f6bc2..738a958 100644 --- a/stacosys/interface/form.py +++ b/stacosys/interface/form.py @@ -6,9 +6,9 @@ from datetime import datetime from flask import abort, redirect, request -from conf import config -from model.comment import Comment -from model.site import Site +from stacosys.conf import config +from stacosys.model.comment import Comment +from stacosys.model.site import Site logger = logging.getLogger(__name__) app = config.flaskapp() diff --git a/stacosys/model/__init__.py b/stacosys/model/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/stacosys/model/comment.py b/stacosys/model/comment.py index ab0015f..1ebbfad 100644 --- a/stacosys/model/comment.py +++ b/stacosys/model/comment.py @@ -6,8 +6,8 @@ from peewee import CharField from peewee import TextField from peewee import DateTimeField from peewee import ForeignKeyField -from model.site import Site -from core.database import get_db +from stacosys.model.site import Site +from stacosys.core.database import get_db from datetime import datetime diff --git a/stacosys/model/site.py b/stacosys/model/site.py index 156ebb3..bbd6091 100644 --- a/stacosys/model/site.py +++ b/stacosys/model/site.py @@ -3,7 +3,7 @@ from peewee import Model from peewee import CharField -from core.database import get_db +from stacosys.core.database import get_db class Site(Model):