wwvb 8.0.0rc1__py3-none-any.whl → 8.0.0rc2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wwvb/__init__.py +9 -4
- wwvb/__version__.py +2 -2
- wwvb/updateiers.py +4 -1
- {wwvb-8.0.0rc1.dist-info → wwvb-8.0.0rc2.dist-info}/METADATA +3 -6
- {wwvb-8.0.0rc1.dist-info → wwvb-8.0.0rc2.dist-info}/RECORD +8 -8
- {wwvb-8.0.0rc1.dist-info → wwvb-8.0.0rc2.dist-info}/WHEEL +0 -0
- {wwvb-8.0.0rc1.dist-info → wwvb-8.0.0rc2.dist-info}/entry_points.txt +0 -0
- {wwvb-8.0.0rc1.dist-info → wwvb-8.0.0rc2.dist-info}/top_level.txt +0 -0
wwvb/__init__.py
CHANGED
@@ -802,7 +802,12 @@ class WWVBMinuteIERS(WWVBMinute):
|
|
802
802
|
|
803
803
|
|
804
804
|
def _bcd_bits(n: int) -> Generator[bool]:
|
805
|
-
"""Return the bcd representation of n, starting with the least significant bit
|
805
|
+
"""Return the (infinite) bcd representation of n, starting with the least significant bit
|
806
|
+
|
807
|
+
This continues to yield `False` forever after the nonzero bcd digits have been genrated.
|
808
|
+
This allows to `zip(strict=False)` the resulting bits together with a sequence of indices
|
809
|
+
and ensure all the upper bits are set to zero.
|
810
|
+
"""
|
806
811
|
while True:
|
807
812
|
d = n % 10
|
808
813
|
n = n // 10
|
@@ -881,7 +886,7 @@ class WWVBTimecode:
|
|
881
886
|
Treating 'poslist' as a sequence of indices, update the AM signal with the value as a BCD number
|
882
887
|
"""
|
883
888
|
pos = list(poslist)[::-1]
|
884
|
-
for p, b in zip(pos, _bcd_bits(v)):
|
889
|
+
for p, b in zip(pos, _bcd_bits(v), strict=False):
|
885
890
|
if b:
|
886
891
|
self.am[p] = AmplitudeModulation.ONE
|
887
892
|
else:
|
@@ -909,7 +914,7 @@ class WWVBTimecode:
|
|
909
914
|
return ("⁰", "¹", "²", "¿")[am]
|
910
915
|
return ("₀", "₁", "₂", "⸮")[am]
|
911
916
|
|
912
|
-
return "".join(convert_one(i, j) for i, j in zip(self.am, self.phase))
|
917
|
+
return "".join(convert_one(i, j) for i, j in zip(self.am, self.phase, strict=True))
|
913
918
|
|
914
919
|
def __repr__(self) -> str:
|
915
920
|
"""Implement repr()"""
|
@@ -927,7 +932,7 @@ class WWVBTimecode:
|
|
927
932
|
|
928
933
|
def to_both_string(self, charset: list[str]) -> str:
|
929
934
|
"""Convert both channels to a string"""
|
930
|
-
return "".join(charset[i + j * 3] for i, j in zip(self.am, self.phase))
|
935
|
+
return "".join(charset[i + j * 3] for i, j in zip(self.am, self.phase, strict=True))
|
931
936
|
|
932
937
|
|
933
938
|
styles = {
|
wwvb/__version__.py
CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
28
28
|
commit_id: COMMIT_ID
|
29
29
|
__commit_id__: COMMIT_ID
|
30
30
|
|
31
|
-
__version__ = version = '8.0.
|
32
|
-
__version_tuple__ = version_tuple = (8, 0, 0, '
|
31
|
+
__version__ = version = '8.0.0rc2'
|
32
|
+
__version_tuple__ = version_tuple = (8, 0, 0, 'rc2')
|
33
33
|
|
34
34
|
__commit_id__ = commit_id = None
|
wwvb/updateiers.py
CHANGED
@@ -15,13 +15,16 @@ import gzip
|
|
15
15
|
import io
|
16
16
|
import json
|
17
17
|
import pathlib
|
18
|
-
from typing import
|
18
|
+
from typing import TYPE_CHECKING
|
19
19
|
|
20
20
|
import bs4
|
21
21
|
import click
|
22
22
|
import platformdirs
|
23
23
|
import requests
|
24
24
|
|
25
|
+
if TYPE_CHECKING:
|
26
|
+
from collections.abc import Callable
|
27
|
+
|
25
28
|
DIST_PATH = pathlib.Path(__file__).parent / "iersdata.json"
|
26
29
|
|
27
30
|
IERS_URL = "https://datacenter.iers.org/data/csv/finals2000A.all.csv"
|
@@ -1,19 +1,16 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: wwvb
|
3
|
-
Version: 8.0.
|
3
|
+
Version: 8.0.0rc2
|
4
4
|
Summary: Generate WWVB timecodes for any desired time
|
5
5
|
Author-email: Jeff Epler <jepler@gmail.com>
|
6
6
|
Project-URL: Source, https://codeberg.org/jepler/wwvbpy
|
7
|
-
Project-URL: Documentation, https://
|
7
|
+
Project-URL: Documentation, https://wwvbpy.readthedocs.io/en/latest/
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
9
|
-
Classifier: Programming Language :: Python :: 3.9
|
10
|
-
Classifier: Programming Language :: Python :: 3.10
|
11
|
-
Classifier: Programming Language :: Python :: 3.11
|
12
9
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
13
10
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
14
11
|
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
15
12
|
Classifier: Operating System :: OS Independent
|
16
|
-
Requires-Python: >=3.
|
13
|
+
Requires-Python: >=3.10
|
17
14
|
Description-Content-Type: text/markdown
|
18
15
|
Requires-Dist: adafruit-circuitpython-datetime
|
19
16
|
Requires-Dist: beautifulsoup4
|
@@ -1,6 +1,6 @@
|
|
1
1
|
uwwvb.py,sha256=Ybf8DeOZ5VjfqRGtO90_oEEW6HhGaztIVlh4L423MdQ,5801
|
2
|
-
wwvb/__init__.py,sha256=
|
3
|
-
wwvb/__version__.py,sha256=
|
2
|
+
wwvb/__init__.py,sha256=aFz_HXvOD5D4k_pWDgHA_kTWkBz-s3Ed5qY6W6MmuKE,34127
|
3
|
+
wwvb/__version__.py,sha256=BQnZGkrpqxv2i40P0cKXrysqXuu3x1wKpbxl8fOcQu8,714
|
4
4
|
wwvb/decode.py,sha256=JQw8XT9AoXlJAl16JRZzjECUPfA7jLhDxI-_XSibzbc,2748
|
5
5
|
wwvb/dut1table.py,sha256=HVX1338RlQzAQ-bsMPEdmCqoyIxSWoJSoRu1YGyaJO4,875
|
6
6
|
wwvb/gen.py,sha256=iMTYLtyy3ItC4AplTakkOhHNHzDFVmApjlVwYIK72nI,3798
|
@@ -9,10 +9,10 @@ wwvb/iersdata.json.license,sha256=1k5fhRCuOn0yXbwHtB21G0Nntnf0qMxstflMHuK3-Js,71
|
|
9
9
|
wwvb/iersdata.py,sha256=nMqA1xcE-iPtmi9m5qcTIJwfsCxZwoNsxHfM-wvooMQ,1210
|
10
10
|
wwvb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
11
|
wwvb/tz.py,sha256=nlxKnzFPmqLLtC-cEDhWaJ3v3GCSPfqzVtUMf8EEdZ0,248
|
12
|
-
wwvb/updateiers.py,sha256=
|
12
|
+
wwvb/updateiers.py,sha256=WsyFqkoxlvJS70dwW8vQhMseVACX0VwQRWWm2NyfV4Y,5846
|
13
13
|
wwvb/wwvbtk.py,sha256=cFBUduN8rQEdrpB0NtHK5r8HNDYfg_3XD7mbhYrVSrk,5284
|
14
|
-
wwvb-8.0.
|
15
|
-
wwvb-8.0.
|
16
|
-
wwvb-8.0.
|
17
|
-
wwvb-8.0.
|
18
|
-
wwvb-8.0.
|
14
|
+
wwvb-8.0.0rc2.dist-info/METADATA,sha256=sgVxOqNBSjlsAdw02aZJMSxkACg7GCBmXs8O5Fc7kww,9467
|
15
|
+
wwvb-8.0.0rc2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
16
|
+
wwvb-8.0.0rc2.dist-info/entry_points.txt,sha256=KSevvHWLEKxOxUQ-L-OQidD4Sj2BPEfhZ2TQhOgyys4,179
|
17
|
+
wwvb-8.0.0rc2.dist-info/top_level.txt,sha256=0IYdkhEAMgurpv_F-76rlyn4GdxepGFzG99tivVdQVU,11
|
18
|
+
wwvb-8.0.0rc2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|