|
6 | 6 | import sentry_sdk
|
7 | 7 |
|
8 | 8 | from codecov_cli.helpers.folder_searcher import globs_to_regex, search_files
|
| 9 | +from codecov_cli.helpers.upload_type import ReportType |
9 | 10 | from codecov_cli.types import UploadCollectionResultFile
|
10 | 11 |
|
11 | 12 | logger = logging.getLogger("codecovcli")
|
@@ -193,46 +194,54 @@ def __init__(
|
193 | 194 | folders_to_ignore: Optional[List[Path]] = None,
|
194 | 195 | explicitly_listed_files: Optional[List[Path]] = None,
|
195 | 196 | disable_search: bool = False,
|
196 |
| - report_type: str = "coverage", |
| 197 | + report_type: ReportType = ReportType.COVERAGE, |
197 | 198 | ):
|
198 | 199 | self.search_root = search_root or Path(os.getcwd())
|
199 | 200 | self.folders_to_ignore = list(folders_to_ignore) if folders_to_ignore else []
|
200 | 201 | self.explicitly_listed_files = explicitly_listed_files or None
|
201 | 202 | self.disable_search = disable_search
|
202 |
| - self.report_type = report_type |
| 203 | + self.report_type: ReportType = report_type |
203 | 204 |
|
204 | 205 | def find_files(self) -> List[UploadCollectionResultFile]:
|
205 | 206 | with sentry_sdk.start_span(name="find_files"):
|
206 |
| - if self.report_type == "coverage": |
| 207 | + if self.report_type == ReportType.COVERAGE: |
207 | 208 | files_excluded_patterns = coverage_files_excluded_patterns
|
208 | 209 | files_patterns = coverage_files_patterns
|
209 |
| - elif self.report_type == "test_results": |
| 210 | + elif self.report_type == ReportType.TEST_RESULTS: |
210 | 211 | files_excluded_patterns = test_results_files_excluded_patterns
|
211 | 212 | files_patterns = test_results_files_patterns
|
212 | 213 | regex_patterns_to_exclude = globs_to_regex(files_excluded_patterns)
|
213 | 214 | assert regex_patterns_to_exclude # this is never `None`
|
214 | 215 | files_paths: Iterable[Path] = []
|
215 | 216 | user_files_paths = []
|
216 | 217 | if self.explicitly_listed_files:
|
217 |
| - user_files_paths = self.get_user_specified_files(regex_patterns_to_exclude) |
| 218 | + user_files_paths = self.get_user_specified_files( |
| 219 | + regex_patterns_to_exclude |
| 220 | + ) |
218 | 221 | if not self.disable_search:
|
219 | 222 | regex_patterns_to_include = globs_to_regex(files_patterns)
|
220 | 223 | assert regex_patterns_to_include # this is never `None`
|
221 | 224 | files_paths = search_files(
|
222 | 225 | self.search_root,
|
223 |
| - default_folders_to_ignore + [str(folder) for folder in self.folders_to_ignore], |
| 226 | + default_folders_to_ignore |
| 227 | + + [str(folder) for folder in self.folders_to_ignore], |
224 | 228 | filename_include_regex=regex_patterns_to_include,
|
225 | 229 | filename_exclude_regex=regex_patterns_to_exclude,
|
226 | 230 | )
|
227 | 231 | result_files = [UploadCollectionResultFile(path) for path in files_paths]
|
| 232 | + user_result_files = [ |
| 233 | + UploadCollectionResultFile(path) |
| 234 | + for path in user_files_paths |
| 235 | + if user_files_paths |
| 236 | + ] |
228 | 237 |
|
229 | 238 | user_result_files = []
|
230 | 239 | for path in user_files_paths:
|
231 | 240 | if os.path.isfile(path):
|
232 | 241 | user_result_files.append(UploadCollectionResultFile(path))
|
233 | 242 | else:
|
234 | 243 | logger.warning(
|
235 |
| - f"File \"{path}\" could not be found or does not exist. Please enter in the full path or from the search root \"{self.search_root}\"", |
| 244 | + f'File "{path}" could not be found or does not exist. Please enter in the full path or from the search root "{self.search_root}"', |
236 | 245 | )
|
237 | 246 |
|
238 | 247 | return list(set(result_files + user_result_files))
|
@@ -287,7 +296,7 @@ def select_file_finder(
|
287 | 296 | folders_to_ignore,
|
288 | 297 | explicitly_listed_files,
|
289 | 298 | disable_search,
|
290 |
| - report_type="coverage", |
| 299 | + report_type: ReportType = ReportType.COVERAGE, |
291 | 300 | ):
|
292 | 301 | return FileFinder(
|
293 | 302 | root_folder_to_search,
|
|
0 commit comments