示例#1
0
    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'
示例#2
0
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'))
示例#3
0
    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()
示例#4
0
    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()
示例#5
0
    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)
示例#6
0
 def cidObject(self):
     return getCID(self.cid)
示例#7
0
 def getCID(self):
     """ Returns the CID object corresponding to the input """
     try:
         return cidhelpers.getCID(self.ui.cid.text())
     except BaseException:
         return None
示例#8
0
 def cid(self):
     return cidhelpers.getCID(cidConvertBase32(self.entry['Hash']))