Add Sphinx docstring compatibility to constants.

This commit is contained in:
Josh W 2024-04-10 14:13:02 -04:00
parent 392bba763b
commit 2da3f832df

View file

@ -5,6 +5,7 @@ from datetime import datetime, timezone
from typing import Tuple, TypedDict from typing import Tuple, TypedDict
#: Type alias for a seven-integer tuple used in a datetime timestamp.
DniDateTimeTuple = Tuple[int, int, int, int, int, int, int] DniDateTimeTuple = Tuple[int, int, int, int, int, int, int]
@ -16,22 +17,22 @@ class DniUnitType(TypedDict):
total_pro: int total_pro: int
# All the units of time in the D'Ni culture from largest to smallest. #: All the units of time in the D'Ni culture from largest to smallest.
# #:
# Hahr - The D'Ni eqivalent of an earth year. #: Hahr - The D'Ni eqivalent of an earth year.
# Vailee - The D'Ni eqivalent of an earth month, 10 total in each hahr. #: Vailee - The D'Ni eqivalent of an earth month, 10 total in each hahr.
# Yahr - The D'Ni equivalent of an earth day, 29 total in each vailee. #: Yahr - The D'Ni equivalent of an earth day, 29 total in each vailee.
# Gahrtahvo - 5 total in each yahr. #: Gahrtahvo - 5 total in each yahr.
# Pahrtahvo - The D'Ni equivalent of an earth hour, 5 total in each gahrtahvo #: Pahrtahvo - The D'Ni equivalent of an earth hour, 5 total in each gahrtahvo
# and 25 total in each yahr. Not used in calculations, but can #: and 25 total in each yahr. Not used in calculations, but can
# be used to show a different method of D'Ni time. #: be used to show a different method of D'Ni time.
# Tahvo - 5 total in each pahrtahvo and 25 total in each gahrtahvo. #: Tahvo - 5 total in each pahrtahvo and 25 total in each gahrtahvo.
# Gorahn - 25 total in each tahvo. #: Gorahn - 25 total in each tahvo.
# Prorahn - The D'Ni equivalent of an earth second, 25 total in each gorahn. #: Prorahn - The D'Ni equivalent of an earth second, 25 total in each gorahn.
# #:
# Limit: Maximum amount before rollover (ie. 60 seconds in 1 minute) #: Limit: Maximum amount before rollover (ie. 60 seconds in 1 minute)
# Total Prorahntee: A "prorahn" is the smallest unit of time and is #: Total Prorahntee: A "prorahn" is the smallest unit of time and is
# used in the calcuation of the other units. #: used in the calcuation of the other units.
DNI_UNITS: OrderedDict[str, DniUnitType] = OrderedDict( DNI_UNITS: OrderedDict[str, DniUnitType] = OrderedDict(
[ [
("hahr", {"min": 7654, "max": 17655, "total_pro": 22656250}), ("hahr", {"min": 7654, "max": 17655, "total_pro": 22656250}),
@ -44,27 +45,24 @@ DNI_UNITS: OrderedDict[str, DniUnitType] = OrderedDict(
] ]
) )
# A hahr's length is equal to the Mean Solar Tropical Year for 1995 in #: A hahr's length is equal to the Mean Solar Tropical Year for 1995 in
# milliseconds. #: milliseconds.
MS_PER_HAHR = 31556925216 MS_PER_HAHR = 31556925216
# A prorahn's length in milliseconds. #: A prorahn's length in milliseconds.
# Some previous [wrong] calculations:
# JS = 1392.8573857142859
# Python = 1392.8573888441379
MS_PER_PRORAHN = 1392.85737275 MS_PER_PRORAHN = 1392.85737275
# Just as the UNIX Epoch is based on midnight on 1-1-1970, the D'Ni Epoch #: Just as the UNIX Epoch is based on midnight on 1-1-1970, the D'Ni Epoch
# is based on the timestamp of the original MYST Hypercard file: #: is based on the timestamp of the original MYST Hypercard file:
# April 21, 1991 9:54AM PST (16:54 UTC) --> Leefo 1, 9647 00:00:00:00 #: April 21, 1991 9:54AM PST (16:54 UTC) --> Leefo 1, 9647 00:00:00:00
EARTH_EPOCH = datetime(1970, 1, 1, tzinfo=timezone.utc) EARTH_EPOCH = datetime(1970, 1, 1, tzinfo=timezone.utc)
DNI_EPOCH_EDT = datetime(1991, 4, 21, 16, 54, 0, tzinfo=timezone.utc) # Earth DNI_EPOCH_EDT = datetime(1991, 4, 21, 16, 54, 0, tzinfo=timezone.utc) # Earth
DNI_EPOCH_HAHR = 9647 DNI_EPOCH_HAHR = 9647
# Converted leap seconds to ms, but adjusted for the UNIX epoch instead. #: Converted leap seconds to ms, but adjusted for the UNIX epoch instead.
# https://data.iana.org/time-zones/data/leap-seconds.list #: https://data.iana.org/time-zones/data/leap-seconds.list
# delta_ms_1900_to_1970 = -2208988800000 #: delta_ms_1900_to_1970 = -2208988800000
# leap_ms = leap_sec_from_ietf * 1000 + delta_ms_1900_to_1970 #: leap_ms = leap_sec_from_ietf * 1000 + delta_ms_1900_to_1970
LEAP_MS_FROM_EPOCH = [ LEAP_MS_FROM_EPOCH = [
63072000000, # 1 Jan 1972 63072000000, # 1 Jan 1972
78796800000, # 1 Jul 1972 78796800000, # 1 Jul 1972
@ -96,17 +94,15 @@ LEAP_MS_FROM_EPOCH = [
1483228800000, # 1 Jan 2017 1483228800000, # 1 Jan 2017
] ]
# A carry-over from the Python datetime module for timedelta objects. Might #: A carry-over from the Python datetime module for timedelta objects. Might
# need to adjust if it overflows other values, but it should be okay. #: need to adjust if it overflows other values, but it should be okay.
MAX_DNI_DELTA_YAHRTEE = 999999999 MAX_DNI_DELTA_YAHRTEE = 999999999
# DniDate.max.to_ordinal() #: DniDate.max.to_ordinal()
# (For whatever reason, 5119863 was the former value and I can't figure why.
# Noting it here in case I need it for something.)
MIN_DNI_ORDINAL = 1 MIN_DNI_ORDINAL = 1
MAX_DNI_ORDINAL = 2900494 MAX_DNI_ORDINAL = 2900494
# The names of the 10 vailee in a hahr. #: The names of the 10 vailee in a hahr.
VAILEE_NAMES = [ VAILEE_NAMES = [
"Leefo", "Leefo",
"Leebro", "Leebro",
@ -120,5 +116,5 @@ VAILEE_NAMES = [
"Leenovoo", "Leenovoo",
] ]
# The number of yahrtee (days) before each consectutive vailee (month). #: The number of yahrtee (days) before each consectutive vailee (month).
YAHRTEE_BEFORE_VAILEE = [-1, 0, 29, 58, 87, 116, 145, 174, 203, 232, 261] YAHRTEE_BEFORE_VAILEE = [-1, 0, 29, 58, 87, 116, 145, 174, 203, 232, 261]