Coverage report: 74.730%

Files Functions Classes

coverage.py v7.13.5, created at 2026-04-24 17:35 +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)   218 40 472   81.651%
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)   170 13 0   92.353%
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   25 8 0   68.000%
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   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)   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)   343 146 0   57.434%
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 50   44.231%
an_website / utils / base_request_handler.py _RequestHandler   65 38 2   41.538%
an_website / utils / base_request_handler.py BaseRequestHandler   282 66 0   76.596%
an_website / utils / base_request_handler.py (no class)   146 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 / elasticsearch_setup.py setup_elasticsearch.Kwargs   0 0 0   100.000%
an_website / utils / elasticsearch_setup.py (no class)   67 40 1   40.299%
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)   65 5 0   92.308%
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)   6 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)   342 106 15   69.006%
an_website / version / __init__.py (no class)   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)   33 0 0   100.000%
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     5750 1453 641   74.730%

No items found using the specified filter.