def mkdir(dirname): import stat fs = FileSystem() if dirname in fs.metadata or dirname in ('.', '..'): raise IOError('File exists') if '/' in dirname: raise ValueError('"/" is not permitted in directory name') fs.add_item(dirname, stat.S_IFDIR)
def install(self, disk_file_name, force=False): if os.path.exists(disk_file_name): if not force: raise ValueError('Already installed') with open(disk_file_name, 'wb+') as disk: disk.write('\x00'*1024*1024) disk.seek(0, 0) disk.write(bson.dumps(dict(metadata=[]))) disk.seek(0, 0) fs = FileSystem(disk) fs.add_item('/', fs.DIRECTORY_MODE) bin_dir = os.path.join(os.path.split(os.path.realpath(__file__))[0], 'bin') bins = glob.glob(os.path.join(bin_dir, '*.py')) fs.add_item('/bin', fs.DIRECTORY_MODE) for filepath in bins: self.put_file(filepath, '/bin', disk_file_name)