Revision 6a4da5c4ea6142a73d832ca56e6cdc3444048f9c authored by Nicolas Dandrimont on 28 September 2015, 13:58:56 UTC, committed by Nicolas Dandrimont on 28 September 2015, 14:00:02 UTC
1 parent 13315d2
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)
Computing file changes ...