Coverage report: 76.424%

Files Functions Classes

coverage.py v7.13.1, created at 2026-01-11 19:37 +0000

File class   statements missing excluded   coverage
an_website / __init__.py MediaType   0 0 0   100.000%
an_website / __init__.py UptimeTimer   4 0 0   100.000%
an_website / __init__.py (no class)   73 15 2   79.452%
an_website / backdoor / __init__.py (no class)   5 0 0   100.000%
an_website / backdoor / backdoor.py PrintWrapper   3 0 0   100.000%
an_website / backdoor / backdoor.py Backdoor   125 28 0   77.600%
an_website / backdoor / backdoor.py (no class)   44 0 0   100.000%
an_website / commitment / __init__.py (no class)   1 0 0   100.000%
an_website / commitment / commitment.py Arguments   0 0 0   100.000%
an_website / commitment / commitment.py CommitmentAPI   19 1 0   94.737%
an_website / commitment / commitment.py (no class)   35 1 0   97.143%
an_website / contact / __init__.py (no class)   1 0 0   100.000%
an_website / contact / contact.py ContactPage   42 33 0   21.429%
an_website / contact / contact.py (no class)   68 6 0   91.176%
an_website / currency_converter / __init__.py (no class)   1 0 0   100.000%
an_website / currency_converter / converter.py CurrencyConverter   26 13 0   50.000%
an_website / currency_converter / converter.py CurrencyConverterAPI   8 3 0   62.500%
an_website / currency_converter / converter.py (no class)   75 0 0   100.000%
an_website / discord / __init__.py (no class)   1 0 0   100.000%
an_website / discord / discord.py ANDiscord   6 1 0   83.333%
an_website / discord / discord.py DiscordAPI   2 0 0   100.000%
an_website / discord / discord.py ANDiscordAPI   0 0 0   100.000%
an_website / discord / discord.py (no class)   59 17 0   71.186%
an_website / emoji_chat / __init__.py (no class)   5 0 0   100.000%
an_website / emoji_chat / chat.py ChatHandler   24 10 1   58.333%
an_website / emoji_chat / chat.py HTMLChatHandler   1 0 0   100.000%
an_website / emoji_chat / chat.py APIChatHandler   1 1 0   0.000%
an_website / emoji_chat / chat.py ChatWebSocketHandler   36 36 3   0.000%
an_website / emoji_chat / chat.py (no class)   104 38 1   63.462%
an_website / emoji_chat / pub_sub_provider.py PubSubProvider   13 13 0   0.000%
an_website / emoji_chat / pub_sub_provider.py (no class)   16 0 0   100.000%
an_website / endpoints / __init__.py (no class)   1 0 0   100.000%
an_website / endpoints / endpoints.py Endpoints   9 0 0   100.000%
an_website / endpoints / endpoints.py EndpointsAPI   3 1 0   66.667%
an_website / endpoints / endpoints.py (no class)   14 0 0   100.000%
an_website / example / __init__.py (no class)   1 0 0   100.000%
an_website / example / example.py ExampleArguments   3 1 0   66.667%
an_website / example / example.py Example   4 0 0   100.000%
an_website / example / example.py ExampleAPI   1 1 0   0.000%
an_website / example / example.py (no class)   21 0 0   100.000%
an_website / fake_orjson.py JSONEncodeError   0 0 0   100.000%
an_website / fake_orjson.py (no class)   55 55 0   0.000%
an_website / hangman_solver / __init__.py (no class)   1 0 0   100.000%
an_website / hangman_solver / hangman_solver.py HangmanArguments   1 0 0   100.000%
an_website / hangman_solver / hangman_solver.py HangmanSolver   3 0 0   100.000%
an_website / hangman_solver / hangman_solver.py HangmanSolverAPI   4 0 0   100.000%
an_website / hangman_solver / hangman_solver.py HangmanSolverWords   12 12 0   0.000%
an_website / hangman_solver / hangman_solver.py (no class)   37 0 0   100.000%
an_website / hangman_solver / wordgame_solver.py WordgameSolver   7 0 0   100.000%
an_website / hangman_solver / wordgame_solver.py WordgameSolverAPI   6 0 0   100.000%
an_website / hangman_solver / wordgame_solver.py (no class)   24 0 0   100.000%
an_website / host_info / __init__.py (no class)   1 0 0   100.000%
an_website / host_info / host_info.py HostInfo   10 0 0   100.000%
an_website / host_info / host_info.py UwUHostInfo   14 9 0   35.714%
an_website / host_info / host_info.py (no class)   26 0 0   100.000%
an_website / js_licenses / __init__.py (no class)   1 0 0   100.000%
an_website / js_licenses / js_licenses.py JSLicenses   3 0 0   100.000%
an_website / js_licenses / js_licenses.py (no class)   33 4 1   87.879%
an_website / kangaroo_comics / __init__.py (no class)   1 0 0   100.000%
an_website / kangaroo_comics / comics.py KangarooComicsRedirect   3 0 0   100.000%
an_website / kangaroo_comics / comics.py KangarooComics   3 1 0   66.667%
an_website / kangaroo_comics / comics.py (no class)   9 0 0   100.000%
an_website / lolwut / __init__.py (no class)   1 0 0   100.000%
an_website / lolwut / lolwut.py LOLWUT   6 1 0   83.333%
an_website / lolwut / lolwut.py LOLWUTAPI   6 6 0   0.000%
an_website / lolwut / lolwut.py LOLWUTRedirectHandler   2 2 0   0.000%
an_website / lolwut / lolwut.py (no class)   27 0 0   100.000%
an_website / main.py WebhookLoggingOptions   8 8 0   0.000%
an_website / main.py setup_redis.Kwargs   0 0 0   100.000%
an_website / main.py (no class)   235 38 475   83.830%
an_website / main_page / __init__.py (no class)   1 0 0   100.000%
an_website / main_page / main_page.py MainPage   7 0 1   100.000%
an_website / main_page / main_page.py (no class)   9 0 1   100.000%
an_website / patches / __init__.py (no class)   170 18 0   89.412%
an_website / patches / braille.py (no class)   17 9 0   47.059%
an_website / patches / json.py SupportsRead   1 1 0   0.000%
an_website / patches / json.py (no class)   48 33 0   31.250%
an_website / ping / __init__.py (no class)   1 0 0   100.000%
an_website / ping / ping.py PingPong   3 0 0   100.000%
an_website / ping / ping.py (no class)   9 0 0   100.000%
an_website / quotes / __init__.py (no class)   13 0 0   100.000%
an_website / quotes / create.py QuoteInfoArgs   0 0 0   100.000%
an_website / quotes / create.py CreatePage1   31 16 0   48.387%
an_website / quotes / create.py CreatePage2   17 8 0   52.941%
an_website / quotes / create.py (no class)   103 23 0   77.670%
an_website / quotes / generator.py QuoteGenerator   5 1 0   80.000%
an_website / quotes / generator.py QuoteGeneratorAPI   5 1 0   80.000%
an_website / quotes / generator.py (no class)   21 7 0   66.667%
an_website / quotes / image.py QuoteAsImage   25 6 0   76.000%
an_website / quotes / image.py (no class)   143 21 0   85.315%
an_website / quotes / info.py QuotesInfoPage   6 0 0   100.000%
an_website / quotes / info.py AuthorsInfoPage   23 7 0   69.565%
an_website / quotes / info.py (no class)   52 6 0   88.462%
an_website / quotes / quote_of_the_day / __init__.py QuoteOfTheDayBaseHandler   28 4 0   85.714%
an_website / quotes / quote_of_the_day / __init__.py QuoteOfTheDayRSS   5 1 0   80.000%
an_website / quotes / quote_of_the_day / __init__.py QuoteOfTheDayAPI   9 9 0   0.000%
an_website / quotes / quote_of_the_day / __init__.py QuoteOfTheDayRedirect   4 1 0   75.000%
an_website / quotes / quote_of_the_day / __init__.py (no class)   24 0 0   100.000%
an_website / quotes / quote_of_the_day / data.py QuoteOfTheDayData   7 1 0   85.714%
an_website / quotes / quote_of_the_day / data.py (no class)   18 0 0   100.000%
an_website / quotes / quote_of_the_day / store.py QuoteOfTheDayStore   0 0 4   100.000%
an_website / quotes / quote_of_the_day / store.py QuoteOfTheDayStoreWithCache   7 4 0   42.857%
an_website / quotes / quote_of_the_day / store.py RedisQuoteOfTheDayStore   29 6 0   79.310%
an_website / quotes / quote_of_the_day / store.py (no class)   36 0 0   100.000%
an_website / quotes / quotes.py VoteArgument   0 0 0   100.000%
an_website / quotes / quotes.py QuoteBaseHandler   19 2 0   89.474%
an_website / quotes / quotes.py QuoteMainPage   11 1 0   90.909%
an_website / quotes / quotes.py QuoteById   72 42 0   41.667%
an_website / quotes / quotes.py QuoteAPIHandler   5 1 0   80.000%
an_website / quotes / quotes.py QuoteRedirectAPI   6 0 0   100.000%
an_website / quotes / quotes.py (no class)   104 12 0   88.462%
an_website / quotes / share.py ShareQuote   7 1 0   85.714%
an_website / quotes / share.py (no class)   6 0 0   100.000%
an_website / quotes / utils.py UltraDictType   0 0 0   100.000%
an_website / quotes / utils.py QuotesObjBase   1 1 3   0.000%
an_website / quotes / utils.py Author   5 2 0   60.000%
an_website / quotes / utils.py Quote   6 2 0   66.667%
an_website / quotes / utils.py WrongQuote   21 8 0   61.905%
an_website / quotes / utils.py QuoteReadyCheckHandler   18 13 0   27.778%
an_website / quotes / utils.py (no class)   335 135 0   59.701%
an_website / random_text / __init__.py (no class)   4 0 0   100.000%
an_website / random_text / random_text.py Arguments   1 0 0   100.000%
an_website / random_text / random_text.py RandomText   7 0 0   100.000%
an_website / random_text / random_text.py (no class)   43 0 0   100.000%
an_website / redirect / __init__.py (no class)   1 0 0   100.000%
an_website / redirect / redirect.py RedirectPage   8 1 0   87.500%
an_website / redirect / redirect.py (no class)   12 1 0   91.667%
an_website / reporting / __init__.py (no class)   1 0 0   100.000%
an_website / reporting / reporting.py ReportingAPI   56 54 0   3.571%
an_website / reporting / reporting.py (no class)   34 8 0   76.471%
an_website / search / __init__.py (no class)   1 0 0   100.000%
an_website / search / search.py Search   29 14 0   51.724%
an_website / search / search.py SearchAPIHandler   3 3 0   0.000%
an_website / search / search.py (no class)   31 0 0   100.000%
an_website / services / __init__.py (no class)   1 0 0   100.000%
an_website / services / services.py Service   0 0 0   100.000%
an_website / services / services.py ServicesHandler   3 0 0   100.000%
an_website / services / services.py (no class)   14 0 0   100.000%
an_website / settings / __init__.py (no class)   1 0 0   100.000%
an_website / settings / settings.py SettingsPage   25 3 0   88.000%
an_website / settings / settings.py (no class)   17 0 0   100.000%
an_website / soundboard / __init__.py (no class)   10 0 0   100.000%
an_website / soundboard / data.py Info   1 1 0   0.000%
an_website / soundboard / data.py HeaderInfo   3 0 0   100.000%
an_website / soundboard / data.py SoundInfo   23 5 0   78.261%
an_website / soundboard / data.py (no class)   75 7 0   90.667%
an_website / soundboard / soundboard.py SoundboardHTMLHandler   40 3 0   92.500%
an_website / soundboard / soundboard.py SoundboardRSSHandler   8 1 0   87.500%
an_website / soundboard / soundboard.py (no class)   38 0 0   100.000%
an_website / swapped_words / __init__.py (no class)   6 0 0   100.000%
an_website / swapped_words / config_file.py ConfigLine   0 0 1   100.000%
an_website / swapped_words / config_file.py Comment   1 0 0   100.000%
an_website / swapped_words / config_file.py WordPair   5 0 2   100.000%
an_website / swapped_words / config_file.py OneWayPair   6 0 0   100.000%
an_website / swapped_words / config_file.py TwoWayPair   11 0 0   100.000%
an_website / swapped_words / config_file.py InvalidConfigError   1 0 0   100.000%
an_website / swapped_words / config_file.py SwappedWordsConfig   23 1 0   95.652%
an_website / swapped_words / config_file.py (no class)   100 3 0   97.000%
an_website / swapped_words / swap.py SwArgs   7 0 0   100.000%
an_website / swapped_words / swap.py SwappedWords   13 0 0   100.000%
an_website / swapped_words / swap.py SwappedWordsAPI   9 0 0   100.000%
an_website / swapped_words / swap.py (no class)   37 0 0   100.000%
an_website / troet / __init__.py (no class)   1 0 0   100.000%
an_website / troet / troet.py Troeter   20 0 0   100.000%
an_website / troet / troet.py (no class)   9 0 0   100.000%
an_website / update / __init__.py (no class)   1 0 0   100.000%
an_website / update / update.py UpdateAPI   0 0 53   100.000%
an_website / update / update.py (no class)   24 4 22   83.333%
an_website / uptime / __init__.py (no class)   1 0 0   100.000%
an_website / uptime / uptime.py AvailabilityDict   0 0 0   100.000%
an_website / uptime / uptime.py EsAvailabilityKwargs   0 0 0   100.000%
an_website / uptime / uptime.py UptimeHandler   8 0 0   100.000%
an_website / uptime / uptime.py AvailabilityChartHandler   12 12 0   0.000%
an_website / uptime / uptime.py UptimeAPIHandler   0 0 0   100.000%
an_website / uptime / uptime.py (no class)   48 7 0   85.417%
an_website / utils / __init__.py (no class)   7 0 1   100.000%
an_website / utils / background_tasks.py BackgroundTask   0 0 0   100.000%
an_website / utils / background_tasks.py (no class)   53 29 50   45.283%
an_website / utils / base_request_handler.py _RequestHandler   65 38 2   41.538%
an_website / utils / base_request_handler.py BaseRequestHandler   280 66 0   76.429%
an_website / utils / base_request_handler.py (no class)   151 0 2   100.000%
an_website / utils / better_config_parser.py BetterConfigParser   76 23 0   69.737%
an_website / utils / better_config_parser.py (no class)   52 0 0   100.000%
an_website / utils / data_parsing.py (no class)   140 55 0   60.714%
an_website / utils / decorators.py (no class)   111 22 0   80.180%
an_website / utils / elasticsearch_setup.py setup_elasticsearch.Kwargs   0 0 0   100.000%
an_website / utils / elasticsearch_setup.py (no class)   76 40 1   47.368%
an_website / utils / fix_static_path_impl.py (no class)   49 3 0   93.878%
an_website / utils / logging.py AsyncHandler   19 19 1   0.000%
an_website / utils / logging.py DatetimeFormatter   4 4 0   0.000%
an_website / utils / logging.py WebhookFormatter   17 17 0   0.000%
an_website / utils / logging.py WebhookHandler   8 8 0   0.000%
an_website / utils / logging.py (no class)   58 20 0   65.517%
an_website / utils / options.py Option   16 1 0   93.750%
an_website / utils / options.py Options   13 0 0   100.000%
an_website / utils / options.py (no class)   69 4 0   94.203%
an_website / utils / request_handler.py HTMLRequestHandler   0 0 0   100.000%
an_website / utils / request_handler.py APIRequestHandler   0 0 0   100.000%
an_website / utils / request_handler.py NotFoundHandler   33 1 0   96.970%
an_website / utils / request_handler.py ErrorPage   12 1 0   91.667%
an_website / utils / request_handler.py ZeroDivision   4 4 0   0.000%
an_website / utils / request_handler.py (no class)   32 0 0   100.000%
an_website / utils / search.py Query   17 10 0   41.176%
an_website / utils / search.py ScoredValue   0 0 0   100.000%
an_website / utils / search.py DataProvider   9 9 0   0.000%
an_website / utils / search.py (no class)   41 1 0   97.561%
an_website / utils / static_file_from_traversable.py TraversableStaticFileHandler   111 8 0   92.793%
an_website / utils / static_file_from_traversable.py (no class)   39 0 0   100.000%
an_website / utils / static_file_handling.py (no class)   35 0 2   100.000%
an_website / utils / template_loader.py TemplateLoader   6 0 0   100.000%
an_website / utils / template_loader.py (no class)   12 0 0   100.000%
an_website / utils / themes.py (no class)   7 0 0   100.000%
an_website / utils / token.py ParseResult   0 0 0   100.000%
an_website / utils / token.py InvalidTokenError   0 0 0   100.000%
an_website / utils / token.py InvalidTokenVersionError   0 0 0   100.000%
an_website / utils / token.py (no class)   74 4 0   94.595%
an_website / utils / utils.py ArgparseNamespace   0 0 0   100.000%
an_website / utils / utils.py AwaitableValue   3 2 0   33.333%
an_website / utils / utils.py Permission   0 0 0   100.000%
an_website / utils / utils.py Timer   8 3 0   62.500%
an_website / utils / utils.py PageInfo   0 0 0   100.000%
an_website / utils / utils.py ModuleInfo   10 0 0   100.000%
an_website / utils / utils.py (no class)   368 106 15   71.196%
an_website / version / __init__.py (no class)   1 0 0   100.000%
an_website / version / version.py VersionAPI   3 0 0   100.000%
an_website / version / version.py Version   3 0 0   100.000%
an_website / version / version.py (no class)   34 0 0   100.000%
an_website / whats_my_ip / __init__.py (no class)   1 0 0   100.000%
an_website / whats_my_ip / ip.py IPAPI   5 1 0   80.000%
an_website / whats_my_ip / ip.py IP   5 1 0   80.000%
an_website / whats_my_ip / ip.py (no class)   10 0 0   100.000%
an_website / wiki / __init__.py (no class)   1 0 0   100.000%
an_website / wiki / wiki.py WikiHandler   6 1 0   83.333%
an_website / wiki / wiki.py (no class)   9 0 0   100.000%
Total     5883 1387 644   76.424%

No items found using the specified filter.