| 191 | |
| 192 | |
| 193 | def _get_fnames(diff: Diff): |
| 194 | if diff.new_file: |
| 195 | # change type 'A' |
| 196 | old_fname = None |
| 197 | new_fname = diff.b_blob.path |
| 198 | elif diff.deleted_file: |
| 199 | # change type 'D' |
| 200 | old_fname = diff.a_blob.path |
| 201 | new_fname = None |
| 202 | elif diff.renamed: |
| 203 | # change type 'R' |
| 204 | old_fname = diff.rename_from |
| 205 | new_fname = diff.rename_to |
| 206 | elif (diff.a_blob and diff.b_blob and |
| 207 | (diff.a_blob != diff.b_blob)): |
| 208 | # change type 'M' |
| 209 | old_fname = new_fname = diff.b_blob.path |
| 210 | else: |
| 211 | # change type 'U' |
| 212 | return None, None |
| 213 | |
| 214 | return old_fname, new_fname |
| 215 | |
| 216 | |
| 217 | class AnalyzerObserver(ABC): |