| 556 | |
| 557 | # Get diffs for changed files |
| 558 | def getDiffs(self, inner_path, limit=30 * 1024, update_files=True): |
| 559 | if inner_path not in self.contents: |
| 560 | return {} |
| 561 | diffs = {} |
| 562 | content_inner_path_dir = helper.getDirname(inner_path) |
| 563 | for file_relative_path in self.contents[inner_path].get("files", {}): |
| 564 | file_inner_path = content_inner_path_dir + file_relative_path |
| 565 | if self.site.storage.isFile(file_inner_path + "-new"): # New version present |
| 566 | diffs[file_relative_path] = Diff.diff( |
| 567 | list(self.site.storage.open(file_inner_path)), |
| 568 | list(self.site.storage.open(file_inner_path + "-new")), |
| 569 | limit=limit |
| 570 | ) |
| 571 | if update_files: |
| 572 | self.site.storage.delete(file_inner_path) |
| 573 | self.site.storage.rename(file_inner_path + "-new", file_inner_path) |
| 574 | if self.site.storage.isFile(file_inner_path + "-old"): # Old version present |
| 575 | diffs[file_relative_path] = Diff.diff( |
| 576 | list(self.site.storage.open(file_inner_path + "-old")), |
| 577 | list(self.site.storage.open(file_inner_path)), |
| 578 | limit=limit |
| 579 | ) |
| 580 | if update_files: |
| 581 | self.site.storage.delete(file_inner_path + "-old") |
| 582 | return diffs |
| 583 | |
| 584 | def hashFile(self, dir_inner_path, file_relative_path, optional=False): |
| 585 | back = {} |