Coverage report: 74.250%

Files Functions Classes

coverage.py v7.14.1, created at 2026-06-10 18:56 +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)   68 15 2   77.941%
an_website/backdoor/__init__.py (no class)   4 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)   43 0 0   100.000%
an_website/commitment/__init__.py (no class)   0 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)   34 1 0   97.059%
an_website/contact/__init__.py (no class)   0 0 0   100.000%
an_website/contact/contact.py ContactPage   42 34 0   19.048%
an_website/contact/contact.py (no class)   67 6 0   91.045%
an_website/currency_converter/__init__.py (no class)   0 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)   74 0 0   100.000%
an_website/discord/__init__.py (no class)   0 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)   58 17 0   70.690%
an_website/emoji_chat/__init__.py (no class)   4 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)   101 38 1   62.376%
an_website/emoji_chat/pub_sub_provider.py PubSubProvider   13 13 0   0.000%
an_website/emoji_chat/pub_sub_provider.py (no class)   12 0 0   100.000%
an_website/endpoints/__init__.py (no class)   0 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)   13 0 0   100.000%
an_website/example/__init__.py (no class)   0 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)   20 0 0   100.000%
an_website/fake_orjson.py JSONEncodeError   0 0 0   100.000%
an_website/fake_orjson.py (no class)   54 54 0   0.000%
an_website/hangman_solver/__init__.py (no class)   0 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)   36 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)   23 0 0   100.000%
an_website/host_info/__init__.py (no class)   0 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)   25 0 0   100.000%
an_website/js_licenses/__init__.py (no class)   0 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)   32 4 1   87.500%
an_website/kangaroo_comics/__init__.py (no class)   0 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)   8 0 0   100.000%
an_website/lolwut/__init__.py (no class)   0 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)   26 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)   226 45 482   80.088%
an_website/main_page/__init__.py (no class)   0 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)   8 0 1   100.000%
an_website/patches/__init__.py (no class)   159 13 0   91.824%
an_website/patches/braille.py (no class)   16 9 0   43.750%
an_website/patches/json.py SupportsRead   1 1 0   0.000%
an_website/patches/json.py (no class)   47 33 0   29.787%
an_website/ping/__init__.py (no class)   0 0 0   100.000%
an_website/ping/ping.py PingPong   3 0 0   100.000%
an_website/ping/ping.py (no class)   8 0 0   100.000%
an_website/quotes/__init__.py (no class)   12 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)   113 34 0   69.912%
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)   20 7 0   65.000%
an_website/quotes/image.py QuoteAsImage   25 6 0   76.000%
an_website/quotes/image.py (no class)   142 21 0   85.211%
an_website/quotes/info.py QuotesInfoPage   8 1 0   87.500%
an_website/quotes/info.py AuthorsInfoPage   28 10 0   64.286%
an_website/quotes/info.py (no class)   52 6 0   88.462%
an_website/quotes/quote_of_the_day/__init__.py QuoteOfTheDayBaseHandler   28 11 0   60.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 0 0   100.000%
an_website/quotes/quote_of_the_day/__init__.py (no class)   23 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)   14 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 16 0   44.828%
an_website/quotes/quote_of_the_day/store.py (no class)   32 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   12 1 0   91.667%
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)   99 12 0   87.879%
an_website/quotes/share.py ShareQuote   7 1 0   85.714%
an_website/quotes/share.py (no class)   5 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   9 6 0   33.333%
an_website/quotes/utils.py Quote   14 9 0   35.714%
an_website/quotes/utils.py WrongQuote   40 24 0   40.000%
an_website/quotes/utils.py QuoteReadyCheckHandler   18 13 0   27.778%
an_website/quotes/utils.py (no class)   344 146 0   57.558%
an_website/random_text/__init__.py (no class)   3 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)   42 0 0   100.000%
an_website/redirect/__init__.py (no class)   0 0 0   100.000%
an_website/redirect/redirect.py RedirectPage   8 1 0   87.500%
an_website/redirect/redirect.py (no class)   11 1 0   90.909%
an_website/reporting/__init__.py (no class)   0 0 0   100.000%
an_website/reporting/reporting.py ReportingAPI   56 54 0   3.571%
an_website/reporting/reporting.py (no class)   33 8 0   75.758%
an_website/search/__init__.py (no class)   0 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)   30 0 0   100.000%
an_website/services/__init__.py (no class)   0 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)   10 0 0   100.000%
an_website/settings/__init__.py (no class)   0 0 0   100.000%
an_website/settings/settings.py SettingsPage   25 3 0   88.000%
an_website/settings/settings.py (no class)   16 0 0   100.000%
an_website/soundboard/__init__.py (no class)   9 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)   71 7 0   90.141%
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)   37 0 0   100.000%
an_website/swapped_words/__init__.py (no class)   5 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)   93 3 0   96.774%
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)   36 0 0   100.000%
an_website/troet/__init__.py (no class)   0 0 0   100.000%
an_website/troet/troet.py Troeter   20 0 0   100.000%
an_website/troet/troet.py (no class)   8 0 0   100.000%
an_website/update/__init__.py (no class)   0 0 0   100.000%
an_website/update/update.py TempFile   0 0 0   100.000%
an_website/update/update.py UpdateAPI   0 0 53   100.000%
an_website/update/update.py (no class)   27 3 22   88.889%
an_website/uptime/__init__.py (no class)   0 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)   39 7 0   82.051%
an_website/utils/__init__.py (no class)   6 0 1   100.000%
an_website/utils/background_tasks.py BackgroundTask   0 0 0   100.000%
an_website/utils/background_tasks.py (no class)   52 29 47   44.231%
an_website/utils/base_request_handler.py _RequestHandler   65 38 2   41.538%
an_website/utils/base_request_handler.py BaseRequestHandler   283 66 0   76.678%
an_website/utils/base_request_handler.py (no class)   148 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)   48 0 0   100.000%
an_website/utils/data_parsing.py (no class)   139 55 0   60.432%
an_website/utils/decorators.py (no class)   110 22 0   80.000%
an_website/utils/elastic_transport_async_http_node.py TornadoConnectionError   0 0 0   100.000%
an_website/utils/elastic_transport_async_http_node.py TornadoAsyncNode   32 32 0   0.000%
an_website/utils/elastic_transport_async_http_node.py (no class)   20 3 0   85.000%
an_website/utils/elasticsearch_setup.py setup_elasticsearch.Kwargs   0 0 0   100.000%
an_website/utils/elasticsearch_setup.py (no class)   68 40 1   41.176%
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)   53 20 0   62.264%
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)   74 5 0   93.243%
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)   31 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)   34 1 0   97.059%
an_website/utils/static_file_from_traversable.py TraversableStaticFileHandler   111 8 0   92.793%
an_website/utils/static_file_from_traversable.py (no class)   37 0 0   100.000%
an_website/utils/static_file_handling.py get_handlers.NoRatelimitTraversableStaticFileHandler   0 0 0   100.000%
an_website/utils/static_file_handling.py (no class)   38 0 2   100.000%
an_website/utils/template_loader.py TemplateLoader   6 0 0   100.000%
an_website/utils/template_loader.py (no class)   10 0 0   100.000%
an_website/utils/themes.py (no class)   11 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)   79 6 0   92.405%
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)   346 109 15   68.497%
an_website/version/__init__.py (no class)   0 0 0   100.000%
an_website/version/version.py _Hash   0 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)   44 5 0   88.636%
an_website/whats_my_ip/__init__.py (no class)   0 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)   9 0 0   100.000%
an_website/wiki/__init__.py (no class)   0 0 0   100.000%
an_website/wiki/wiki.py WikiHandler   6 1 0   83.333%
an_website/wiki/wiki.py (no class)   8 0 0   100.000%
Total     5837 1503 648   74.250%

No items found using the specified filter.