Page MenuHomeSoftware Heritage

No OneTemporary

diff --git a/bin/swh-objstorage-add-dir b/bin/swh-objstorage-add-dir
new file mode 100755
index 0000000..c1dd69d
--- /dev/null
+++ b/bin/swh-objstorage-add-dir
@@ -0,0 +1,37 @@
+#!/usr/bin/python3
+
+# Copyright (C) 2015 The Software Heritage developers
+# See the AUTHORS file at the top-level directory of this distribution
+# License: GNU General Public License version 3, or any later version
+# See top-level LICENSE file for more information
+
+import logging
+import os
+import sys
+
+from swh.storage import objstorage
+
+if __name__ == '__main__':
+ try:
+ root_dir = sys.argv[1]
+ dirname = sys.argv[2]
+ except IndexError:
+ print("Usage: swh-objstorage-add-dir OBJ_STORAGE_DIR DATA_DIR")
+ sys.exit(1)
+
+ logging.basicConfig(level=logging.INFO)
+
+ objs = objstorage.ObjStorage(root_dir)
+
+ dups = 0
+ for root, _dirs, files in os.walk(dirname):
+ for name in files:
+ path = os.path.join(root, name)
+ with open(path, 'rb') as f:
+ try:
+ objs.add(f.read())
+ except objstorage.DuplicateObjError:
+ dups += 1
+
+ if dups:
+ logging.info('skipped %d duplicate(s) file(s)' % dups)
diff --git a/bin/swh-objstorage-fsck b/bin/swh-objstorage-fsck
new file mode 100755
index 0000000..b277883
--- /dev/null
+++ b/bin/swh-objstorage-fsck
@@ -0,0 +1,28 @@
+#!/usr/bin/python3
+
+# Copyright (C) 2015 The Software Heritage developers
+# See the AUTHORS file at the top-level directory of this distribution
+# License: GNU General Public License version 3, or any later version
+# See top-level LICENSE file for more information
+
+import logging
+import sys
+
+from swh.storage import objstorage
+
+if __name__ == '__main__':
+ try:
+ root_dir = sys.argv[1]
+ except IndexError:
+ print("Usage: swh-objstorage-add-dir OBJ_STORAGE_DIR")
+ sys.exit(1)
+
+ logging.basicConfig(level=logging.INFO)
+
+ objs = objstorage.ObjStorage(root_dir)
+
+ for obj_id in objs:
+ try:
+ objs.check(obj_id)
+ except objstorage.Error as err:
+ logging.error(err)

File Metadata

Mime Type
text/x-diff
Expires
Jul 4 2025, 9:53 AM (5 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3281503

Event Timeline