Coverage for src / competitive_verifier_resources / resources.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-03-05 16:00 +0000

1import importlib.resources 

2import pathlib 

3from typing import cast 

4 

5_DOC_USAGE_PATH = "doc_usage.txt" 

6 

7 

8_ROOT = importlib.resources.files(cast("str", __package__)) 

9 

10 

11def doc_usage( 

12 *, 

13 markdown_dir_path: pathlib.Path, 

14 repo_name: str, 

15) -> str: 

16 template = _ROOT / _DOC_USAGE_PATH 

17 return ( 

18 template.read_text(encoding="utf-8") 

19 .replace("{{{{{markdown_dir_path}}}}}", markdown_dir_path.as_posix()) 

20 .replace("{{{{{repository}}}}}", repo_name) 

21 ) 

22 

23 

24def jekyll_files() -> dict[str, bytes]: 

25 return { 

26 path: (_ROOT / "jekyll" / path).read_bytes() 

27 for path in [ 

28 "_layouts/page.html", 

29 "_layouts/document.html", 

30 "_layouts/multidoc.html", 

31 "_layouts/toppage.html", 

32 "_includes/head-custom.html", 

33 "_includes/head-custom2.html", 

34 "_includes/mathjax/mathjax.html", 

35 "_includes/mathjax/mathjax2.html", 

36 "_includes/mathjax/mathjax3.html", 

37 "_includes/code.html", 

38 "_includes/code_and_testcases.html", 

39 "_includes/highlight_additional.html", 

40 "_includes/highlight/highlight_header.html", 

41 "_includes/dependencies.html", 

42 "_includes/document_header.html", 

43 "_includes/document_body.html", 

44 "_includes/document_footer.html", 

45 "_includes/multidoc_body.html", 

46 "_includes/multidoc_header.html", 

47 "_includes/toppage_header.html", 

48 "_includes/toppage_body.html", 

49 "_includes/toppage_footer.html", 

50 "assets/css/default.scss", 

51 "assets/css/code.scss", 

52 "assets/js/code.js", 

53 "Gemfile", 

54 ] 

55 }