Example #1
0
def find_shares(options):
    """Given a storage index and a list of node directories, emit a list of
    all matching shares to stdout, one per line. For example:

     find-shares.py 44kai1tui348689nrw8fjegc8c ~/testnet/node-*

    gives:

    /home/warner/testnet/node-1/storage/shares/44k/44kai1tui348689nrw8fjegc8c/5
    /home/warner/testnet/node-1/storage/shares/44k/44kai1tui348689nrw8fjegc8c/9
    /home/warner/testnet/node-2/storage/shares/44k/44kai1tui348689nrw8fjegc8c/2
    """
    from allmydata.storage.server import si_a2b, storage_index_to_dir
    from allmydata.util.encodingutil import listdir_unicode

    out = options.stdout
    sharedir = storage_index_to_dir(si_a2b(options.si_s))
    for d in options.nodedirs:
        d = os.path.join(d, "storage/shares", sharedir)
        if os.path.exists(d):
            for shnum in listdir_unicode(d):
                print >>out, os.path.join(d, shnum)

    return 0
Example #2
0
 def init_from_string(cls, uri):
     mo = cls.STRING_RE.search(uri)
     if not mo:
         raise BadURIError("'%s' doesn't look like a %s cap" % (uri, cls))
     return cls(si_a2b(mo.group(1)), base32.a2b(mo.group(2)))
Example #3
0
 def init_from_string(cls, uri):
     mo = cls.STRING_RE.search(uri)
     if not mo:
         raise BadURIError("'%s' doesn't look like a %s cap" % (uri, cls))
     return cls(si_a2b(mo.group(1)), base32.a2b(mo.group(2)),
                int(mo.group(3)), int(mo.group(4)), int(mo.group(5)))