|
22 | 22 |
|
23 | 23 | from __future__ import annotations
|
24 | 24 |
|
25 |
| -from argparse import ArgumentParser, Namespace |
26 |
| -from collections.abc import Sequence |
27 |
| -from contextlib import suppress, contextmanager |
28 |
| -from dataclasses import dataclass |
29 | 25 | import filecmp
|
30 | 26 | import json
|
31 | 27 | import logging
|
32 | 28 | import logging.handlers
|
33 |
| -from functools import total_ordering |
34 |
| -from os import getenv, readlink |
35 | 29 | import re
|
36 | 30 | import shlex
|
37 | 31 | import shutil
|
38 | 32 | import subprocess
|
39 | 33 | import sys
|
| 34 | +from argparse import ArgumentParser, Namespace |
40 | 35 | from bisect import bisect_left as bisect
|
41 |
| -from datetime import datetime as dt, timezone |
| 36 | +from collections.abc import Iterable, Sequence |
| 37 | +from contextlib import contextmanager, suppress |
| 38 | +from dataclasses import dataclass |
| 39 | +from datetime import datetime as dt |
| 40 | +from datetime import timezone |
| 41 | +from functools import total_ordering |
| 42 | +from os import getenv, readlink |
42 | 43 | from pathlib import Path
|
43 | 44 | from string import Template
|
44 | 45 | from time import perf_counter, sleep
|
45 | 46 | from typing import Literal
|
46 |
| -from collections.abc import Iterable |
47 | 47 | from urllib.parse import urljoin
|
48 | 48 |
|
49 | 49 | import jinja2
|
|
52 | 52 | import zc.lockfile
|
53 | 53 |
|
54 | 54 | try:
|
55 |
| - from os import EX_OK, EX_SOFTWARE as EX_FAILURE |
| 55 | + from os import EX_OK |
| 56 | + from os import EX_SOFTWARE as EX_FAILURE |
56 | 57 | except ImportError:
|
57 | 58 | EX_OK, EX_FAILURE = 0, 1
|
58 | 59 |
|
|
0 commit comments