Ticket #150: convertshares.py

File convertshares.py, 860 bytes (added by zooko, at 2008-01-31T22:12:00Z)
Line 
1#!/usr/bin/env python
2
3import os
4
5from allmydata.util import fileutil, idlib
6from allmydata.storage import storage_index_to_dir
7
8newtopdirs = set()
9for sidir in os.listdir('.'):
10    if idlib.could_be_base32_encoded_l(sidir, 128):
11        newtopdir = idlib.b2a_l(idlib.a2b(sidir)[:2], 14)
12        if not newtopdir in newtopdirs:
13            newtopdirs.add(newtopdir)
14            fileutil.make_dirs(newtopdir)
15        try:
16            os.rename(sidir, os.path.join(newtopdir, sidir))
17        except EnvironmentError:
18            # Maybe there is already a sidir there and we need to move the
19            # contents of this sidir into it.
20            for fn in os.listdir(sidir):
21                os.rename(os.path.join(sidir, fn), os.path.join(newtopdir, sidir, fn))
22            # Okay, good, now rmdir the old one.
23            os.rmdir(sidir)
24       
25