From 28dabcb44e5a67f8dfa9f0eaecba5700d026c82b Mon Sep 17 00:00:00 2001 From: Evgeniy Alekseev Date: Sun, 15 Sep 2019 02:57:53 +0300 Subject: [PATCH] rename service to ffxivbis, add notes about venv --- README.md | 26 ++++++++++++++++--- setup.py | 10 ++++--- src/{service => ffxivbis}/__init__.py | 0 src/{service => ffxivbis}/api/__init__.py | 0 src/{service => ffxivbis}/api/auth.py | 2 +- src/{service => ffxivbis}/api/json.py | 0 src/{service => ffxivbis}/api/routes.py | 0 src/{service => ffxivbis}/api/spec.py | 22 ++++++++-------- src/{service => ffxivbis}/api/utils.py | 0 .../api/views/__init__.py | 0 .../api/views/api/__init__.py | 0 .../api/views/api/bis.py | 10 +++---- .../api/views/api/login.py | 4 +-- .../api/views/api/logout.py | 4 +-- .../api/views/api/loot.py | 10 +++---- .../api/views/api/openapi.py | 2 +- .../api/views/api/player.py | 6 ++--- .../api/views/common/__init__.py | 0 .../api/views/common/bis_base.py | 8 +++--- .../api/views/common/login_base.py | 2 +- .../api/views/common/loot_base.py | 6 ++--- .../api/views/common/player_base.py | 8 +++--- .../api/views/html/__init__.py | 0 .../api/views/html/api.py | 0 .../api/views/html/bis.py | 10 +++---- .../api/views/html/index.py | 0 .../api/views/html/loot.py | 12 ++++----- .../api/views/html/loot_suggest.py | 12 ++++----- .../api/views/html/player.py | 8 +++--- .../api/views/html/static.py | 0 .../api/views/html/users.py | 6 ++--- src/{service => ffxivbis}/api/web.py | 8 +++--- .../application/__init__.py | 0 .../application/application.py | 2 +- src/{service => ffxivbis}/application/core.py | 12 ++++----- src/{service => ffxivbis}/core/__init__.py | 0 .../core/ariyala_parser.py | 2 +- src/{service => ffxivbis}/core/config.py | 0 src/{service => ffxivbis}/core/database.py | 10 +++---- src/{service => ffxivbis}/core/exceptions.py | 0 .../core/loot_selector.py | 6 ++--- src/{service => ffxivbis}/core/party.py | 6 ++--- src/{service => ffxivbis}/core/postgres.py | 14 +++++----- src/{service => ffxivbis}/core/sqlite.py | 14 +++++----- .../core/sqlite_helper.py | 0 src/{service => ffxivbis}/core/version.py | 0 src/{service => ffxivbis}/models/__init__.py | 0 src/{service => ffxivbis}/models/action.py | 0 src/{service => ffxivbis}/models/bis.py | 0 src/{service => ffxivbis}/models/error.py | 0 src/{service => ffxivbis}/models/job.py | 0 src/{service => ffxivbis}/models/loot.py | 0 src/{service => ffxivbis}/models/piece.py | 2 +- src/{service => ffxivbis}/models/player.py | 0 .../models/player_edit.py | 0 .../models/serializable.py | 0 src/{service => ffxivbis}/models/upgrade.py | 0 src/{service => ffxivbis}/models/user.py | 0 test/conftest.py | 22 ++++++++-------- test/test_ariyala.py | 6 ++--- test/test_bis.py | 6 ++--- test/test_loot_selector.py | 6 ++--- test/test_party.py | 8 +++--- test/test_piece.py | 2 +- test/test_player.py | 4 +-- test/test_view_bis.py | 8 +++--- test/test_view_loot.py | 8 +++--- test/test_view_player.py | 8 +++--- 68 files changed, 172 insertions(+), 150 deletions(-) rename src/{service => ffxivbis}/__init__.py (100%) rename src/{service => ffxivbis}/api/__init__.py (100%) rename src/{service => ffxivbis}/api/auth.py (97%) rename src/{service => ffxivbis}/api/json.py (100%) rename src/{service => ffxivbis}/api/routes.py (100%) rename src/{service => ffxivbis}/api/spec.py (83%) rename src/{service => ffxivbis}/api/utils.py (100%) rename src/{service => ffxivbis}/api/views/__init__.py (100%) rename src/{service => ffxivbis}/api/views/api/__init__.py (100%) rename src/{service => ffxivbis}/api/views/api/bis.py (94%) rename src/{service => ffxivbis}/api/views/api/login.py (96%) rename src/{service => ffxivbis}/api/views/api/logout.py (90%) rename src/{service => ffxivbis}/api/views/api/loot.py (94%) rename src/{service => ffxivbis}/api/views/api/openapi.py (99%) rename src/{service => ffxivbis}/api/views/api/player.py (94%) rename src/{service => ffxivbis}/api/views/common/__init__.py (100%) rename src/{service => ffxivbis}/api/views/common/bis_base.py (90%) rename src/{service => ffxivbis}/api/views/common/login_base.py (97%) rename src/{service => ffxivbis}/api/views/common/loot_base.py (89%) rename src/{service => ffxivbis}/api/views/common/player_base.py (89%) rename src/{service => ffxivbis}/api/views/html/__init__.py (100%) rename src/{service => ffxivbis}/api/views/html/api.py (100%) rename src/{service => ffxivbis}/api/views/html/bis.py (90%) rename src/{service => ffxivbis}/api/views/html/index.py (100%) rename src/{service => ffxivbis}/api/views/html/loot.py (86%) rename src/{service => ffxivbis}/api/views/html/loot_suggest.py (85%) rename src/{service => ffxivbis}/api/views/html/player.py (89%) rename src/{service => ffxivbis}/api/views/html/static.py (100%) rename src/{service => ffxivbis}/api/views/html/users.py (91%) rename src/{service => ffxivbis}/api/web.py (91%) rename src/{service => ffxivbis}/application/__init__.py (100%) rename src/{service => ffxivbis}/application/application.py (93%) rename src/{service => ffxivbis}/application/core.py (78%) rename src/{service => ffxivbis}/core/__init__.py (100%) rename src/{service => ffxivbis}/core/ariyala_parser.py (98%) rename src/{service => ffxivbis}/core/config.py (100%) rename src/{service => ffxivbis}/core/database.py (94%) rename src/{service => ffxivbis}/core/exceptions.py (100%) rename src/{service => ffxivbis}/core/loot_selector.py (88%) rename src/{service => ffxivbis}/core/party.py (94%) rename src/{service => ffxivbis}/core/postgres.py (95%) rename src/{service => ffxivbis}/core/sqlite.py (95%) rename src/{service => ffxivbis}/core/sqlite_helper.py (100%) rename src/{service => ffxivbis}/core/version.py (100%) rename src/{service => ffxivbis}/models/__init__.py (100%) rename src/{service => ffxivbis}/models/action.py (100%) rename src/{service => ffxivbis}/models/bis.py (100%) rename src/{service => ffxivbis}/models/error.py (100%) rename src/{service => ffxivbis}/models/job.py (100%) rename src/{service => ffxivbis}/models/loot.py (100%) rename src/{service => ffxivbis}/models/piece.py (98%) rename src/{service => ffxivbis}/models/player.py (100%) rename src/{service => ffxivbis}/models/player_edit.py (100%) rename src/{service => ffxivbis}/models/serializable.py (100%) rename src/{service => ffxivbis}/models/upgrade.py (100%) rename src/{service => ffxivbis}/models/user.py (100%) diff --git a/README.md b/README.md index c0cebf4..4626fff 100644 --- a/README.md +++ b/README.md @@ -9,14 +9,23 @@ This service requires python >= 3.7. For other dependencies see `setup.py`. In general installation process looks like: ```bash -python setup.py build +python setup.py build install python setup.py test # if you want to run tests ``` -Service can be run from `src` directory by using command: +With virtualenv (make sure that virtualenv package was installed) the process may look like: ```bash -python -m service.application.application +virtualenv -p python3.7 env +source env/bin/activate +python setup.py install +pip install aiosqlite # setup.py does not handle extras +``` + +Service can be run by using command (if you don't use virtualenv, you have to run it from `src` directory): + +```bash +python -m ffxivbis.application.application ``` To see all available options type `--help`. @@ -27,6 +36,17 @@ REST API documentation is available at `http://0.0.0.0:8000/api-docs`. HTML repr *Note*: host and port depend on configuration settings. +### Authorization + +Default admin user is `admin:qwerty`, but it may be changed by generating new hash, e.g.: + +```python +from passlib.hash import md5_crypt +md5_crypt.hash('newstrongpassword') +``` + +and add new password to configuration. + ## Configuration * `settings` section diff --git a/setup.py b/setup.py index 998e71f..19f8332 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ from os import path here = path.abspath(path.dirname(__file__)) metadata = dict() -with open(convert_path('src/service/core/version.py')) as metadata_file: +with open(convert_path('src/ffxivbis/core/version.py')) as metadata_file: exec(metadata_file.read(), metadata) @@ -22,13 +22,15 @@ setup( license='BSD', - packages=find_packages(exclude=['contrib', 'docs', 'tests']), + package_dir={'': 'src'}, + packages=find_packages(where='src', exclude=['contrib', 'docs', 'test']), install_requires=[ - 'aiohttp', + 'aiohttp==3.6.0', 'aiohttp_jinja2', 'aiohttp_security', 'apispec', + 'iniherit', 'Jinja2', 'passlib', 'requests', @@ -44,7 +46,7 @@ setup( include_package_data=True, extras_require={ - 'Postgresql': ['aiopg'], + 'Postgresql': ['asyncpg'], 'SQLite': ['aiosqlite'], 'test': ['coverage', 'pytest'], }, diff --git a/src/service/__init__.py b/src/ffxivbis/__init__.py similarity index 100% rename from src/service/__init__.py rename to src/ffxivbis/__init__.py diff --git a/src/service/api/__init__.py b/src/ffxivbis/api/__init__.py similarity index 100% rename from src/service/api/__init__.py rename to src/ffxivbis/api/__init__.py diff --git a/src/service/api/auth.py b/src/ffxivbis/api/auth.py similarity index 97% rename from src/service/api/auth.py rename to src/ffxivbis/api/auth.py index defb068..efff86e 100644 --- a/src/service/api/auth.py +++ b/src/ffxivbis/api/auth.py @@ -10,7 +10,7 @@ from aiohttp.web import middleware, Request, Response from aiohttp_security import AbstractAuthorizationPolicy, check_permission from typing import Callable, Optional -from service.core.database import Database +from ffxivbis.core.database import Database class AuthorizationPolicy(AbstractAuthorizationPolicy): diff --git a/src/service/api/json.py b/src/ffxivbis/api/json.py similarity index 100% rename from src/service/api/json.py rename to src/ffxivbis/api/json.py diff --git a/src/service/api/routes.py b/src/ffxivbis/api/routes.py similarity index 100% rename from src/service/api/routes.py rename to src/ffxivbis/api/routes.py diff --git a/src/service/api/spec.py b/src/ffxivbis/api/spec.py similarity index 83% rename from src/service/api/spec.py rename to src/ffxivbis/api/spec.py index 2c05279..42fff69 100644 --- a/src/service/api/spec.py +++ b/src/ffxivbis/api/spec.py @@ -9,17 +9,17 @@ from aiohttp.web import Application from apispec import APISpec -from service.core.version import __version__ -from service.models.action import Action -from service.models.bis import BiS, BiSLink -from service.models.error import Error -from service.models.job import Job -from service.models.loot import Loot -from service.models.piece import Piece -from service.models.player import Player, PlayerId, PlayerIdWithCounters -from service.models.player_edit import PlayerEdit -from service.models.upgrade import Upgrade -from service.models.user import User +from ffxivbis.core.version import __version__ +from ffxivbis.models.action import Action +from ffxivbis.models.bis import BiS, BiSLink +from ffxivbis.models.error import Error +from ffxivbis.models.job import Job +from ffxivbis.models.loot import Loot +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import Player, PlayerId, PlayerIdWithCounters +from ffxivbis.models.player_edit import PlayerEdit +from ffxivbis.models.upgrade import Upgrade +from ffxivbis.models.user import User def get_spec(app: Application) -> APISpec: diff --git a/src/service/api/utils.py b/src/ffxivbis/api/utils.py similarity index 100% rename from src/service/api/utils.py rename to src/ffxivbis/api/utils.py diff --git a/src/service/api/views/__init__.py b/src/ffxivbis/api/views/__init__.py similarity index 100% rename from src/service/api/views/__init__.py rename to src/ffxivbis/api/views/__init__.py diff --git a/src/service/api/views/api/__init__.py b/src/ffxivbis/api/views/api/__init__.py similarity index 100% rename from src/service/api/views/api/__init__.py rename to src/ffxivbis/api/views/api/__init__.py diff --git a/src/service/api/views/api/bis.py b/src/ffxivbis/api/views/api/bis.py similarity index 94% rename from src/service/api/views/api/bis.py rename to src/ffxivbis/api/views/api/bis.py index 8a84a38..7393f33 100644 --- a/src/service/api/views/api/bis.py +++ b/src/ffxivbis/api/views/api/bis.py @@ -9,12 +9,12 @@ from aiohttp.web import Response from typing import Any, Dict, List, Optional, Type -from service.models.job import Job -from service.models.piece import Piece -from service.models.player import PlayerId +from ffxivbis.models.job import Job +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import PlayerId -from service.api.utils import wrap_exception, wrap_invalid_param, wrap_json -from service.api.views.common.bis_base import BiSBaseView +from ffxivbis.api.utils import wrap_exception, wrap_invalid_param, wrap_json +from ffxivbis.api.views.common.bis_base import BiSBaseView from .openapi import OpenApi diff --git a/src/service/api/views/api/login.py b/src/ffxivbis/api/views/api/login.py similarity index 96% rename from src/service/api/views/api/login.py rename to src/ffxivbis/api/views/api/login.py index 4595c18..29194aa 100644 --- a/src/service/api/views/api/login.py +++ b/src/ffxivbis/api/views/api/login.py @@ -9,8 +9,8 @@ from aiohttp.web import Response from typing import Any, Dict, List, Optional, Type -from service.api.utils import wrap_exception, wrap_invalid_param, wrap_json -from service.api.views.common.login_base import LoginBaseView +from ffxivbis.api.utils import wrap_exception, wrap_invalid_param, wrap_json +from ffxivbis.api.views.common.login_base import LoginBaseView from .openapi import OpenApi diff --git a/src/service/api/views/api/logout.py b/src/ffxivbis/api/views/api/logout.py similarity index 90% rename from src/service/api/views/api/logout.py rename to src/ffxivbis/api/views/api/logout.py index bb6e483..3cbcc57 100644 --- a/src/service/api/views/api/logout.py +++ b/src/ffxivbis/api/views/api/logout.py @@ -6,8 +6,8 @@ from aiohttp.web import Response from typing import Any, Dict, List, Optional, Type -from service.api.utils import wrap_exception, wrap_json -from service.api.views.common.login_base import LoginBaseView +from ffxivbis.api.utils import wrap_exception, wrap_json +from ffxivbis.api.views.common.login_base import LoginBaseView from .openapi import OpenApi diff --git a/src/service/api/views/api/loot.py b/src/ffxivbis/api/views/api/loot.py similarity index 94% rename from src/service/api/views/api/loot.py rename to src/ffxivbis/api/views/api/loot.py index 8054b56..9e437da 100644 --- a/src/service/api/views/api/loot.py +++ b/src/ffxivbis/api/views/api/loot.py @@ -9,12 +9,12 @@ from aiohttp.web import Response from typing import Any, Dict, List, Optional, Type -from service.models.job import Job -from service.models.piece import Piece -from service.models.player import PlayerId +from ffxivbis.models.job import Job +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import PlayerId -from service.api.utils import wrap_exception, wrap_invalid_param, wrap_json -from service.api.views.common.loot_base import LootBaseView +from ffxivbis.api.utils import wrap_exception, wrap_invalid_param, wrap_json +from ffxivbis.api.views.common.loot_base import LootBaseView from .openapi import OpenApi diff --git a/src/service/api/views/api/openapi.py b/src/ffxivbis/api/views/api/openapi.py similarity index 99% rename from src/service/api/views/api/openapi.py rename to src/ffxivbis/api/views/api/openapi.py index 1ce8f60..bcf02ac 100644 --- a/src/service/api/views/api/openapi.py +++ b/src/ffxivbis/api/views/api/openapi.py @@ -10,7 +10,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional, Type -from service.models.serializable import Serializable +from ffxivbis.models.serializable import Serializable class OpenApi(Serializable): diff --git a/src/service/api/views/api/player.py b/src/ffxivbis/api/views/api/player.py similarity index 94% rename from src/service/api/views/api/player.py rename to src/ffxivbis/api/views/api/player.py index eb12fe8..7a5e477 100644 --- a/src/service/api/views/api/player.py +++ b/src/ffxivbis/api/views/api/player.py @@ -9,10 +9,10 @@ from aiohttp.web import Response from typing import Any, Dict, List, Optional, Type -from service.models.job import Job +from ffxivbis.models.job import Job -from service.api.utils import wrap_exception, wrap_invalid_param, wrap_json -from service.api.views.common.player_base import PlayerBaseView +from ffxivbis.api.utils import wrap_exception, wrap_invalid_param, wrap_json +from ffxivbis.api.views.common.player_base import PlayerBaseView from .openapi import OpenApi diff --git a/src/service/api/views/common/__init__.py b/src/ffxivbis/api/views/common/__init__.py similarity index 100% rename from src/service/api/views/common/__init__.py rename to src/ffxivbis/api/views/common/__init__.py diff --git a/src/service/api/views/common/bis_base.py b/src/ffxivbis/api/views/common/bis_base.py similarity index 90% rename from src/service/api/views/common/bis_base.py rename to src/ffxivbis/api/views/common/bis_base.py index 7dcbffa..c336a04 100644 --- a/src/service/api/views/common/bis_base.py +++ b/src/ffxivbis/api/views/common/bis_base.py @@ -9,10 +9,10 @@ from aiohttp.web import View from typing import List, Optional -from service.core.ariyala_parser import AriyalaParser -from service.models.bis import BiS -from service.models.piece import Piece -from service.models.player import PlayerId +from ffxivbis.core.ariyala_parser import AriyalaParser +from ffxivbis.models.bis import BiS +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import PlayerId class BiSBaseView(View): diff --git a/src/service/api/views/common/login_base.py b/src/ffxivbis/api/views/common/login_base.py similarity index 97% rename from src/service/api/views/common/login_base.py rename to src/ffxivbis/api/views/common/login_base.py index 87fdca4..dd0132f 100644 --- a/src/service/api/views/common/login_base.py +++ b/src/ffxivbis/api/views/common/login_base.py @@ -10,7 +10,7 @@ from aiohttp.web import HTTPFound, HTTPUnauthorized, View from aiohttp_security import check_authorized, forget, remember from passlib.hash import md5_crypt -from service.models.user import User +from ffxivbis.models.user import User class LoginBaseView(View): diff --git a/src/service/api/views/common/loot_base.py b/src/ffxivbis/api/views/common/loot_base.py similarity index 89% rename from src/service/api/views/common/loot_base.py rename to src/ffxivbis/api/views/common/loot_base.py index d123474..0ae449a 100644 --- a/src/service/api/views/common/loot_base.py +++ b/src/ffxivbis/api/views/common/loot_base.py @@ -9,9 +9,9 @@ from aiohttp.web import View from typing import List, Optional, Union -from service.models.piece import Piece -from service.models.player import PlayerId, PlayerIdWithCounters -from service.models.upgrade import Upgrade +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import PlayerId, PlayerIdWithCounters +from ffxivbis.models.upgrade import Upgrade class LootBaseView(View): diff --git a/src/service/api/views/common/player_base.py b/src/ffxivbis/api/views/common/player_base.py similarity index 89% rename from src/service/api/views/common/player_base.py rename to src/ffxivbis/api/views/common/player_base.py index fd67d1d..50afa98 100644 --- a/src/service/api/views/common/player_base.py +++ b/src/ffxivbis/api/views/common/player_base.py @@ -9,10 +9,10 @@ from aiohttp.web import View from typing import List, Optional -from service.core.ariyala_parser import AriyalaParser -from service.models.bis import BiS -from service.models.job import Job -from service.models.player import Player, PlayerId +from ffxivbis.core.ariyala_parser import AriyalaParser +from ffxivbis.models.bis import BiS +from ffxivbis.models.job import Job +from ffxivbis.models.player import Player, PlayerId class PlayerBaseView(View): diff --git a/src/service/api/views/html/__init__.py b/src/ffxivbis/api/views/html/__init__.py similarity index 100% rename from src/service/api/views/html/__init__.py rename to src/ffxivbis/api/views/html/__init__.py diff --git a/src/service/api/views/html/api.py b/src/ffxivbis/api/views/html/api.py similarity index 100% rename from src/service/api/views/html/api.py rename to src/ffxivbis/api/views/html/api.py diff --git a/src/service/api/views/html/bis.py b/src/ffxivbis/api/views/html/bis.py similarity index 90% rename from src/service/api/views/html/bis.py rename to src/ffxivbis/api/views/html/bis.py index fa35eaa..e85be90 100644 --- a/src/service/api/views/html/bis.py +++ b/src/ffxivbis/api/views/html/bis.py @@ -10,12 +10,12 @@ from aiohttp.web import HTTPFound, Response from aiohttp_jinja2 import template from typing import Any, Dict, List -from service.models.piece import Piece -from service.models.player import Player, PlayerId +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import Player, PlayerId -from service.api.utils import wrap_exception, wrap_invalid_param -from service.api.views.common.bis_base import BiSBaseView -from service.api.views.common.player_base import PlayerBaseView +from ffxivbis.api.utils import wrap_exception, wrap_invalid_param +from ffxivbis.api.views.common.bis_base import BiSBaseView +from ffxivbis.api.views.common.player_base import PlayerBaseView class BiSHtmlView(BiSBaseView, PlayerBaseView): diff --git a/src/service/api/views/html/index.py b/src/ffxivbis/api/views/html/index.py similarity index 100% rename from src/service/api/views/html/index.py rename to src/ffxivbis/api/views/html/index.py diff --git a/src/service/api/views/html/loot.py b/src/ffxivbis/api/views/html/loot.py similarity index 86% rename from src/service/api/views/html/loot.py rename to src/ffxivbis/api/views/html/loot.py index 68a6e67..3647a30 100644 --- a/src/service/api/views/html/loot.py +++ b/src/ffxivbis/api/views/html/loot.py @@ -10,13 +10,13 @@ from aiohttp.web import HTTPFound, Response from aiohttp_jinja2 import template from typing import Any, Dict, List -from service.models.piece import Piece -from service.models.player import Player, PlayerId -from service.models.upgrade import Upgrade +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import Player, PlayerId +from ffxivbis.models.upgrade import Upgrade -from service.api.utils import wrap_exception, wrap_invalid_param -from service.api.views.common.loot_base import LootBaseView -from service.api.views.common.player_base import PlayerBaseView +from ffxivbis.api.utils import wrap_exception, wrap_invalid_param +from ffxivbis.api.views.common.loot_base import LootBaseView +from ffxivbis.api.views.common.player_base import PlayerBaseView class LootHtmlView(LootBaseView, PlayerBaseView): diff --git a/src/service/api/views/html/loot_suggest.py b/src/ffxivbis/api/views/html/loot_suggest.py similarity index 85% rename from src/service/api/views/html/loot_suggest.py rename to src/ffxivbis/api/views/html/loot_suggest.py index 86a16a4..1b78546 100644 --- a/src/service/api/views/html/loot_suggest.py +++ b/src/ffxivbis/api/views/html/loot_suggest.py @@ -10,13 +10,13 @@ from aiohttp.web import Response from aiohttp_jinja2 import template from typing import Any, Dict, List, Union -from service.models.piece import Piece -from service.models.player import PlayerIdWithCounters -from service.models.upgrade import Upgrade +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import PlayerIdWithCounters +from ffxivbis.models.upgrade import Upgrade -from service.api.utils import wrap_invalid_param -from service.api.views.common.loot_base import LootBaseView -from service.api.views.common.player_base import PlayerBaseView +from ffxivbis.api.utils import wrap_invalid_param +from ffxivbis.api.views.common.loot_base import LootBaseView +from ffxivbis.api.views.common.player_base import PlayerBaseView class LootSuggestHtmlView(LootBaseView, PlayerBaseView): diff --git a/src/service/api/views/html/player.py b/src/ffxivbis/api/views/html/player.py similarity index 89% rename from src/service/api/views/html/player.py rename to src/ffxivbis/api/views/html/player.py index 22f004c..95b1cc0 100644 --- a/src/service/api/views/html/player.py +++ b/src/ffxivbis/api/views/html/player.py @@ -10,11 +10,11 @@ from aiohttp.web import HTTPFound, Response from aiohttp_jinja2 import template from typing import Any, Dict, List -from service.models.job import Job -from service.models.player import PlayerIdWithCounters +from ffxivbis.models.job import Job +from ffxivbis.models.player import PlayerIdWithCounters -from service.api.utils import wrap_exception, wrap_invalid_param -from service.api.views.common.player_base import PlayerBaseView +from ffxivbis.api.utils import wrap_exception, wrap_invalid_param +from ffxivbis.api.views.common.player_base import PlayerBaseView class PlayerHtmlView(PlayerBaseView): diff --git a/src/service/api/views/html/static.py b/src/ffxivbis/api/views/html/static.py similarity index 100% rename from src/service/api/views/html/static.py rename to src/ffxivbis/api/views/html/static.py diff --git a/src/service/api/views/html/users.py b/src/ffxivbis/api/views/html/users.py similarity index 91% rename from src/service/api/views/html/users.py rename to src/ffxivbis/api/views/html/users.py index 8ca4942..ea4314f 100644 --- a/src/service/api/views/html/users.py +++ b/src/ffxivbis/api/views/html/users.py @@ -10,10 +10,10 @@ from aiohttp.web import HTTPFound, Response from aiohttp_jinja2 import template from typing import Any, Dict, List -from service.models.user import User +from ffxivbis.models.user import User -from service.api.utils import wrap_exception, wrap_invalid_param -from service.api.views.common.login_base import LoginBaseView +from ffxivbis.api.utils import wrap_exception, wrap_invalid_param +from ffxivbis.api.views.common.login_base import LoginBaseView class UsersHtmlView(LoginBaseView): diff --git a/src/service/api/web.py b/src/ffxivbis/api/web.py similarity index 91% rename from src/service/api/web.py rename to src/ffxivbis/api/web.py index 503e9d9..65743c6 100644 --- a/src/service/api/web.py +++ b/src/ffxivbis/api/web.py @@ -14,10 +14,10 @@ from aiohttp import web from aiohttp_security import setup as setup_security from aiohttp_security import CookiesIdentityPolicy -from service.core.config import Configuration -from service.core.database import Database -from service.core.loot_selector import LootSelector -from service.core.party import Party +from ffxivbis.core.config import Configuration +from ffxivbis.core.database import Database +from ffxivbis.core.loot_selector import LootSelector +from ffxivbis.core.party import Party from .auth import AuthorizationPolicy, authorize_factory from .routes import setup_routes diff --git a/src/service/application/__init__.py b/src/ffxivbis/application/__init__.py similarity index 100% rename from src/service/application/__init__.py rename to src/ffxivbis/application/__init__.py diff --git a/src/service/application/application.py b/src/ffxivbis/application/application.py similarity index 93% rename from src/service/application/application.py rename to src/ffxivbis/application/application.py index 1f5ee3a..c3f8c75 100644 --- a/src/service/application/application.py +++ b/src/ffxivbis/application/application.py @@ -6,7 +6,7 @@ # # License: 3-clause BSD, see https://opensource.org/licenses/BSD-3-Clause # -from service.core.config import Configuration +from ffxivbis.core.config import Configuration from .core import Application diff --git a/src/service/application/core.py b/src/ffxivbis/application/core.py similarity index 78% rename from src/service/application/core.py rename to src/ffxivbis/application/core.py index 120c5f2..9190e74 100644 --- a/src/service/application/core.py +++ b/src/ffxivbis/application/core.py @@ -9,12 +9,12 @@ import asyncio import logging -from service.api.web import run_server, setup_service -from service.core.config import Configuration -from service.core.database import Database -from service.core.loot_selector import LootSelector -from service.core.party import Party -from service.models.user import User +from ffxivbis.api.web import run_server, setup_service +from ffxivbis.core.config import Configuration +from ffxivbis.core.database import Database +from ffxivbis.core.loot_selector import LootSelector +from ffxivbis.core.party import Party +from ffxivbis.models.user import User class Application: diff --git a/src/service/core/__init__.py b/src/ffxivbis/core/__init__.py similarity index 100% rename from src/service/core/__init__.py rename to src/ffxivbis/core/__init__.py diff --git a/src/service/core/ariyala_parser.py b/src/ffxivbis/core/ariyala_parser.py similarity index 98% rename from src/service/core/ariyala_parser.py rename to src/ffxivbis/core/ariyala_parser.py index 5aee1b4..d372997 100644 --- a/src/service/core/ariyala_parser.py +++ b/src/ffxivbis/core/ariyala_parser.py @@ -11,7 +11,7 @@ import requests from typing import Dict, List, Optional -from service.models.piece import Piece +from ffxivbis.models.piece import Piece from .config import Configuration diff --git a/src/service/core/config.py b/src/ffxivbis/core/config.py similarity index 100% rename from src/service/core/config.py rename to src/ffxivbis/core/config.py diff --git a/src/service/core/database.py b/src/ffxivbis/core/database.py similarity index 94% rename from src/service/core/database.py rename to src/ffxivbis/core/database.py index 9758bdd..3fc0511 100644 --- a/src/service/core/database.py +++ b/src/ffxivbis/core/database.py @@ -14,11 +14,11 @@ import logging from yoyo import get_backend, read_migrations from typing import List, Mapping, Optional, Type, Union -from service.models.loot import Loot -from service.models.piece import Piece -from service.models.player import Player, PlayerId -from service.models.upgrade import Upgrade -from service.models.user import User +from ffxivbis.models.loot import Loot +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import Player, PlayerId +from ffxivbis.models.upgrade import Upgrade +from ffxivbis.models.user import User from .config import Configuration from .exceptions import InvalidDatabase diff --git a/src/service/core/exceptions.py b/src/ffxivbis/core/exceptions.py similarity index 100% rename from src/service/core/exceptions.py rename to src/ffxivbis/core/exceptions.py diff --git a/src/service/core/loot_selector.py b/src/ffxivbis/core/loot_selector.py similarity index 88% rename from src/service/core/loot_selector.py rename to src/ffxivbis/core/loot_selector.py index fa3cf21..d2de3ed 100644 --- a/src/service/core/loot_selector.py +++ b/src/ffxivbis/core/loot_selector.py @@ -8,9 +8,9 @@ # from typing import Iterable, List, Tuple, Union -from service.models.player import Player, PlayerIdWithCounters -from service.models.piece import Piece -from service.models.upgrade import Upgrade +from ffxivbis.models.player import Player, PlayerIdWithCounters +from ffxivbis.models.piece import Piece +from ffxivbis.models.upgrade import Upgrade from .party import Party diff --git a/src/service/core/party.py b/src/ffxivbis/core/party.py similarity index 94% rename from src/service/core/party.py rename to src/ffxivbis/core/party.py index 0e493f4..48d770b 100644 --- a/src/service/core/party.py +++ b/src/ffxivbis/core/party.py @@ -11,9 +11,9 @@ from __future__ import annotations from threading import Lock from typing import Dict, List, Optional, Type, Union -from service.models.piece import Piece -from service.models.player import Player, PlayerId -from service.models.upgrade import Upgrade +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import Player, PlayerId +from ffxivbis.models.upgrade import Upgrade from .database import Database diff --git a/src/service/core/postgres.py b/src/ffxivbis/core/postgres.py similarity index 95% rename from src/service/core/postgres.py rename to src/ffxivbis/core/postgres.py index d7f7292..079be64 100644 --- a/src/service/core/postgres.py +++ b/src/ffxivbis/core/postgres.py @@ -12,13 +12,13 @@ from passlib.hash import md5_crypt from psycopg2.extras import DictCursor from typing import List, Optional, Union -from service.models.bis import BiS -from service.models.job import Job -from service.models.loot import Loot -from service.models.piece import Piece -from service.models.player import Player, PlayerId -from service.models.upgrade import Upgrade -from service.models.user import User +from ffxivbis.models.bis import BiS +from ffxivbis.models.job import Job +from ffxivbis.models.loot import Loot +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import Player, PlayerId +from ffxivbis.models.upgrade import Upgrade +from ffxivbis.models.user import User from .database import Database diff --git a/src/service/core/sqlite.py b/src/ffxivbis/core/sqlite.py similarity index 95% rename from src/service/core/sqlite.py rename to src/ffxivbis/core/sqlite.py index f28dd3e..fe1ce98 100644 --- a/src/service/core/sqlite.py +++ b/src/ffxivbis/core/sqlite.py @@ -9,13 +9,13 @@ from passlib.hash import md5_crypt from typing import List, Optional, Union -from service.models.bis import BiS -from service.models.job import Job -from service.models.loot import Loot -from service.models.piece import Piece -from service.models.player import Player, PlayerId -from service.models.upgrade import Upgrade -from service.models.user import User +from ffxivbis.models.bis import BiS +from ffxivbis.models.job import Job +from ffxivbis.models.loot import Loot +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import Player, PlayerId +from ffxivbis.models.upgrade import Upgrade +from ffxivbis.models.user import User from .database import Database from .sqlite_helper import SQLiteHelper diff --git a/src/service/core/sqlite_helper.py b/src/ffxivbis/core/sqlite_helper.py similarity index 100% rename from src/service/core/sqlite_helper.py rename to src/ffxivbis/core/sqlite_helper.py diff --git a/src/service/core/version.py b/src/ffxivbis/core/version.py similarity index 100% rename from src/service/core/version.py rename to src/ffxivbis/core/version.py diff --git a/src/service/models/__init__.py b/src/ffxivbis/models/__init__.py similarity index 100% rename from src/service/models/__init__.py rename to src/ffxivbis/models/__init__.py diff --git a/src/service/models/action.py b/src/ffxivbis/models/action.py similarity index 100% rename from src/service/models/action.py rename to src/ffxivbis/models/action.py diff --git a/src/service/models/bis.py b/src/ffxivbis/models/bis.py similarity index 100% rename from src/service/models/bis.py rename to src/ffxivbis/models/bis.py diff --git a/src/service/models/error.py b/src/ffxivbis/models/error.py similarity index 100% rename from src/service/models/error.py rename to src/ffxivbis/models/error.py diff --git a/src/service/models/job.py b/src/ffxivbis/models/job.py similarity index 100% rename from src/service/models/job.py rename to src/ffxivbis/models/job.py diff --git a/src/service/models/loot.py b/src/ffxivbis/models/loot.py similarity index 100% rename from src/service/models/loot.py rename to src/ffxivbis/models/loot.py diff --git a/src/service/models/piece.py b/src/ffxivbis/models/piece.py similarity index 98% rename from src/service/models/piece.py rename to src/ffxivbis/models/piece.py index 6edafb6..c95e389 100644 --- a/src/service/models/piece.py +++ b/src/ffxivbis/models/piece.py @@ -11,7 +11,7 @@ from __future__ import annotations from dataclasses import dataclass from typing import Any, Dict, List, Mapping, Type, Union -from service.core.exceptions import InvalidDataRow +from ffxivbis.core.exceptions import InvalidDataRow from .serializable import Serializable from .upgrade import Upgrade diff --git a/src/service/models/player.py b/src/ffxivbis/models/player.py similarity index 100% rename from src/service/models/player.py rename to src/ffxivbis/models/player.py diff --git a/src/service/models/player_edit.py b/src/ffxivbis/models/player_edit.py similarity index 100% rename from src/service/models/player_edit.py rename to src/ffxivbis/models/player_edit.py diff --git a/src/service/models/serializable.py b/src/ffxivbis/models/serializable.py similarity index 100% rename from src/service/models/serializable.py rename to src/ffxivbis/models/serializable.py diff --git a/src/service/models/upgrade.py b/src/ffxivbis/models/upgrade.py similarity index 100% rename from src/service/models/upgrade.py rename to src/ffxivbis/models/upgrade.py diff --git a/src/service/models/user.py b/src/ffxivbis/models/user.py similarity index 100% rename from src/service/models/user.py rename to src/ffxivbis/models/user.py diff --git a/test/conftest.py b/test/conftest.py index 63df6a6..3fa1552 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -4,17 +4,17 @@ import tempfile from typing import Any, List -from service.api.web import setup_service -from service.core.ariyala_parser import AriyalaParser -from service.core.config import Configuration -from service.core.database import Database -from service.core.loot_selector import LootSelector -from service.core.party import Party -from service.core.sqlite import SQLiteDatabase -from service.models.bis import BiS -from service.models.job import Job -from service.models.piece import Head, Piece, Weapon -from service.models.player import Player +from ffxivbis.api.web import setup_service +from ffxivbis.core.ariyala_parser import AriyalaParser +from ffxivbis.core.config import Configuration +from ffxivbis.core.database import Database +from ffxivbis.core.loot_selector import LootSelector +from ffxivbis.core.party import Party +from ffxivbis.core.sqlite import SQLiteDatabase +from ffxivbis.models.bis import BiS +from ffxivbis.models.job import Job +from ffxivbis.models.piece import Head, Piece, Weapon +from ffxivbis.models.player import Player @pytest.fixture diff --git a/test/test_ariyala.py b/test/test_ariyala.py index ca2bd28..edaf805 100644 --- a/test/test_ariyala.py +++ b/test/test_ariyala.py @@ -1,8 +1,8 @@ from typing import List -from service.core.ariyala_parser import AriyalaParser -from service.models.piece import Piece -from service.models.player import Player +from ffxivbis.core.ariyala_parser import AriyalaParser +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import Player def test_get(parser: AriyalaParser, player: Player, bis_link: str, bis_set: List[Piece]) -> None: diff --git a/test/test_bis.py b/test/test_bis.py index 3781153..9b4107b 100644 --- a/test/test_bis.py +++ b/test/test_bis.py @@ -1,6 +1,6 @@ -from service.models.bis import BiS -from service.models.piece import Piece -from service.models.upgrade import Upgrade +from ffxivbis.models.bis import BiS +from ffxivbis.models.piece import Piece +from ffxivbis.models.upgrade import Upgrade def test_set_item(bis: BiS, weapon: Piece) -> None: diff --git a/test/test_loot_selector.py b/test/test_loot_selector.py index 86d2536..c65445c 100644 --- a/test/test_loot_selector.py +++ b/test/test_loot_selector.py @@ -1,6 +1,6 @@ -from service.core.loot_selector import LootSelector -from service.models.piece import Piece -from service.models.player import Player +from ffxivbis.core.loot_selector import LootSelector +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import Player def test_suggest_by_need(selector: LootSelector, player: Player, player2: Player, head_with_upgrade: Piece) -> None: diff --git a/test/test_party.py b/test/test_party.py index b834cbe..87df7e0 100644 --- a/test/test_party.py +++ b/test/test_party.py @@ -1,7 +1,7 @@ -from service.core.database import Database -from service.core.party import Party -from service.models.piece import Piece -from service.models.player import Player +from ffxivbis.core.database import Database +from ffxivbis.core.party import Party +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import Player async def test_set_player(party: Party, player: Player) -> None: diff --git a/test/test_piece.py b/test/test_piece.py index 33bd084..182c37d 100644 --- a/test/test_piece.py +++ b/test/test_piece.py @@ -1,4 +1,4 @@ -from service.models.piece import Piece +from ffxivbis.models.piece import Piece def test_parse_head(head_with_upgrade: Piece) -> None: diff --git a/test/test_player.py b/test/test_player.py index bd77474..7ce792a 100644 --- a/test/test_player.py +++ b/test/test_player.py @@ -1,5 +1,5 @@ -from service.models.piece import Piece -from service.models.player import Player +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import Player def test_loot_count(player: Player, head_with_upgrade: Piece, weapon: Piece) -> None: diff --git a/test/test_view_bis.py b/test/test_view_bis.py index f8e9077..8e80fcc 100644 --- a/test/test_view_bis.py +++ b/test/test_view_bis.py @@ -1,9 +1,9 @@ from typing import Any, List -from service.api.utils import make_json -from service.core.party import Party -from service.models.piece import Piece -from service.models.player import Player +from ffxivbis.api.utils import make_json +from ffxivbis.core.party import Party +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import Player async def test_bis_get(server: Any, party: Party, player: Player, player2: Player, diff --git a/test/test_view_loot.py b/test/test_view_loot.py index b5b28b9..088e412 100644 --- a/test/test_view_loot.py +++ b/test/test_view_loot.py @@ -1,9 +1,9 @@ from typing import Any -from service.api.utils import make_json -from service.core.party import Party -from service.models.piece import Piece -from service.models.player import Player +from ffxivbis.api.utils import make_json +from ffxivbis.core.party import Party +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import Player async def test_loot_get(server: Any, party: Party, player: Player, player2: Player, weapon: Piece) -> None: diff --git a/test/test_view_player.py b/test/test_view_player.py index f56503d..49ef8cd 100644 --- a/test/test_view_player.py +++ b/test/test_view_player.py @@ -1,9 +1,9 @@ from typing import Any, List -from service.api.utils import make_json -from service.core.party import Party -from service.models.piece import Piece -from service.models.player import Player +from ffxivbis.api.utils import make_json +from ffxivbis.core.party import Party +from ffxivbis.models.piece import Piece +from ffxivbis.models.player import Player async def test_players_get(server: Any, party: Party, player: Player) -> None: