Page MenuHomeSoftware Heritage

swh-objstorage-add-dir
No OneTemporary

swh-objstorage-add-dir

#!/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_file(f, length=os.path.getsize(path))
except objstorage.DuplicateObjError:
dups += 1
if dups:
logging.info('skipped %d duplicate(s) file(s)' % dups)

File Metadata

Mime Type
text/x-python
Expires
Thu, Apr 17, 8:27 AM (5 d, 11 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3265773

Event Timeline