Coverage report: 93%

Files Functions Classes

coverage.py v7.16.1, created at 2026-09-26 17:14 +0000

File class   statements missing excluded   coverage
seedboxsync/__init__.py (no class)   89 5 0   94%
seedboxsync/__version__.py (no class)   3 0 0   100%
seedboxsync/app.py (no class)   2 0 0   100%
seedboxsync/cli/__init__.py (no class)   19 0 0   100%
seedboxsync/cli/cli.py Cli   29 1 0   97%
seedboxsync/cli/cli.py Command   0 0 0   100%
seedboxsync/cli/cli.py Group   4 2 0   50%
seedboxsync/cli/cli.py (no class)   36 3 0   92%
seedboxsync/cli/commands/__init__.py (no class)   0 0 0   100%
seedboxsync/cli/commands/cmd_clean.py (no class)   15 0 0   100%
seedboxsync/cli/commands/cmd_health.py (no class)   38 2 0   95%
seedboxsync/cli/commands/cmd_search.py (no class)   38 0 0   100%
seedboxsync/cli/commands/cmd_stats.py (no class)   43 1 0   98%
seedboxsync/cli/commands/cmd_sync.py (no class)   28 3 0   89%
seedboxsync/cli/commands/cmd_task.py (no class)   48 0 0   100%
seedboxsync/cli/commands/cmd_user.py (no class)   83 8 0   90%
seedboxsync/cli/context.py HeaderOptions   0 0 0   100%
seedboxsync/cli/context.py Context   15 2 0   87%
seedboxsync/cli/context.py (no class)   14 0 0   100%
seedboxsync/core/__init__.py (no class)   5 0 0   100%
seedboxsync/core/config.py Config   39 2 0   95%
seedboxsync/core/config.py (no class)   15 0 0   100%
seedboxsync/core/database/__init__.py (no class)   3 0 0   100%
seedboxsync/core/database/database.py Database   49 0 0   100%
seedboxsync/core/database/database.py (no class)   17 0 0   100%
seedboxsync/core/database/migration.py DatabaseMigration   36 18 0   50%
seedboxsync/core/database/migration.py (no class)   18 0 0   100%
seedboxsync/core/database/migrations/0001_initial.py up.Download   0 0 0   100%
seedboxsync/core/database/migrations/0001_initial.py up.Download.Meta   0 0 0   100%
seedboxsync/core/database/migrations/0001_initial.py up.SeedboxSync   0 0 0   100%
seedboxsync/core/database/migrations/0001_initial.py up.SeedboxSync.Meta   0 0 0   100%
seedboxsync/core/database/migrations/0001_initial.py up.Torrent   0 0 0   100%
seedboxsync/core/database/migrations/0001_initial.py up.Torrent.Meta   0 0 0   100%
seedboxsync/core/database/migrations/0001_initial.py (no class)   32 3 0   91%
seedboxsync/core/database/migrations/0002_torrent_nullable_announce.py (no class)   5 1 0   80%
seedboxsync/core/database/migrations/0003_add_taskstatus.py up.TaskStatus   0 0 0   100%
seedboxsync/core/database/migrations/0003_add_taskstatus.py up.TaskStatus.Meta   0 0 0   100%
seedboxsync/core/database/migrations/0003_add_taskstatus.py (no class)   14 1 0   93%
seedboxsync/core/database/migrations/0004_add_user.py up.User   0 0 0   100%
seedboxsync/core/database/migrations/0004_add_user.py up.User.Meta   0 0 0   100%
seedboxsync/core/database/migrations/0004_add_user.py (no class)   17 1 0   94%
seedboxsync/core/database/migrations/0005_add_apikey.py up.User   0 0 0   100%
seedboxsync/core/database/migrations/0005_add_apikey.py up.User.Meta   0 0 0   100%
seedboxsync/core/database/migrations/0005_add_apikey.py up.ApiKey   0 0 0   100%
seedboxsync/core/database/migrations/0005_add_apikey.py up.ApiKey.Meta   0 0 0   100%
seedboxsync/core/database/migrations/0005_add_apikey.py (no class)   19 1 0   95%
seedboxsync/core/database/migrations/0006_download_mime_columns.py (no class)   15 4 0   73%
seedboxsync/core/database/migrations/0007_torrent_info_columns.py (no class)   19 6 0   68%
seedboxsync/core/database/migrations/0008_torrent_source.py (no class)   9 2 0   78%
seedboxsync/core/database/models/__init__.py (no class)   14 0 0   100%
seedboxsync/core/database/models/apikey.py ApiKey   13 0 0   100%
seedboxsync/core/database/models/apikey.py (no class)   18 0 0   100%
seedboxsync/core/database/models/download.py Download   15 11 0   27%
seedboxsync/core/database/models/download.py (no class)   21 0 0   100%
seedboxsync/core/database/models/model.py SeedboxSyncModel   0 0 0   100%
seedboxsync/core/database/models/model.py (no class)   2 0 0   100%
seedboxsync/core/database/models/seedboxsync.py SeedboxSync   0 0 0   100%
seedboxsync/core/database/models/seedboxsync.py (no class)   5 0 0   100%
seedboxsync/core/database/models/taskstatus.py TaskStatus   0 0 0   100%
seedboxsync/core/database/models/taskstatus.py (no class)   7 0 0   100%
seedboxsync/core/database/models/torrent.py Torrent   45 27 0   40%
seedboxsync/core/database/models/torrent.py (no class)   24 0 0   100%
seedboxsync/core/database/models/user.py User   9 0 0   100%
seedboxsync/core/database/models/user.py (no class)   20 0 0   100%
seedboxsync/core/exception.py SeedboxSyncError   2 0 0   100%
seedboxsync/core/exception.py SeedboxSyncConfigurationError   0 0 0   100%
seedboxsync/core/exception.py SyncProtocoleError   0 0 0   100%
seedboxsync/core/exception.py PingServiceError   0 0 0   100%
seedboxsync/core/exception.py SeedboxsyncConnectionError   0 0 0   100%
seedboxsync/core/exception.py (no class)   9 0 0   100%
seedboxsync/core/flask.py SeedboxSyncFlask   31 0 0   100%
seedboxsync/core/flask.py (no class)   19 0 0   100%
seedboxsync/core/logger.py ColorFormatter   5 0 0   100%
seedboxsync/core/logger.py (no class)   10 0 0   100%
seedboxsync/core/ping/__init__.py (no class)   2 0 0   100%
seedboxsync/core/ping/abstract_ping_client.py AbstractPingClient   0 0 13   100%
seedboxsync/core/ping/abstract_ping_client.py (no class)   1 0 18   100%
seedboxsync/core/ping/client/__init__.py (no class)   0 0 0   100%
seedboxsync/core/ping/client/healthchecks.py Healthchecks   20 0 0   100%
seedboxsync/core/ping/client/healthchecks.py (no class)   7 0 0   100%
seedboxsync/core/sync/__init__.py (no class)   2 0 0   100%
seedboxsync/core/sync/abstract_sync_client.py AbstractSyncClient   0 0 49   100%
seedboxsync/core/sync/abstract_sync_client.py (no class)   6 0 38   100%
seedboxsync/core/sync/client/__init__.py (no class)   0 0 0   100%
seedboxsync/core/sync/client/ftp.py FtpSession   3 0 0   100%
seedboxsync/core/sync/client/ftp.py FtpClient   68 0 0   100%
seedboxsync/core/sync/client/ftp.py (no class)   26 0 0   100%
seedboxsync/core/sync/client/sftp.py SftpClient   71 1 0   99%
seedboxsync/core/sync/client/sftp.py (no class)   22 0 0   100%
seedboxsync/core/sync/download_progress.py DownloadProgress   10 0 0   100%
seedboxsync/core/sync/download_progress.py (no class)   6 0 0   100%
seedboxsync/core/sync/services/__init__.py (no class)   3 0 0   100%
seedboxsync/core/sync/services/blackhole.py (no class)   54 0 0   100%
seedboxsync/core/sync/services/seedbox.py (no class)   90 2 0   98%
seedboxsync/core/taskmanager/__init__.py (no class)   4 0 0   100%
seedboxsync/core/taskmanager/manager.py Manager   31 1 0   97%
seedboxsync/core/taskmanager/manager.py (no class)   15 0 0   100%
seedboxsync/core/taskmanager/task/__init__.py (no class)   0 0 0   100%
seedboxsync/core/taskmanager/task/task_periodic_sync_blackhole.py (no class)   12 0 0   100%
seedboxsync/core/taskmanager/task/task_periodic_sync_seedbox.py (no class)   12 0 0   100%
seedboxsync/core/taskmanager/task/task_sync_blackhole.py (no class)   11 0 0   100%
seedboxsync/core/taskmanager/task/task_sync_seedbox.py (no class)   11 0 0   100%
seedboxsync/core/taskmanager/track_taskstatus.py (no class)   29 0 0   100%
seedboxsync/core/taskmanager/utils.py (no class)   15 0 0   100%
seedboxsync/core/utils.py (no class)   89 4 0   96%
seedboxsync/front/apis/__init__.py (no class)   25 2 0   92%
seedboxsync/front/apis/core/error.py (no class)   20 0 0   100%
seedboxsync/front/apis/core/resources.py Resource   16 1 0   94%
seedboxsync/front/apis/core/resources.py DateTimeOrZero   3 0 0   100%
seedboxsync/front/apis/core/resources.py (no class)   14 0 0   100%
seedboxsync/front/apis/downloads.py DownloadsList   25 4 0   84%
seedboxsync/front/apis/downloads.py DownloadsProgress   2 0 0   100%
seedboxsync/front/apis/downloads.py Downloads   10 0 0   100%
seedboxsync/front/apis/downloads.py DownloadsStatsByMonth   5 0 0   100%
seedboxsync/front/apis/downloads.py DownloadsStatsByYear   2 0 0   100%
seedboxsync/front/apis/downloads.py DownloadsStatsByMimeType   5 5 0   0%
seedboxsync/front/apis/downloads.py (no class)   96 4 0   96%
seedboxsync/front/apis/tasks.py Tasks   9 0 0   100%
seedboxsync/front/apis/tasks.py (no class)   14 0 0   100%
seedboxsync/front/apis/taskstatus.py TaskStatusList   2 0 0   100%
seedboxsync/front/apis/taskstatus.py TaskStatuses   6 0 0   100%
seedboxsync/front/apis/taskstatus.py (no class)   23 0 0   100%
seedboxsync/front/apis/uploads.py UploadsList   18 2 0   89%
seedboxsync/front/apis/uploads.py Uploads   10 0 0   100%
seedboxsync/front/apis/uploads.py UploadsStatsBySource   5 5 0   0%
seedboxsync/front/apis/uploads.py (no class)   50 1 0   98%
seedboxsync/front/apis/users.py Me   2 2 0   0%
seedboxsync/front/apis/users.py (no class)   16 0 0   100%
seedboxsync/front/babel.py (no class)   13 0 0   100%
seedboxsync/front/cache.py (no class)   14 2 0   86%
seedboxsync/front/forms/__init__.py (no class)   10 0 0   100%
seedboxsync/front/forms/csrf.py EmptyCSRFForm   0 0 0   100%
seedboxsync/front/forms/csrf.py (no class)   2 0 0   100%
seedboxsync/front/forms/login.py LoginForm   0 0 0   100%
seedboxsync/front/forms/login.py (no class)   8 0 0   100%
seedboxsync/front/forms/settings/apikey.py ApiKeyForm   0 0 0   100%
seedboxsync/front/forms/settings/apikey.py (no class)   6 0 0   100%
seedboxsync/front/forms/settings/authentication.py SettingsAuthenticationForm   0 0 0   100%
seedboxsync/front/forms/settings/authentication.py (no class)   14 0 0   100%
seedboxsync/front/forms/settings/nas.py SettingsNasForm   0 0 0   100%
seedboxsync/front/forms/settings/nas.py (no class)   7 0 0   100%
seedboxsync/front/forms/settings/ping.py SettingsPingForm   0 0 0   100%
seedboxsync/front/forms/settings/ping.py (no class)   8 0 0   100%
seedboxsync/front/forms/settings/seedbox.py SettingsSeedboxForm   0 0 0   100%
seedboxsync/front/forms/settings/seedbox.py (no class)   22 0 0   100%
seedboxsync/front/forms/settings/seedboxsync.py SettingsSeedboxSyncForm   0 0 0   100%
seedboxsync/front/forms/settings/seedboxsync.py (no class)   12 0 0   100%
seedboxsync/front/forms/user.py UserBaseForm   0 0 0   100%
seedboxsync/front/forms/user.py UserEditForm   0 0 0   100%
seedboxsync/front/forms/user.py UserCreateForm   0 0 0   100%
seedboxsync/front/forms/user.py (no class)   11 0 0   100%
seedboxsync/front/forms/validators/__init__.py (no class)   2 0 0   100%
seedboxsync/front/forms/validators/validators.py DomainOrIP   14 3 0   79%
seedboxsync/front/forms/validators/validators.py (no class)   7 0 0   100%
seedboxsync/front/login_manager.py (no class)   43 4 0   91%
seedboxsync/front/oauth2.py (no class)   10 0 0   100%
seedboxsync/front/utils.py (no class)   60 12 0   80%
seedboxsync/front/views/__init__.py (no class)   14 0 0   100%
seedboxsync/front/views/auth/authorize.py (no class)   48 5 0   90%
seedboxsync/front/views/auth/login.py (no class)   38 5 0   87%
seedboxsync/front/views/auth/logout.py (no class)   10 0 0   100%
seedboxsync/front/views/error.py (no class)   8 0 0   100%
seedboxsync/front/views/frontend/downloaded.py (no class)   9 0 0   100%
seedboxsync/front/views/frontend/healthcheck.py (no class)   5 0 0   100%
seedboxsync/front/views/frontend/homepage.py (no class)   9 0 0   100%
seedboxsync/front/views/frontend/stats.py (no class)   15 0 0   100%
seedboxsync/front/views/frontend/uploaded.py (no class)   9 0 0   100%
seedboxsync/front/views/settings/apikeys.py (no class)   53 10 0   81%
seedboxsync/front/views/settings/authentication.py (no class)   22 3 0   86%
seedboxsync/front/views/settings/info.py (no class)   31 0 0   100%
seedboxsync/front/views/settings/nas.py (no class)   19 0 0   100%
seedboxsync/front/views/settings/ping.py (no class)   19 0 0   100%
seedboxsync/front/views/settings/seedbox.py (no class)   19 0 0   100%
seedboxsync/front/views/settings/seedboxsync.py (no class)   19 0 0   100%
seedboxsync/front/views/settings/users.py (no class)   85 13 0   85%
seedboxsync/taskmanager.py (no class)   32 1 0   97%
Total     2810 196 118   93%

No items found using the specified filter.