Skip to content

Commit

Permalink
Merge pull request #114 from bomzheg/coverage
Browse files Browse the repository at this point in the history
coverage
  • Loading branch information
bomzheg authored Nov 18, 2024
2 parents 0d18eb9 + 77f9eac commit 9293c67
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
11 changes: 11 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ jobs:
- name: Test with pytest
run: source .venv/bin/activate && pytest --cov-report "xml:coverage.xml" --cov=shvatka tests/
- name: Coverage comment
id: coverageComment
uses: MishaKav/pytest-coverage-comment@main
with:
pytest-xml-coverage-path: ./coverage.xml
Expand All @@ -73,6 +74,16 @@ jobs:
hide-comment: false
report-only-changed-files: false
remove-link-from-badge: false
- name: Create the Badge
uses: schneegans/[email protected]
with:
auth: ${{ secrets.BAGE_GIST }}
gistID: 99469cb5f8a18784c1f03d229a799427
filename: bage.json
label: Coverage Report
message: ${{ steps.coverageComment.outputs.coverage }}
color: ${{ steps.coverageComment.outputs.color }}
namedLogo: python
docs:
needs: [build]
runs-on: ubuntu-latest
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# new shvatka bot

[![wakatime](https://wakatime.com/badge/github/bomzheg/Shvatka.svg)](https://wakatime.com/badge/github/bomzheg/Shvatka)
![coverage](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/bomzheg/99469cb5f8a18784c1f03d229a799427/raw/bage.json)


Движок для ночной поисковой игры [Схватка](https://ru.wikipedia.org/wiki/%D0%A1%D1%85%D0%B2%D0%B0%D1%82%D0%BA%D0%B0_(%D0%B8%D0%B3%D1%80%D0%B0)) (похожа на Дозоры, Энакунтер)

Expand Down

2 comments on commit 9293c67

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

coverage

Let's see coverage
FileStmtsMissCoverMissing
__init__.py00100% 
api
   __init__.py00100% 
   main_factory.py16193%31
   password_hash.py13130%1–2, 4–5, 8–9, 11, 14–15, 17–20
api/config
   __init__.py00100% 
api/config/models
   __init__.py00100% 
   auth.py150100% 
   main.py120100% 
api/config/parser
   __init__.py00100% 
   auth.py40100% 
   main.py100100% 
api/dependencies
   __init__.py18666%13–14, 18–19, 23, 30
   auth.py1083765%52–56, 88–89, 91–96, 99–101, 105–112, 138–142, 146–150, 154–156
   config.py130100% 
   player.py90100% 
   team.py13376%19–21
api/middlewares
   __init__.py13469%11, 13, 17, 21
   log.py9455%10–12, 15
api/models
   __init__.py00100% 
   auth.py40490%44, 53–55
   responses.py1151586%66, 89, 112, 135–137, 158–160, 175–177, 194–196
api/routes
   __init__.py110100% 
   auth.py602066%46–48, 74–78, 89–93, 104–109, 114
   game.py611378%34, 43–45, 72–73, 82–83, 95–98, 106
   team.py120100% 
   user.py27388%36–38
   version.py12191%11
api/utils
   __init__.py00100% 
   cookie_auth.py21195%28
   error_converter.py50100% 
common
   __init__.py20100% 
   data_examples.py90100% 
   factory.py370100% 
   url_factory.py6266%6, 9
common/config
   __init__.py30100% 
common/config/models
   __init__.py30100% 
   main.py34391%21, 25, 29
   paths.py18288%21, 25
common/config/parser
   __init__.py20100% 
   config_file_reader.py50100% 
   logging_config.py15380%19–21
   main.py120100% 
   paths.py7185%10
core
   __init__.py00100% 
core/config
   __init__.py00100% 
   constants.py10100% 
core/games
   __init__.py00100% 
   adapters.py170100% 
   dto.py100100% 
   interactors.py571573%22, 25–28, 33, 36–38, 49–51, 61–62, 79
core/interfaces
   __init__.py00100% 
core/interfaces/clients
   __init__.py00100% 
   file_storage.py100100% 
core/interfaces/dal
   __init__.py00100% 
   achievement.py70100% 
   base.py30100% 
   chat.py100100% 
   complex.py220100% 
   file_info.py70100% 
   game.py440100% 
   game_play.py200100% 
   key_log.py100100% 
   level.py270100% 
   level_testing.py140100% 
   level_times.py170100% 
   organizer.py210100% 
   player.py670100% 
   secure_invite.py90100% 
   team.py270100% 
   user.py110100% 
   waiver.py260100% 
core/interfaces/scheduler
   __init__.py10100% 
   sheduler.py17382%33–34, 37
core/models
   __init__.py00100% 
core/models/dto
   __init__.py180100% 
   achievement.py100100% 
   chat.py25292%23, 28
   common.py60100% 
   export_stat.py681775%10, 30–31, 35–44, 46, 56, 71, 88
   forum_team.py70100% 
   forum_user.py12191%15
   game.py831384%27, 30, 33, 42, 45, 49, 53, 57, 61, 65, 71, 124, 128
   level.py33196%33
   level_testing.py260100% 
   levels_times.py270100% 
   organizer.py200100% 
   player.py572064%26–28, 30, 38, 41–45, 49, 54–57, 60–63, 66
   poll.py130100% 
   team.py34488%28, 39, 44, 47
   team_player.py721283%29–31, 34, 37, 73, 77, 107–109, 112, 122
   time_key.py440100% 
   user.py31293%20, 23
   version.py50100% 
   waiver.py140100% 
core/models/dto/scn
   __init__.py60100% 
   file_content.py490100% 
   game.py330100% 
   hint_part.py1011882%51, 77, 85–87, 95–97, 105–107, 115–117, 125, 133, 145, 153
   level.py1231885%21–23, 26, 43, 53, 57, 61, 86–88, 100, 102, 109, 113, 124–126
   parsed_zip.py301550%20–27, 33–36, 39–40, 42
   time_hint.py36197%27
core/models/enums
   __init__.py100100% 
   achievement.py30100% 
   chat_type.py60100% 
   game_status.py120100% 
   hint_type.py140100% 
   invite_type.py50100% 
   key_type.py50100% 
   org_permission.py50100% 
   played.py24579%19, 23, 27, 31, 35
   team_player_permission.py70100% 
core/models/schems
   __init__.py40100% 
   level.py17664%13–15, 19–21
core/rules
   __init__.py00100% 
   game.py100100% 
   level.py15660%7–8, 16–17, 25, 31
core/services
   __init__.py00100% 
   achievement.py80100% 
   chat.py90100% 
   game.py1245456%47, 70–79, 95–101, 111, 127–131, 134–136, 153–154, 164–167, 186–192, 194–195, 197, 203–208, 213, 220–221, 229, 237
   game_play.py1163173%34–35, 40–41, 47, 67–68, 123, 135–136, 150–151, 228, 234, 238, 244, 287, 292, 294–296, 300–306, 308–310
   game_stat.py180100% 
   key.py43588%19, 53–55, 60
   level.py371559%33–38, 46–48, 52–54, 60–62
   level_testing.py60591%46, 52, 56, 63, 84
   organizers.py641182%41, 46, 72, 77, 91, 97–99, 107, 129, 138
   player.py1638249%46, 54, 58, 62, 74–75, 79–80, 85–86, 90–92, 128, 134–138, 148–152, 158, 160, 163, 184, 192–193, 221–224, 228, 234–236, 240–241, 248, 255, 264–265, 270–271, 276–284, 286–287, 299–314, 323–325, 329–330, 334–335, 341, 352
   team.py893857%36–41, 43, 90, 98, 102, 108–112, 122–123, 127–128, 133–140, 153–154, 157–161, 170, 177–179
   user.py110100% 
   waiver.py631477%90, 102, 106–109, 119–121, 127–129, 138, 143
core/services/scenario
   __init__.py00100% 
   files.py361655%29–34, 40–44, 50–52, 60–61
   game_ops.py12191%18
   level_ops.py16193%23
   scn_zip.py332330%15–22, 25–27, 29–32, 36–38, 42–46
core/utils
   __init__.py00100% 
   datetime_utils.py22386%30, 34–35
   defaults_constants.py40100% 
   exceptions.py1311092%5, 57, 75–78, 237–238, 263–264
   input_validation.py28871%36–39, 46–49
   key_checker_lock.py160100% 
core/views
   __init__.py00100% 
   game.py480100% 
   level.py80100% 
   texts.py70100% 
infrastructure
   __init__.py00100% 
   file_id_updater.py26260%1–2, 4, 6–12, 15–16, 18–19, 22–25, 27, 30–34, 37–38
   version.py8275%11–12
infrastructure/clients
   __init__.py00100% 
   factory.py5180%7
   file_gateway.py421466%33, 40–41, 44, 53–54, 59–62, 65–68
   file_storage.py25196%21
infrastructure/crawler
   __init__.py00100% 
   auth.py291934%13–16, 20–23, 27, 41–44, 51–52, 56–57, 61–62
   constants.py60100% 
   factory.py440%1–2, 5–6
infrastructure/crawler/game_scn
   __init__.py00100% 
   common.py220%1–2
infrastructure/crawler/game_scn/loader
   __init__.py00100% 
   load_scns.py1311310%1–7, 9–10, 12–18, 24–31, 33, 36–37, 39–40, 43–49, 57, 60, 67–72, 79–84, 86–87, 89, 92–101, 104–113, 115–116, 128, 131–138, 141–152, 157, 160, 170, 173–178, 187–192, 195–205, 208, 215–222
infrastructure/crawler/game_scn/parser
   __init__.py00100% 
   parser.py2082080%1–8, 10, 17–19, 21–28, 30–32, 35–36, 39–49, 52–53, 56, 59–74, 76–81, 85–86, 89–94, 99–123, 130, 138–142, 144–157, 162–163, 165–171, 173–175, 177–190, 193–194, 196–203, 208–210, 221–224, 226–231, 234–235, 242–243, 245–250, 252–254, 262, 264–266, 271–276, 278–281, 296, 299–306, 311–314, 317–318, 321–323
   parser_svast_engine.py1621620%1–6, 8, 15–16, 18–23, 29, 32–33, 36, 39–40, 43–56, 58–59, 61–62, 66–67, 69–77, 82–102, 109, 117–121, 123–136, 139–140, 142–148, 150–152, 154–155, 159–172, 177–179, 187–190, 192–197, 200–201, 208–209, 211–216, 218–220, 228, 230–232, 237–242, 244–247, 261, 264–265
   resourses.py440%1, 4–5, 9
infrastructure/crawler/game_scn/uploader
   __init__.py00100% 
   forum_scenario_uploader.py402927%15–22, 26, 30–31, 35, 46–47, 51–52, 56, 65–66, 70–71, 75–81, 85
   game_mapper.py372629%11, 15–18, 26–28, 36, 40–49, 51–52, 54, 61–64
infrastructure/crawler/models
   __init__.py20100% 
   credentials.py50100% 
   team.py24483%26, 29–31
   uploadable_game.py230100% 
infrastructure/crawler/teams
   __init__.py00100% 
   loader.py86860%1–5, 7–8, 10–19, 21–22, 25–26, 28–29, 32–37, 39, 42–48, 51–68, 70–72, 74, 78, 87, 90–95, 101–105, 108–109, 115–117, 127–129, 132, 134, 137–138, 141–142
   parse_teams.py74740%1–7, 9–11, 13–17, 19, 22–26, 29–32, 35–39, 41–47, 54–55, 57–62, 66–72, 80–81, 83–87, 91, 97, 99–101, 104–105, 108–115
infrastructure/db
   __init__.py00100% 
   factory.py25484%21–22, 46–47
infrastructure/db/config
   __init__.py00100% 
infrastructure/db/config/models
   __init__.py00100% 
   db.py34779%32–33, 38–39, 41–43
   storage.py130100% 
infrastructure/db/config/parser
   __init__.py00100% 
   db.py70100% 
   storage.py8187%10
infrastructure/db/dao
   __init__.py20100% 
   holder.py106694%106, 110, 122, 126, 156, 160
infrastructure/db/dao/complex
   __init__.py10100% 
   game.py971782%13, 38, 62, 65, 68, 71, 79, 82, 85, 88, 91, 96, 101, 104, 107, 118, 124
   game_play.py75889%25, 28, 33, 36–38, 84, 135
   key_log.py341167%10, 21, 26, 31, 34, 37, 42, 45, 48, 51, 54
   level_testing.py30293%37, 40
   level_times.py511962%9, 17, 20, 23, 28, 33, 41, 44, 52, 55, 58, 61, 66, 71, 76, 79, 82, 85, 88
   orgs.py25388%24, 30, 38
   player.py461860%8, 16, 19, 22, 25, 28, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69
   team.py571082%10, 32, 58, 69, 72, 75, 78, 81, 84, 87
   waiver.py39294%58, 61
infrastructure/db/dao/memory
   __init__.py00100% 
   level_testing.py47491%16, 56, 64, 67
   locker.py240100% 
infrastructure/db/dao/rdb
   __init__.py140100% 
   achievement.py260100% 
   base.py37197%41
   chat.py36683%30–31, 34, 37, 42–43
   file_info.py54885%38, 45–46, 55, 62, 75, 80, 90
   forum_team.py23673%23, 28, 38, 41, 48, 56
   forum_user.py24866%20, 26, 36, 39–40, 43, 46, 49
   game.py1282084%92, 127, 134, 160, 165–167, 178, 183, 197, 206, 210, 215, 225–226, 229, 249, 256, 263, 265
   level.py832569%67–70, 80, 87, 90, 100, 116–117, 122–124, 127, 133–136, 154, 159–160, 163–164, 167, 174
   level_times.py51688%88–92, 116
   log_keys.py42295%135, 142
   organizer.py50982%47–50, 53, 59–60, 80, 104
   player.py1014357%40, 58, 63, 86, 101, 110–113, 116–121, 124–128, 130–132, 135–138, 141–144, 147, 153–158, 161–164, 194
   team.py872867%36–37, 52–55, 57, 63–68, 72, 89, 114, 117–118, 121, 127–128, 131, 137, 142, 145–146, 171–172
   team_player.py1203471%50, 70, 108, 116–117, 140, 147, 154, 161, 170–171, 179–186, 196–199, 202, 219–220, 223, 228–229, 232, 237–238, 247, 273
   user.py471568%26, 29, 32, 35–36, 40, 46–52, 78, 81
   waiver.py631477%32–33, 61–64, 82, 98, 150, 157, 163, 166, 172, 175
infrastructure/db/dao/redis
   __init__.py20100% 
   poll.py53786%46–47, 50–52, 58, 90
   secure_invite.py330100% 
infrastructure/db/migrations
   __init__.py00100% 
   env.py27581%19–20, 27–28, 53
infrastructure/db/migrations/versions
   20220202-233750_4e570bc94610_add_table_users.py100100% 
   20220203-211034_56df5c6b0df6_add_table_chats.py140100% 
   20220718-221646_555d635df99f_add_players.py100100% 
   20221103-232618_50b4aa6c0252_add_file_info_table.py100100% 
   20221120-191137_d81a8894215a_add_teams.py100100% 
   20221120-191242_aeac6812b5c0_add_games.py120100% 
   20221120-192556_f5915dae5735_add_levels.py100100% 
   20221120-193151_1e1b2716e49b_add_level_times.py100100% 
   20221120-193307_5545f6193665_add_log_keys.py100100% 
   20221120-193457_f11592799e60_add_organizer.py100100% 
   20221120-193710_2ab6d1eefd77_add_team_players.py100100% 
   20221120-193806_c92afe138ac8_add_waivers.py120100% 
   20221207-084731_51e122b5e734_add_achievements_table.py100100% 
   20230128-152111_852f6bcc741f_add_game_number.py100100% 
   20230129-125504_bc669f861ca9_reverse_direction_of_relation_user_.py240100% 
   20230129-224138_6db09dd8d555_add_table_forum_user.py100100% 
   20230205-170352_85190e71d702_reverse_relation_team_and_chat.py240100% 
   20230205-212855_c076368bb3aa_add_forumteam_and_is_dummy_for_team_and_.py140100% 
   20230320-231603_511231ffc1bc_add_game_results_columns.py120100% 
   20230511-231855_fb383262d07c_use_bigint_for_published_channel_id.py100100% 
   20230528-140918_84b3c1dab323_change_is_correct_to_type.py180100% 
   __init__.py00100% 
infrastructure/db/models
   __init__.py160100% 
   achievement.py21195%13
   base.py70100% 
   chat.py170100% 
   file_info.py250100% 
   forum_team.py15193%28
   forum_user.py17194%31
   game.py36197%22
   level.py41685%15–16, 27–29, 36
   levels_times.py190100% 
   log_keys.py230100% 
   organizer.py190100% 
   player.py260100% 
   team.py250100% 
   team_player.py27196%60
   user.py180100% 
   waiver.py200100% 
infrastructure/di
   __init__.py7185%9
   bot.py18477%18, 26–27, 31
   config.py46589%34, 46, 50, 58, 62
   db.py38197%47
   files.py16193%17
   interactors.py25292%26, 32
   visualizalization.py43430%1–3, 5–8, 11–17, 20–23, 25–27, 36–37, 40–41, 44–46, 53–67
infrastructure/picture
   __init__.py30100% 
   picture.py705028%25–32, 36–42, 47–52, 56–75, 82, 84, 91–93, 99–102
   results_painter.py251252%18–20, 25–27, 30–35
infrastructure/scheduler
   __init__.py20100% 
   context.py10550%15–17, 23, 25
   factory.py11281%17–18
   scheduler.py492548%21–22, 29–30, 35–36, 43, 54–55, 66–69, 75–78, 89, 104, 119, 122–124, 128, 132
   wrappers.py32320%1, 3–11, 14–15, 21–23, 30–31, 39–41, 50–51, 59–60, 62, 72–73, 82–85, 87
TOTAL7303194873% 

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

coverage

Let's see coverage
FileStmtsMissCoverMissing
__init__.py00100% 
api
   __init__.py00100% 
   main_factory.py16193%31
   password_hash.py13130%1–2, 4–5, 8–9, 11, 14–15, 17–20
api/config
   __init__.py00100% 
api/config/models
   __init__.py00100% 
   auth.py150100% 
   main.py120100% 
api/config/parser
   __init__.py00100% 
   auth.py40100% 
   main.py100100% 
api/dependencies
   __init__.py18666%13–14, 18–19, 23, 30
   auth.py1083765%52–56, 88–89, 91–96, 99–101, 105–112, 138–142, 146–150, 154–156
   config.py130100% 
   player.py90100% 
   team.py13376%19–21
api/middlewares
   __init__.py13469%11, 13, 17, 21
   log.py9455%10–12, 15
api/models
   __init__.py00100% 
   auth.py40490%44, 53–55
   responses.py1151586%66, 89, 112, 135–137, 158–160, 175–177, 194–196
api/routes
   __init__.py110100% 
   auth.py602066%46–48, 74–78, 89–93, 104–109, 114
   game.py611378%34, 43–45, 72–73, 82–83, 95–98, 106
   team.py120100% 
   user.py27388%36–38
   version.py12191%11
api/utils
   __init__.py00100% 
   cookie_auth.py21195%28
   error_converter.py50100% 
common
   __init__.py20100% 
   data_examples.py90100% 
   factory.py370100% 
   url_factory.py6266%6, 9
common/config
   __init__.py30100% 
common/config/models
   __init__.py30100% 
   main.py34391%21, 25, 29
   paths.py18288%21, 25
common/config/parser
   __init__.py20100% 
   config_file_reader.py50100% 
   logging_config.py15380%19–21
   main.py120100% 
   paths.py7185%10
core
   __init__.py00100% 
core/config
   __init__.py00100% 
   constants.py10100% 
core/games
   __init__.py00100% 
   adapters.py170100% 
   dto.py100100% 
   interactors.py571573%22, 25–28, 33, 36–38, 49–51, 61–62, 79
core/interfaces
   __init__.py00100% 
core/interfaces/clients
   __init__.py00100% 
   file_storage.py100100% 
core/interfaces/dal
   __init__.py00100% 
   achievement.py70100% 
   base.py30100% 
   chat.py100100% 
   complex.py220100% 
   file_info.py70100% 
   game.py440100% 
   game_play.py200100% 
   key_log.py100100% 
   level.py270100% 
   level_testing.py140100% 
   level_times.py170100% 
   organizer.py210100% 
   player.py670100% 
   secure_invite.py90100% 
   team.py270100% 
   user.py110100% 
   waiver.py260100% 
core/interfaces/scheduler
   __init__.py10100% 
   sheduler.py17382%33–34, 37
core/models
   __init__.py00100% 
core/models/dto
   __init__.py180100% 
   achievement.py100100% 
   chat.py25292%23, 28
   common.py60100% 
   export_stat.py681775%10, 30–31, 35–44, 46, 56, 71, 88
   forum_team.py70100% 
   forum_user.py12191%15
   game.py831384%27, 30, 33, 42, 45, 49, 53, 57, 61, 65, 71, 124, 128
   level.py33196%33
   level_testing.py260100% 
   levels_times.py270100% 
   organizer.py200100% 
   player.py572064%26–28, 30, 38, 41–45, 49, 54–57, 60–63, 66
   poll.py130100% 
   team.py34488%28, 39, 44, 47
   team_player.py721283%29–31, 34, 37, 73, 77, 107–109, 112, 122
   time_key.py440100% 
   user.py31293%20, 23
   version.py50100% 
   waiver.py140100% 
core/models/dto/scn
   __init__.py60100% 
   file_content.py490100% 
   game.py330100% 
   hint_part.py1011882%51, 77, 85–87, 95–97, 105–107, 115–117, 125, 133, 145, 153
   level.py1231885%21–23, 26, 43, 53, 57, 61, 86–88, 100, 102, 109, 113, 124–126
   parsed_zip.py301550%20–27, 33–36, 39–40, 42
   time_hint.py36197%27
core/models/enums
   __init__.py100100% 
   achievement.py30100% 
   chat_type.py60100% 
   game_status.py120100% 
   hint_type.py140100% 
   invite_type.py50100% 
   key_type.py50100% 
   org_permission.py50100% 
   played.py24579%19, 23, 27, 31, 35
   team_player_permission.py70100% 
core/models/schems
   __init__.py40100% 
   level.py17664%13–15, 19–21
core/rules
   __init__.py00100% 
   game.py100100% 
   level.py15660%7–8, 16–17, 25, 31
core/services
   __init__.py00100% 
   achievement.py80100% 
   chat.py90100% 
   game.py1245456%47, 70–79, 95–101, 111, 127–131, 134–136, 153–154, 164–167, 186–192, 194–195, 197, 203–208, 213, 220–221, 229, 237
   game_play.py1163173%34–35, 40–41, 47, 67–68, 123, 135–136, 150–151, 228, 234, 238, 244, 287, 292, 294–296, 300–306, 308–310
   game_stat.py180100% 
   key.py43588%19, 53–55, 60
   level.py371559%33–38, 46–48, 52–54, 60–62
   level_testing.py60591%46, 52, 56, 63, 84
   organizers.py641182%41, 46, 72, 77, 91, 97–99, 107, 129, 138
   player.py1638249%46, 54, 58, 62, 74–75, 79–80, 85–86, 90–92, 128, 134–138, 148–152, 158, 160, 163, 184, 192–193, 221–224, 228, 234–236, 240–241, 248, 255, 264–265, 270–271, 276–284, 286–287, 299–314, 323–325, 329–330, 334–335, 341, 352
   team.py893857%36–41, 43, 90, 98, 102, 108–112, 122–123, 127–128, 133–140, 153–154, 157–161, 170, 177–179
   user.py110100% 
   waiver.py631477%90, 102, 106–109, 119–121, 127–129, 138, 143
core/services/scenario
   __init__.py00100% 
   files.py361655%29–34, 40–44, 50–52, 60–61
   game_ops.py12191%18
   level_ops.py16193%23
   scn_zip.py332330%15–22, 25–27, 29–32, 36–38, 42–46
core/utils
   __init__.py00100% 
   datetime_utils.py22386%30, 34–35
   defaults_constants.py40100% 
   exceptions.py1311092%5, 57, 75–78, 237–238, 263–264
   input_validation.py28871%36–39, 46–49
   key_checker_lock.py160100% 
core/views
   __init__.py00100% 
   game.py480100% 
   level.py80100% 
   texts.py70100% 
infrastructure
   __init__.py00100% 
   file_id_updater.py26260%1–2, 4, 6–12, 15–16, 18–19, 22–25, 27, 30–34, 37–38
   version.py8275%11–12
infrastructure/clients
   __init__.py00100% 
   factory.py5180%7
   file_gateway.py421466%33, 40–41, 44, 53–54, 59–62, 65–68
   file_storage.py25196%21
infrastructure/crawler
   __init__.py00100% 
   auth.py291934%13–16, 20–23, 27, 41–44, 51–52, 56–57, 61–62
   constants.py60100% 
   factory.py440%1–2, 5–6
infrastructure/crawler/game_scn
   __init__.py00100% 
   common.py220%1–2
infrastructure/crawler/game_scn/loader
   __init__.py00100% 
   load_scns.py1311310%1–7, 9–10, 12–18, 24–31, 33, 36–37, 39–40, 43–49, 57, 60, 67–72, 79–84, 86–87, 89, 92–101, 104–113, 115–116, 128, 131–138, 141–152, 157, 160, 170, 173–178, 187–192, 195–205, 208, 215–222
infrastructure/crawler/game_scn/parser
   __init__.py00100% 
   parser.py2082080%1–8, 10, 17–19, 21–28, 30–32, 35–36, 39–49, 52–53, 56, 59–74, 76–81, 85–86, 89–94, 99–123, 130, 138–142, 144–157, 162–163, 165–171, 173–175, 177–190, 193–194, 196–203, 208–210, 221–224, 226–231, 234–235, 242–243, 245–250, 252–254, 262, 264–266, 271–276, 278–281, 296, 299–306, 311–314, 317–318, 321–323
   parser_svast_engine.py1621620%1–6, 8, 15–16, 18–23, 29, 32–33, 36, 39–40, 43–56, 58–59, 61–62, 66–67, 69–77, 82–102, 109, 117–121, 123–136, 139–140, 142–148, 150–152, 154–155, 159–172, 177–179, 187–190, 192–197, 200–201, 208–209, 211–216, 218–220, 228, 230–232, 237–242, 244–247, 261, 264–265
   resourses.py440%1, 4–5, 9
infrastructure/crawler/game_scn/uploader
   __init__.py00100% 
   forum_scenario_uploader.py402927%15–22, 26, 30–31, 35, 46–47, 51–52, 56, 65–66, 70–71, 75–81, 85
   game_mapper.py372629%11, 15–18, 26–28, 36, 40–49, 51–52, 54, 61–64
infrastructure/crawler/models
   __init__.py20100% 
   credentials.py50100% 
   team.py24483%26, 29–31
   uploadable_game.py230100% 
infrastructure/crawler/teams
   __init__.py00100% 
   loader.py86860%1–5, 7–8, 10–19, 21–22, 25–26, 28–29, 32–37, 39, 42–48, 51–68, 70–72, 74, 78, 87, 90–95, 101–105, 108–109, 115–117, 127–129, 132, 134, 137–138, 141–142
   parse_teams.py74740%1–7, 9–11, 13–17, 19, 22–26, 29–32, 35–39, 41–47, 54–55, 57–62, 66–72, 80–81, 83–87, 91, 97, 99–101, 104–105, 108–115
infrastructure/db
   __init__.py00100% 
   factory.py25484%21–22, 46–47
infrastructure/db/config
   __init__.py00100% 
infrastructure/db/config/models
   __init__.py00100% 
   db.py34779%32–33, 38–39, 41–43
   storage.py130100% 
infrastructure/db/config/parser
   __init__.py00100% 
   db.py70100% 
   storage.py8187%10
infrastructure/db/dao
   __init__.py20100% 
   holder.py106694%106, 110, 122, 126, 156, 160
infrastructure/db/dao/complex
   __init__.py10100% 
   game.py971782%13, 38, 62, 65, 68, 71, 79, 82, 85, 88, 91, 96, 101, 104, 107, 118, 124
   game_play.py75889%25, 28, 33, 36–38, 84, 135
   key_log.py341167%10, 21, 26, 31, 34, 37, 42, 45, 48, 51, 54
   level_testing.py30293%37, 40
   level_times.py511962%9, 17, 20, 23, 28, 33, 41, 44, 52, 55, 58, 61, 66, 71, 76, 79, 82, 85, 88
   orgs.py25388%24, 30, 38
   player.py461860%8, 16, 19, 22, 25, 28, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69
   team.py571082%10, 32, 58, 69, 72, 75, 78, 81, 84, 87
   waiver.py39294%58, 61
infrastructure/db/dao/memory
   __init__.py00100% 
   level_testing.py47491%16, 56, 64, 67
   locker.py240100% 
infrastructure/db/dao/rdb
   __init__.py140100% 
   achievement.py260100% 
   base.py37197%41
   chat.py36683%30–31, 34, 37, 42–43
   file_info.py54885%38, 45–46, 55, 62, 75, 80, 90
   forum_team.py23673%23, 28, 38, 41, 48, 56
   forum_user.py24866%20, 26, 36, 39–40, 43, 46, 49
   game.py1282084%92, 127, 134, 160, 165–167, 178, 183, 197, 206, 210, 215, 225–226, 229, 249, 256, 263, 265
   level.py832569%67–70, 80, 87, 90, 100, 116–117, 122–124, 127, 133–136, 154, 159–160, 163–164, 167, 174
   level_times.py51688%88–92, 116
   log_keys.py42295%135, 142
   organizer.py50982%47–50, 53, 59–60, 80, 104
   player.py1014357%40, 58, 63, 86, 101, 110–113, 116–121, 124–128, 130–132, 135–138, 141–144, 147, 153–158, 161–164, 194
   team.py872867%36–37, 52–55, 57, 63–68, 72, 89, 114, 117–118, 121, 127–128, 131, 137, 142, 145–146, 171–172
   team_player.py1203471%50, 70, 108, 116–117, 140, 147, 154, 161, 170–171, 179–186, 196–199, 202, 219–220, 223, 228–229, 232, 237–238, 247, 273
   user.py471568%26, 29, 32, 35–36, 40, 46–52, 78, 81
   waiver.py631477%32–33, 61–64, 82, 98, 150, 157, 163, 166, 172, 175
infrastructure/db/dao/redis
   __init__.py20100% 
   poll.py53786%46–47, 50–52, 58, 90
   secure_invite.py330100% 
infrastructure/db/migrations
   __init__.py00100% 
   env.py27581%19–20, 27–28, 53
infrastructure/db/migrations/versions
   20220202-233750_4e570bc94610_add_table_users.py100100% 
   20220203-211034_56df5c6b0df6_add_table_chats.py140100% 
   20220718-221646_555d635df99f_add_players.py100100% 
   20221103-232618_50b4aa6c0252_add_file_info_table.py100100% 
   20221120-191137_d81a8894215a_add_teams.py100100% 
   20221120-191242_aeac6812b5c0_add_games.py120100% 
   20221120-192556_f5915dae5735_add_levels.py100100% 
   20221120-193151_1e1b2716e49b_add_level_times.py100100% 
   20221120-193307_5545f6193665_add_log_keys.py100100% 
   20221120-193457_f11592799e60_add_organizer.py100100% 
   20221120-193710_2ab6d1eefd77_add_team_players.py100100% 
   20221120-193806_c92afe138ac8_add_waivers.py120100% 
   20221207-084731_51e122b5e734_add_achievements_table.py100100% 
   20230128-152111_852f6bcc741f_add_game_number.py100100% 
   20230129-125504_bc669f861ca9_reverse_direction_of_relation_user_.py240100% 
   20230129-224138_6db09dd8d555_add_table_forum_user.py100100% 
   20230205-170352_85190e71d702_reverse_relation_team_and_chat.py240100% 
   20230205-212855_c076368bb3aa_add_forumteam_and_is_dummy_for_team_and_.py140100% 
   20230320-231603_511231ffc1bc_add_game_results_columns.py120100% 
   20230511-231855_fb383262d07c_use_bigint_for_published_channel_id.py100100% 
   20230528-140918_84b3c1dab323_change_is_correct_to_type.py180100% 
   __init__.py00100% 
infrastructure/db/models
   __init__.py160100% 
   achievement.py21195%13
   base.py70100% 
   chat.py170100% 
   file_info.py250100% 
   forum_team.py15193%28
   forum_user.py17194%31
   game.py36197%22
   level.py41685%15–16, 27–29, 36
   levels_times.py190100% 
   log_keys.py230100% 
   organizer.py190100% 
   player.py260100% 
   team.py250100% 
   team_player.py27196%60
   user.py180100% 
   waiver.py200100% 
infrastructure/di
   __init__.py7185%9
   bot.py18477%18, 26–27, 31
   config.py46589%34, 46, 50, 58, 62
   db.py38197%47
   files.py16193%17
   interactors.py25292%26, 32
   visualizalization.py43430%1–3, 5–8, 11–17, 20–23, 25–27, 36–37, 40–41, 44–46, 53–67
infrastructure/picture
   __init__.py30100% 
   picture.py705028%25–32, 36–42, 47–52, 56–75, 82, 84, 91–93, 99–102
   results_painter.py251252%18–20, 25–27, 30–35
infrastructure/scheduler
   __init__.py20100% 
   context.py10550%15–17, 23, 25
   factory.py11281%17–18
   scheduler.py492548%21–22, 29–30, 35–36, 43, 54–55, 66–69, 75–78, 89, 104, 119, 122–124, 128, 132
   wrappers.py32320%1, 3–11, 14–15, 21–23, 30–31, 39–41, 50–51, 59–60, 62, 72–73, 82–85, 87
TOTAL7303194873% 

Please sign in to comment.