def test_cids(self): assert cidValid( 'bafkriqa2hf4uwu2dd2nlynbwr3kietn2ywowyzaxperhtmhmfsi5n22yv5zptvfr4o3bhicyshbmdil2qif47au4wmr4ikm3egpfvmuzpfcyc' ) assert cidValid( 'bafkreihszin3nr7ja7ig3l7enb7fph6oo2zx4tutw5qfaiw2kltmzqtp2i') assert cidValid( 'bafkrgqaohz2sgsv4nd2dpcugwp2lgkqzrorqdbc3btlokaig5b2divyazrtghkdmd2qslxc6sk7bpsmptihylsu5l5mv3mqbf56mgvyzixasg' ) assert cidValid( 'bafkr2qffyprvhimferhyfkg6af63marfiplxn6euhncxwy3izaefj3g73ilqlzo5kfgvbbyrnwwmw7nm4wwufkyxfp7htiwabn5b5hdw4rvvk' ) p = IPFSPath( 'bafkr2qffyprvhimferhyfkg6af63marfiplxn6euhncxwy3izaefj3g73ilqlzo5kfgvbbyrnwwmw7nm4wwufkyxfp7htiwabn5b5hdw4rvvk' ) assert p.valid p = IPFSPath( 'bafk4bzacia2aon3c3n5pkaemoij7sm4q4dt3omcr5tkc2sptmm6ifsnpbsx7h77xj4e4pjx7olxtbgsyjsg35mgl3j2q7mel3kuiz2v7ztngkdbv' ) assert p.valid p = IPFSPath( '/ipfs/bafykbzaced4xstofs4tc5q4irede6uzaz3qzcdvcb2eedxgfakzwdyjnxgohq/' ) assert p.valid cid = getCID( 'bafykbzaced4xstofs4tc5q4irede6uzaz3qzcdvcb2eedxgfakzwdyjnxgohq') m = multihash.decode(cid.multihash) assert m.name == 'blake2b-256'
def cidInfosMarkup(cidString): try: cid = getCID(cidString) mhash = multihash.decode(cid.multihash) baseEncoding = multibase.multibase.get_codec(cidString) except: return '<p>Invalid CID</p>' return ''' <p>CID: <b>{cids}</b></p> <p>CID version {cidv}</p> <p>Multibase encoding: <b>{mbase}</b></p> <p>Codec: <b>{codec}</b></p> <p>Multihash function: <b>{mhashfunc}</b></p> <p>Multihash function code: {mhashfuncvalue} (<b>{mhashfuncvaluehex}</b>)</p> <p>Multihash digest: <b>{mhashdigest}</b></p> <p>Multihash: <b>{mhashascii}</b></p> '''.format(cids=cidString, cidv=cid.version, mbase=baseEncoding.encoding if baseEncoding else iUnknown(), codec=cid.codec, mhashfunc=mhash.name, mhashfuncvalue=mhash.code, mhashfuncvaluehex=hex(mhash.code), mhashdigest=binascii.b2a_hex(mhash.digest).decode('ascii'), mhashascii=binascii.b2a_hex(cid.multihash).decode('ascii'))
def changeCid(self, cid): if cidValid(cid): self.rootHash = cid self.rootPath = IPFSPath(self.rootHash, autoCidConv=True) self.cid = cidhelpers.getCID(self.rootHash) self.pinButton.changeObject(self.rootPath) self.initModel()
def changeMultihash(self, cid): if cidValid(cid): self.parentMultihash = self.rootHash if self.parentMultihash is not None: self.parentMultihashSet.emit(self.parentMultihash) self.rootHash = cid self.rootPath = IPFSPath(self.rootHash, autoCidConv=True) self.cid = cidhelpers.getCID(self.rootHash) self.initModel()
async def fetchMetadata(self, path, stat): sInfo = StatInfo(stat) cidobj = getCID(sInfo.cid) cid = cidDowngrade(cidobj) if not cid: return metadata = await objectMetadata(str(cid)) if metadata: await self.app.multihashDb.store(path, objmetadata=metadata)
def cidObject(self): return getCID(self.cid)
def getCID(self): """ Returns the CID object corresponding to the input """ try: return cidhelpers.getCID(self.ui.cid.text()) except BaseException: return None
def cid(self): return cidhelpers.getCID(cidConvertBase32(self.entry['Hash']))