(fmt, printer, verbosity=VERBOSITY)
| 146 | |
| 147 | |
| 148 | def _get_check_handlers(fmt, printer, verbosity=VERBOSITY): |
| 149 | div = None |
| 150 | def handle_after(): |
| 151 | pass |
| 152 | if not fmt: |
| 153 | div = '' |
| 154 | def handle_failure(failure, data): |
| 155 | data = repr(data) |
| 156 | if verbosity >= 3: |
| 157 | logger.info(f'failure: {failure}') |
| 158 | logger.info(f'data: {data}') |
| 159 | else: |
| 160 | logger.warn(f'failure: {failure} (data: {data})') |
| 161 | elif fmt == 'raw': |
| 162 | def handle_failure(failure, data): |
| 163 | print(f'{failure!r} {data!r}') |
| 164 | elif fmt == 'brief': |
| 165 | def handle_failure(failure, data): |
| 166 | parent = data.parent or '' |
| 167 | funcname = parent if isinstance(parent, str) else parent.name |
| 168 | name = f'({funcname}).{data.name}' if funcname else data.name |
| 169 | failure = failure.split('\t')[0] |
| 170 | print(f'{data.filename}:{name} - {failure}') |
| 171 | elif fmt == 'summary': |
| 172 | def handle_failure(failure, data): |
| 173 | print(_fmt_one_summary(data, failure)) |
| 174 | elif fmt == 'full': |
| 175 | div = '' |
| 176 | def handle_failure(failure, data): |
| 177 | name = data.shortkey if data.kind is KIND.VARIABLE else data.name |
| 178 | parent = data.parent or '' |
| 179 | funcname = parent if isinstance(parent, str) else parent.name |
| 180 | known = 'yes' if data.is_known else '*** NO ***' |
| 181 | print(f'{data.kind.value} {name!r} failed ({failure})') |
| 182 | print(f' file: {data.filename}') |
| 183 | print(f' func: {funcname or "-"}') |
| 184 | print(f' name: {data.name}') |
| 185 | print(f' data: ...') |
| 186 | print(f' type unknown: {known}') |
| 187 | else: |
| 188 | if fmt in FORMATS: |
| 189 | raise NotImplementedError(fmt) |
| 190 | raise ValueError(f'unsupported fmt {fmt!r}') |
| 191 | return handle_failure, handle_after, div |
| 192 | |
| 193 | |
| 194 | ####################################### |
no outgoing calls
no test coverage detected
searching dependent graphs…