···
+
import datetime, random
+
A class representing a TID.
+
time (datetime.datetime): The time of a TID.
+
clockIdentifier (int): what it said.
+
self, time: datetime.datetime | None = None, clockIdentifier: int | None = None
+
Initalizes an TID object.
+
time (datetime.datetime): The time of a TID.
+
clockIdentifier (int): what it said.
+
self.timestamp = datetime.datetime.now()
+
if clockIdentifier == None:
+
self.clockIdentifier = random.randrange(0, 1024)
+
self.clockIdentifier = clockIdentifier
+
Convert the TID to integer.
+
timestamp = int(self.timestamp.timestamp() * 1000000)
+
return timestamp * 1024 + self.clockIdentifier
+
Convert the TID to base32-sortable integer.
+
binary = f"{integer:065b}"
+
"234567abcdefghijklmnopqrstuvwxyz"[int(binary[i : i + 5], base=2)]
+
for i in range(0, len(binary), 5)
+
def importTIDfromInteger(value: int | None = None):
+
This function imports from Integer to TID.
+
value (int): The integer.
+
TID: The TID of given integer.
+
clockIdentifier = value % 1024
+
timestamp = (value >> 10) / 1000000
+
return TID(datetime.datetime.fromtimestamp(timestamp), clockIdentifier)
+
def importTIDfromBase32(value: str | None = None):
+
This function imports from Integer to TID.
+
value (int): The integer.
+
TID: The TID of given integer.
+
b32s = "234567abcdefghijklmnopqrstuvwxyz"
+
return importTIDfromInteger(
+
b32s.find(value[i]) * (32 ** (len(value) - i - 1))
+
for i in range(len(value))