(eta=None, delay=None, utc=True)
| 102 | |
| 103 | |
| 104 | def normalize_time(eta=None, delay=None, utc=True): |
| 105 | if (delay is None) == (eta is None): |
| 106 | raise ValueError('Specify either an eta (datetime) or delay (seconds)') |
| 107 | elif delay is not None: |
| 108 | method = (utc and utcnow or |
| 109 | datetime.datetime.now) |
| 110 | if not isinstance(delay, datetime.timedelta): |
| 111 | delay = datetime.timedelta(seconds=delay) |
| 112 | return method() + delay |
| 113 | elif not isinstance(eta, datetime.datetime): |
| 114 | raise ValueError('eta must be a datetime instance') |
| 115 | else: |
| 116 | has_tz = not is_naive(eta) |
| 117 | if utc: |
| 118 | if not has_tz: |
| 119 | eta = local_to_utc(eta) |
| 120 | else: |
| 121 | eta = aware_to_utc(eta) |
| 122 | elif has_tz: |
| 123 | # Convert TZ-aware into naive localtime. |
| 124 | eta = make_naive(eta) |
| 125 | return eta |
| 126 | |
| 127 | |
| 128 | def encode(s): |
searching dependent graphs…