(links: Iterable[Link])
| 122 | |
| 123 | @enforce_types |
| 124 | def validate_links(links: Iterable[Link]) -> List[Link]: |
| 125 | timer = TimedProgress(TIMEOUT * 4) |
| 126 | try: |
| 127 | links = archivable_links(links) # remove chrome://, about:, mailto: etc. |
| 128 | links = sorted_links(links) # deterministically sort the links based on timestamp, url |
| 129 | links = fix_duplicate_links(links) # merge/dedupe duplicate timestamps & urls |
| 130 | finally: |
| 131 | timer.end() |
| 132 | |
| 133 | return list(links) |
| 134 | |
| 135 | @enforce_types |
| 136 | def archivable_links(links: Iterable[Link]) -> Iterable[Link]: |
no test coverage detected