Module garoupa.misc.helper

Just shortcuts

Classes

class Helper (version: str)
Expand source code
@dataclass
class Helper:
    """Internal use only.

    Not to be directly instantiated."""

    version: str

    def __call__(self, blob, etype="ordered"):
        return Hosh(blob, etype, self.version)

    def u(self, blob):
        return Hosh(blob, "unordered", self.version)

    def h(self, blob):
        return Hosh(blob, "hybrid", self.version)

    fromid = Hosh.fromid
    fromn = Hosh.fromn

Internal use only.

Not to be directly instantiated.

Static methods

def fromid(id)

Create an element from a textual id.

Usage:

>>> a = Hosh.fromid("abcdefabcdefabcdefabcdefabcdefab")
>>> a.n
1094566309952642687224764830259410933250743749332933330234
>>> a.cells
[748932665, 516513868, 468764361, 3316970622, 2727293743, 316029245]
>>> a.etype
'ordered'
>>> bid = a.id[:2] + "_" + a.id[3:]
>>> bid
'ab_defabcdefabcdefabcdefabcdefab'
>>> b = Hosh.fromid(bid)
>>> b.id
'ab_defabcdefabcdefabcdefabcdefab'
>>> b.n
59377482839139050825606534576063885287
>>> b.cells
[0, 0, 749449200, 1774140626, 3139018916, 292801225]
>>> b.etype
'hybrid'
>>> Hosh.fromid("0000000000000000000000000000000000000000000000000000000000000000") == 0
True

Parameters

id
 

Parameters

id
 

Returns

A new Hosh object
 
def fromn(n: int,
version=Group(p=1099511627689, p4=1461501636868331575725436266114840805196834679841, p6=1766847063939562670646036165286872353986524172769430561878277294118845361, digits=40, bytes=30, firstp='0_100000000_____________________________', lastp='f_8afffffff_____________________________', firstp4='00_1000000000000000000000000000000000000', lastp4='.._87c2a630003eec7dffff561b0000004aeffff', firstp6='1000000000000000000000000000000000000000', lastp6='g-8KOjCQREq2Vz8VTc30gLMd..vvX6000ov.....'))

Create a Hosh object representing the given int.

Default 'p' is according to version UT64.4.

Usage:

>>> h = Hosh.fromn(7647544756746324134134)
>>> h.id
'00_e49c1c505dcd0039e91000000000000000000'

Parameters

n
 
version
 

Returns

A new Hosh object
 

Instance variables

var version : str

Methods

def h(self, blob)
Expand source code
def h(self, blob):
    return Hosh(blob, "hybrid", self.version)
def u(self, blob)
Expand source code
def u(self, blob):
    return Hosh(blob, "unordered", self.version)