├── .flake8 ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ ├── codeql-analysis.yml │ └── py-publish.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .vscode └── settings.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── MANIFEST.in ├── Procfile ├── README.md ├── alembic.ini ├── docker-compose.yml ├── novelsave ├── __init__.py ├── __main__.py ├── client │ ├── __init__.py │ ├── bots │ │ ├── __init__.py │ │ └── discord │ │ │ ├── __init__.py │ │ │ ├── bot.py │ │ │ ├── checks.py │ │ │ ├── config.py │ │ │ ├── containers.py │ │ │ ├── decorators.py │ │ │ ├── endpoints │ │ │ ├── __init__.py │ │ │ ├── commands.py │ │ │ ├── download.py │ │ │ ├── search.py │ │ │ └── session.py │ │ │ ├── exceptions.py │ │ │ ├── main.py │ │ │ ├── mixins.py │ │ │ ├── session │ │ │ ├── __init__.py │ │ │ ├── fragment.py │ │ │ ├── handler.py │ │ │ ├── session.py │ │ │ └── session_helper.py │ │ │ └── utils.py │ └── cli │ │ ├── __init__.py │ │ ├── controllers │ │ ├── __init__.py │ │ ├── _novel.py │ │ ├── _package.py │ │ ├── _update.py │ │ └── _url.py │ │ ├── events.py │ │ ├── groups │ │ ├── __init__.py │ │ ├── _config.py │ │ ├── _manage.py │ │ └── _novel.py │ │ ├── helpers │ │ ├── __init__.py │ │ ├── novel.py │ │ └── source.py │ │ └── main.py ├── containers.py ├── core │ ├── __init__.py │ ├── dtos │ │ ├── __init__.py │ │ ├── chapter_dto.py │ │ ├── metadata_dto.py │ │ ├── novel_dto.py │ │ └── volume_dto.py │ ├── entities │ │ ├── __init__.py │ │ ├── base.py │ │ ├── constants.py │ │ └── novel │ │ │ ├── __init__.py │ │ │ ├── asset.py │ │ │ ├── asset_type.py │ │ │ ├── chapter.py │ │ │ ├── metadata.py │ │ │ ├── novel.py │ │ │ ├── novel_url.py │ │ │ └── volume.py │ └── services │ │ ├── __init__.py │ │ ├── base_file_service.py │ │ ├── base_meta_service.py │ │ ├── base_path_service.py │ │ ├── cloud │ │ ├── __init__.py │ │ └── filehost │ │ │ ├── __init__.py │ │ │ └── base_cloud_file_host.py │ │ ├── config │ │ ├── __init__.py │ │ └── base_config_service.py │ │ ├── novel │ │ ├── __init__.py │ │ ├── base_asset_service.py │ │ └── base_novel_service.py │ │ ├── packagers │ │ ├── __init__.py │ │ ├── base_packager.py │ │ └── base_packager_provider.py │ │ ├── source │ │ ├── __init__.py │ │ ├── base_meta_source_gateway.py │ │ ├── base_source_gateway.py │ │ └── base_source_service.py │ │ └── tools │ │ ├── __init__.py │ │ └── base_calibre_service.py ├── exceptions.py ├── migrations │ ├── README.md │ ├── __init__.py │ ├── commands.py │ ├── env.py │ ├── script.py.mako │ └── versions │ │ ├── __init__.py │ │ └── e5c4fb5600ea_initial.py ├── resources │ └── web │ │ ├── bootstrap.min.css │ │ ├── bootstrap.min.js │ │ └── templates │ │ └── index.html.mako ├── services │ ├── __init__.py │ ├── cloud │ │ ├── __init__.py │ │ └── filehost │ │ │ ├── __init__.py │ │ │ ├── anonfiles.py │ │ │ ├── gofiles.py │ │ │ └── none.py │ ├── config │ │ ├── __init__.py │ │ └── config_service.py │ ├── file_service.py │ ├── meta_service.py │ ├── novel │ │ ├── __init__.py │ │ ├── asset_service.py │ │ └── novel_service.py │ ├── packagers │ │ ├── __init__.py │ │ ├── azw3_packager.py │ │ ├── calibre_packager.py │ │ ├── epub_packager.py │ │ ├── html_packager.py │ │ ├── mobi_packager.py │ │ ├── package_provider.py │ │ ├── pdf_packager.py │ │ └── text_packager.py │ ├── path_service.py │ ├── source │ │ ├── __init__.py │ │ ├── meta_source_gateway.py │ │ ├── source_gateway.py │ │ └── source_service.py │ └── tools │ │ ├── __init__.py │ │ └── calibre_service.py ├── settings.py └── utils │ ├── __init__.py │ ├── adapters │ ├── __init__.py │ ├── dto_adapter.py │ └── source_adapter.py │ └── helpers │ ├── __init__.py │ ├── config_helper.py │ ├── dotenv_helper.py │ ├── metadata_helper.py │ ├── string_helper.py │ └── url_helper.py ├── poetry.lock ├── pyproject.toml ├── requirements.txt └── tests ├── __init__.py ├── cli ├── __init__.py ├── controllers │ ├── __init__.py │ └── test_compile.py └── helpers │ ├── __init__.py │ ├── test_novel.py │ └── test_source.py ├── conftest.py ├── services ├── __init__.py ├── source │ ├── __init__.py │ ├── test_gateway_service.py │ └── test_source_service_provider.py ├── test_file_service.py └── test_path_service.py └── utils ├── __init__.py ├── adapters ├── __init__.py ├── test_dto_adapter.py └── test_source_adapter.py └── helpers ├── __init__.py ├── test_config_helper.py └── test_string_helper.py /.flake8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/.flake8 -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/.github/workflows/codeql-analysis.yml -------------------------------------------------------------------------------- /.github/workflows/py-publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/.github/workflows/py-publish.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | bot: python -m novelsave runbot discord 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/README.md -------------------------------------------------------------------------------- /alembic.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/alembic.ini -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /novelsave/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/__init__.py -------------------------------------------------------------------------------- /novelsave/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/__main__.py -------------------------------------------------------------------------------- /novelsave/client/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /novelsave/client/bots/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /novelsave/client/bots/discord/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/__init__.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/bot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/bot.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/checks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/checks.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/config.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/containers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/containers.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/decorators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/decorators.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/endpoints/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/endpoints/__init__.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/endpoints/commands.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/endpoints/commands.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/endpoints/download.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/endpoints/download.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/endpoints/search.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/endpoints/search.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/endpoints/session.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/endpoints/session.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/exceptions.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/main.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/mixins.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/mixins.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/session/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/session/__init__.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/session/fragment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/session/fragment.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/session/handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/session/handler.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/session/session.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/session/session.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/session/session_helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/session/session_helper.py -------------------------------------------------------------------------------- /novelsave/client/bots/discord/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/bots/discord/utils.py -------------------------------------------------------------------------------- /novelsave/client/cli/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/__init__.py -------------------------------------------------------------------------------- /novelsave/client/cli/controllers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/controllers/__init__.py -------------------------------------------------------------------------------- /novelsave/client/cli/controllers/_novel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/controllers/_novel.py -------------------------------------------------------------------------------- /novelsave/client/cli/controllers/_package.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/controllers/_package.py -------------------------------------------------------------------------------- /novelsave/client/cli/controllers/_update.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/controllers/_update.py -------------------------------------------------------------------------------- /novelsave/client/cli/controllers/_url.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/controllers/_url.py -------------------------------------------------------------------------------- /novelsave/client/cli/events.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/events.py -------------------------------------------------------------------------------- /novelsave/client/cli/groups/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/groups/__init__.py -------------------------------------------------------------------------------- /novelsave/client/cli/groups/_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/groups/_config.py -------------------------------------------------------------------------------- /novelsave/client/cli/groups/_manage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/groups/_manage.py -------------------------------------------------------------------------------- /novelsave/client/cli/groups/_novel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/groups/_novel.py -------------------------------------------------------------------------------- /novelsave/client/cli/helpers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/helpers/__init__.py -------------------------------------------------------------------------------- /novelsave/client/cli/helpers/novel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/helpers/novel.py -------------------------------------------------------------------------------- /novelsave/client/cli/helpers/source.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/helpers/source.py -------------------------------------------------------------------------------- /novelsave/client/cli/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/client/cli/main.py -------------------------------------------------------------------------------- /novelsave/containers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/containers.py -------------------------------------------------------------------------------- /novelsave/core/__init__.py: -------------------------------------------------------------------------------- 1 | # should contain entities 2 | -------------------------------------------------------------------------------- /novelsave/core/dtos/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/dtos/__init__.py -------------------------------------------------------------------------------- /novelsave/core/dtos/chapter_dto.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/dtos/chapter_dto.py -------------------------------------------------------------------------------- /novelsave/core/dtos/metadata_dto.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/dtos/metadata_dto.py -------------------------------------------------------------------------------- /novelsave/core/dtos/novel_dto.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/dtos/novel_dto.py -------------------------------------------------------------------------------- /novelsave/core/dtos/volume_dto.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/dtos/volume_dto.py -------------------------------------------------------------------------------- /novelsave/core/entities/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/entities/__init__.py -------------------------------------------------------------------------------- /novelsave/core/entities/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/entities/base.py -------------------------------------------------------------------------------- /novelsave/core/entities/constants.py: -------------------------------------------------------------------------------- 1 | class AssetTypes: 2 | IMAGE = 1 3 | -------------------------------------------------------------------------------- /novelsave/core/entities/novel/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/entities/novel/__init__.py -------------------------------------------------------------------------------- /novelsave/core/entities/novel/asset.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/entities/novel/asset.py -------------------------------------------------------------------------------- /novelsave/core/entities/novel/asset_type.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/entities/novel/asset_type.py -------------------------------------------------------------------------------- /novelsave/core/entities/novel/chapter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/entities/novel/chapter.py -------------------------------------------------------------------------------- /novelsave/core/entities/novel/metadata.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/entities/novel/metadata.py -------------------------------------------------------------------------------- /novelsave/core/entities/novel/novel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/entities/novel/novel.py -------------------------------------------------------------------------------- /novelsave/core/entities/novel/novel_url.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/entities/novel/novel_url.py -------------------------------------------------------------------------------- /novelsave/core/entities/novel/volume.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/entities/novel/volume.py -------------------------------------------------------------------------------- /novelsave/core/services/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/__init__.py -------------------------------------------------------------------------------- /novelsave/core/services/base_file_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/base_file_service.py -------------------------------------------------------------------------------- /novelsave/core/services/base_meta_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/base_meta_service.py -------------------------------------------------------------------------------- /novelsave/core/services/base_path_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/base_path_service.py -------------------------------------------------------------------------------- /novelsave/core/services/cloud/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /novelsave/core/services/cloud/filehost/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/cloud/filehost/__init__.py -------------------------------------------------------------------------------- /novelsave/core/services/cloud/filehost/base_cloud_file_host.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/cloud/filehost/base_cloud_file_host.py -------------------------------------------------------------------------------- /novelsave/core/services/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/config/__init__.py -------------------------------------------------------------------------------- /novelsave/core/services/config/base_config_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/config/base_config_service.py -------------------------------------------------------------------------------- /novelsave/core/services/novel/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/novel/__init__.py -------------------------------------------------------------------------------- /novelsave/core/services/novel/base_asset_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/novel/base_asset_service.py -------------------------------------------------------------------------------- /novelsave/core/services/novel/base_novel_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/novel/base_novel_service.py -------------------------------------------------------------------------------- /novelsave/core/services/packagers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/packagers/__init__.py -------------------------------------------------------------------------------- /novelsave/core/services/packagers/base_packager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/packagers/base_packager.py -------------------------------------------------------------------------------- /novelsave/core/services/packagers/base_packager_provider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/packagers/base_packager_provider.py -------------------------------------------------------------------------------- /novelsave/core/services/source/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/source/__init__.py -------------------------------------------------------------------------------- /novelsave/core/services/source/base_meta_source_gateway.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/source/base_meta_source_gateway.py -------------------------------------------------------------------------------- /novelsave/core/services/source/base_source_gateway.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/source/base_source_gateway.py -------------------------------------------------------------------------------- /novelsave/core/services/source/base_source_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/source/base_source_service.py -------------------------------------------------------------------------------- /novelsave/core/services/tools/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/tools/__init__.py -------------------------------------------------------------------------------- /novelsave/core/services/tools/base_calibre_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/core/services/tools/base_calibre_service.py -------------------------------------------------------------------------------- /novelsave/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/exceptions.py -------------------------------------------------------------------------------- /novelsave/migrations/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/migrations/README.md -------------------------------------------------------------------------------- /novelsave/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | from .commands import migrate 2 | -------------------------------------------------------------------------------- /novelsave/migrations/commands.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/migrations/commands.py -------------------------------------------------------------------------------- /novelsave/migrations/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/migrations/env.py -------------------------------------------------------------------------------- /novelsave/migrations/script.py.mako: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/migrations/script.py.mako -------------------------------------------------------------------------------- /novelsave/migrations/versions/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /novelsave/migrations/versions/e5c4fb5600ea_initial.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/migrations/versions/e5c4fb5600ea_initial.py -------------------------------------------------------------------------------- /novelsave/resources/web/bootstrap.min.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/resources/web/bootstrap.min.css -------------------------------------------------------------------------------- /novelsave/resources/web/bootstrap.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/resources/web/bootstrap.min.js -------------------------------------------------------------------------------- /novelsave/resources/web/templates/index.html.mako: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/resources/web/templates/index.html.mako -------------------------------------------------------------------------------- /novelsave/services/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/__init__.py -------------------------------------------------------------------------------- /novelsave/services/cloud/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /novelsave/services/cloud/filehost/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/cloud/filehost/__init__.py -------------------------------------------------------------------------------- /novelsave/services/cloud/filehost/anonfiles.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/cloud/filehost/anonfiles.py -------------------------------------------------------------------------------- /novelsave/services/cloud/filehost/gofiles.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/cloud/filehost/gofiles.py -------------------------------------------------------------------------------- /novelsave/services/cloud/filehost/none.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/cloud/filehost/none.py -------------------------------------------------------------------------------- /novelsave/services/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/config/__init__.py -------------------------------------------------------------------------------- /novelsave/services/config/config_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/config/config_service.py -------------------------------------------------------------------------------- /novelsave/services/file_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/file_service.py -------------------------------------------------------------------------------- /novelsave/services/meta_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/meta_service.py -------------------------------------------------------------------------------- /novelsave/services/novel/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/novel/__init__.py -------------------------------------------------------------------------------- /novelsave/services/novel/asset_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/novel/asset_service.py -------------------------------------------------------------------------------- /novelsave/services/novel/novel_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/novel/novel_service.py -------------------------------------------------------------------------------- /novelsave/services/packagers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/packagers/__init__.py -------------------------------------------------------------------------------- /novelsave/services/packagers/azw3_packager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/packagers/azw3_packager.py -------------------------------------------------------------------------------- /novelsave/services/packagers/calibre_packager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/packagers/calibre_packager.py -------------------------------------------------------------------------------- /novelsave/services/packagers/epub_packager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/packagers/epub_packager.py -------------------------------------------------------------------------------- /novelsave/services/packagers/html_packager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/packagers/html_packager.py -------------------------------------------------------------------------------- /novelsave/services/packagers/mobi_packager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/packagers/mobi_packager.py -------------------------------------------------------------------------------- /novelsave/services/packagers/package_provider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/packagers/package_provider.py -------------------------------------------------------------------------------- /novelsave/services/packagers/pdf_packager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/packagers/pdf_packager.py -------------------------------------------------------------------------------- /novelsave/services/packagers/text_packager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/packagers/text_packager.py -------------------------------------------------------------------------------- /novelsave/services/path_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/path_service.py -------------------------------------------------------------------------------- /novelsave/services/source/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/source/__init__.py -------------------------------------------------------------------------------- /novelsave/services/source/meta_source_gateway.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/source/meta_source_gateway.py -------------------------------------------------------------------------------- /novelsave/services/source/source_gateway.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/source/source_gateway.py -------------------------------------------------------------------------------- /novelsave/services/source/source_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/source/source_service.py -------------------------------------------------------------------------------- /novelsave/services/tools/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/tools/__init__.py -------------------------------------------------------------------------------- /novelsave/services/tools/calibre_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/services/tools/calibre_service.py -------------------------------------------------------------------------------- /novelsave/settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/settings.py -------------------------------------------------------------------------------- /novelsave/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /novelsave/utils/adapters/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/utils/adapters/__init__.py -------------------------------------------------------------------------------- /novelsave/utils/adapters/dto_adapter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/utils/adapters/dto_adapter.py -------------------------------------------------------------------------------- /novelsave/utils/adapters/source_adapter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/utils/adapters/source_adapter.py -------------------------------------------------------------------------------- /novelsave/utils/helpers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /novelsave/utils/helpers/config_helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/utils/helpers/config_helper.py -------------------------------------------------------------------------------- /novelsave/utils/helpers/dotenv_helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/utils/helpers/dotenv_helper.py -------------------------------------------------------------------------------- /novelsave/utils/helpers/metadata_helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/utils/helpers/metadata_helper.py -------------------------------------------------------------------------------- /novelsave/utils/helpers/string_helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/utils/helpers/string_helper.py -------------------------------------------------------------------------------- /novelsave/utils/helpers/url_helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/novelsave/utils/helpers/url_helper.py -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/poetry.lock -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/requirements.txt -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/cli/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/cli/controllers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/cli/controllers/test_compile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/tests/cli/controllers/test_compile.py -------------------------------------------------------------------------------- /tests/cli/helpers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/cli/helpers/test_novel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/tests/cli/helpers/test_novel.py -------------------------------------------------------------------------------- /tests/cli/helpers/test_source.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/tests/cli/helpers/test_source.py -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/services/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/services/source/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/services/source/test_gateway_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/tests/services/source/test_gateway_service.py -------------------------------------------------------------------------------- /tests/services/source/test_source_service_provider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/tests/services/source/test_source_service_provider.py -------------------------------------------------------------------------------- /tests/services/test_file_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/tests/services/test_file_service.py -------------------------------------------------------------------------------- /tests/services/test_path_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/tests/services/test_path_service.py -------------------------------------------------------------------------------- /tests/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/utils/adapters/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/utils/adapters/test_dto_adapter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/tests/utils/adapters/test_dto_adapter.py -------------------------------------------------------------------------------- /tests/utils/adapters/test_source_adapter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/tests/utils/adapters/test_source_adapter.py -------------------------------------------------------------------------------- /tests/utils/helpers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/utils/helpers/test_config_helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/tests/utils/helpers/test_config_helper.py -------------------------------------------------------------------------------- /tests/utils/helpers/test_string_helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m-haisham/novelsave/HEAD/tests/utils/helpers/test_string_helper.py --------------------------------------------------------------------------------