Exemple #1
0
 def _get_dir_obj(self, dir_id):
     blob = self._blob_store.get_blob(dir_id)
     if blob is None:  # pragma: no cover
         return None
     as_dict = obnamlib.deserialise_object(blob)
     dir_obj = obnamlib.create_gadirectory_from_dict(as_dict)
     dir_obj.set_immutable()
     return dir_obj
Exemple #2
0
 def _get_dir_obj(self, dir_id):
     blob = self._blob_store.get_blob(dir_id)
     if blob is None:  # pragma: no cover
         return None
     as_dict = obnamlib.deserialise_object(blob)
     dir_obj = obnamlib.create_gadirectory_from_dict(as_dict)
     dir_obj.set_immutable()
     return dir_obj
Exemple #3
0
 def set_directory(self, pathname, dir_obj):
     self._cache.set(pathname, dir_obj)
     if pathname != "/":
         basename = os.path.basename(pathname)
         parent_path = os.path.dirname(pathname)
         parent_obj = self._cache.get(parent_path)
         if not parent_obj:
             parent_obj = self.get_directory(parent_path)
             if parent_obj:
                 parent_obj = obnamlib.create_gadirectory_from_dict(parent_obj.as_dict())
             else:
                 parent_obj = obnamlib.GADirectory()
                 parent_obj.add_file(".")
         if not parent_obj.is_mutable():
             parent_obj = obnamlib.create_gadirectory_from_dict(parent_obj.as_dict())
         parent_obj.add_subdir(basename, None)
         self.set_directory(parent_path, parent_obj)
Exemple #4
0
 def set_directory(self, pathname, dir_obj):
     self._cache.set(pathname, dir_obj)
     if pathname != '/':
         basename = os.path.basename(pathname)
         parent_path = os.path.dirname(pathname)
         parent_obj = self._cache.get(parent_path)
         if not parent_obj:
             parent_obj = self.get_directory(parent_path)
             if parent_obj:
                 parent_obj = obnamlib.create_gadirectory_from_dict(
                     parent_obj.as_dict())
             else:
                 parent_obj = obnamlib.GADirectory()
                 parent_obj.add_file('.')
         if not parent_obj.is_mutable():
             parent_obj = obnamlib.create_gadirectory_from_dict(
                 parent_obj.as_dict())
         parent_obj.add_subdir(basename, None)
         self.set_directory(parent_path, parent_obj)
Exemple #5
0
    def test_creates_GADirectory_from_dict(self):
        orig = obnamlib.GADirectory()
        orig.add_file('.')
        orig.set_file_key(
            '.', obnamlib.REPO_FILE_MODE, stat.S_IFDIR | 0755)
        orig.add_file('README')
        orig.set_file_key(
            'README', obnamlib.REPO_FILE_MODE, stat.S_IFREG | 0644)
        orig.add_subdir('.git', 'git-dir-id')

        new = obnamlib.create_gadirectory_from_dict(orig.as_dict())
        self.assertEqual(new.as_dict(), orig.as_dict())
Exemple #6
0
 def _remove_from_parent(self, pathname):
     self._cache.remove(pathname)
     basename = os.path.basename(pathname)
     parent_path = os.path.dirname(pathname)
     parent_obj = self._cache.get(parent_path)
     if not parent_obj:
         parent_obj = self.get_directory(parent_path)
         if parent_obj:
             parent_obj = obnamlib.create_gadirectory_from_dict(parent_obj.as_dict())
     if parent_obj:
         parent_obj.remove_subdir(basename)
         self.set_directory(parent_path, parent_obj)
Exemple #7
0
    def test_creates_GADirectory_from_dict(self):
        orig = obnamlib.GADirectory()
        orig.add_file('.')
        orig.set_file_key(
            '.', obnamlib.REPO_FILE_MODE, stat.S_IFDIR | 0755)
        orig.add_file('README')
        orig.set_file_key(
            'README', obnamlib.REPO_FILE_MODE, stat.S_IFREG | 0644)
        orig.add_subdir('.git', 'git-dir-id')

        new = obnamlib.create_gadirectory_from_dict(orig.as_dict())
        self.assertEqual(new.as_dict(), orig.as_dict())
Exemple #8
0
 def _remove_from_parent(self, pathname):
     self._cache.remove(pathname)
     basename = os.path.basename(pathname)
     parent_path = os.path.dirname(pathname)
     parent_obj = self._cache.get(parent_path)
     if not parent_obj:
         parent_obj = self.get_directory(parent_path)
         if parent_obj:
             parent_obj = obnamlib.create_gadirectory_from_dict(
                 parent_obj.as_dict())
     if parent_obj:
         parent_obj.remove_subdir(basename)
         self.set_directory(parent_path, parent_obj)
Exemple #9
0
 def _make_mutable(self, dir_obj):
     if dir_obj.is_mutable():
         return dir_obj
     else:
         return obnamlib.create_gadirectory_from_dict(dir_obj.as_dict())
Exemple #10
0
 def _make_mutable(self, dir_obj):
     if dir_obj.is_mutable():
         return dir_obj
     else:
         return obnamlib.create_gadirectory_from_dict(dir_obj.as_dict())