11from io import BytesIO
22from typing import Any
33
4- from services .path_fixer .fixpaths import clean_toc
54from services .report .fixes import get_fixes_from_raw
65
76
@@ -30,8 +29,6 @@ class ParsedRawReport(object):
3029 toc
3130 table of contents, this lists the files relevant to the report,
3231 i.e. the files contained in the repository
33- env
34- list of env vars in environment of uploader (legacy only)
3532 uploaded_files
3633 list of class ParsedUploadedReportFile describing uploaded coverage files
3734 report_fixes
@@ -41,41 +38,31 @@ class ParsedRawReport(object):
4138
4239 def __init__ (
4340 self ,
44- toc : Any ,
45- env : Any ,
41+ toc : list [str ],
4642 uploaded_files : list [ParsedUploadedReportFile ],
4743 report_fixes : Any ,
4844 ):
4945 self .toc = toc
50- self .env = env
5146 self .uploaded_files = uploaded_files
5247 self .report_fixes = report_fixes
5348
54- def has_toc (self ) -> bool :
55- return self .toc is not None
56-
57- def has_env (self ) -> bool :
58- return self .env is not None
59-
6049 def has_report_fixes (self ) -> bool :
6150 return self .report_fixes is not None
6251
6352 @property
6453 def size (self ):
6554 return sum (f .size for f in self .uploaded_files )
6655
67- def content (self ) -> BytesIO :
68- buffer = BytesIO ()
69- if self .has_toc ():
70- for file in self .get_toc ():
71- buffer .write (f"{ file } \n " .encode ("utf-8" ))
72- buffer .write (b"<<<<<< network\n \n " )
73- for file in self .uploaded_files :
74- buffer .write (f"# path={ file .filename } \n " .encode ("utf-8" ))
75- buffer .write (file .contents )
76- buffer .write (b"\n <<<<<< EOF\n \n " )
77- buffer .seek (0 )
78- return buffer
56+
57+ class LegacyParsedRawReport (ParsedRawReport ):
58+ """
59+ report_fixes : bytes
60+ <filename>:<line number>,<line number>,...
61+ """
62+
63+ def get_report_fixes (self , path_fixer ) -> dict [str , dict [str , Any ]]:
64+ report_fixes = self .report_fixes .decode (errors = "replace" )
65+ return get_fixes_from_raw (report_fixes , path_fixer )
7966
8067
8168class VersionOneParsedRawReport (ParsedRawReport ):
@@ -90,34 +77,17 @@ class VersionOneParsedRawReport(ParsedRawReport):
9077 }
9178 """
9279
93- def get_toc (self ) -> list [str ]:
94- return self .toc
95-
96- def get_env (self ):
97- return self .env
98-
99- def get_uploaded_files (self ):
100- return self .uploaded_files
101-
10280 def get_report_fixes (self , path_fixer ) -> dict [str , dict [str , Any ]]:
10381 return self .report_fixes
10482
105-
106- class LegacyParsedRawReport (ParsedRawReport ):
107- """
108- report_fixes : BinaryIO
109- <filename>:<line number>,<line number>,...
110- """
111-
112- def get_toc (self ) -> list [str ]:
113- return clean_toc (self .toc .decode (errors = "replace" ).strip ())
114-
115- def get_env (self ):
116- return self .env .decode (errors = "replace" )
117-
118- def get_uploaded_files (self ):
119- return self .uploaded_files
120-
121- def get_report_fixes (self , path_fixer ) -> dict [str , dict [str , Any ]]:
122- report_fixes = self .report_fixes .decode (errors = "replace" )
123- return get_fixes_from_raw (report_fixes , path_fixer )
83+ def as_readable (self ) -> bytes :
84+ buffer = b""
85+ if self .toc :
86+ for path in self .toc :
87+ buffer += f"{ path } \n " .encode ()
88+ buffer += b"<<<<<< network\n \n "
89+ for file in self .uploaded_files :
90+ buffer += f"# path={ file .filename } \n " .encode ()
91+ buffer += file .contents
92+ buffer += b"\n <<<<<< EOF\n \n "
93+ return buffer
0 commit comments