Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9339744
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
View Options
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
Details
Attached
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
Attached To
rDOBJS Object storage
Event Timeline
Log In to Comment