Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F8393990
swh-storage-add-dir
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
swh-storage-add-dir
View Options
#!/usr/bin/env 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.model.hashutil
import
MultiHash
from
swh.storage.storage
import
Storage
if
__name__
==
"__main__"
:
try
:
db_connstring
=
sys
.
argv
[
1
]
obj_root
=
sys
.
argv
[
2
]
dirname
=
sys
.
argv
[
3
]
except
IndexError
:
print
(
"Usage: swh-storage-add-dir"
+
" DB_CONNSTRING OBJ_STORAGE_DIR DATA_DIR"
)
print
(
'Example: swh-storage-add-dir "dbname=swh user=foo"'
+
" /srv/softwareheritage/objects /usr/src/linux-4.2"
)
sys
.
exit
(
1
)
logging
.
basicConfig
(
level
=
logging
.
INFO
)
storage
=
Storage
(
db_connstring
,
obj_root
)
def
list_content
():
for
root
,
_dirs
,
files
in
os
.
walk
(
dirname
):
for
name
in
files
:
path
=
os
.
path
.
join
(
root
,
name
)
cont
=
MultiHash
.
from_path
(
path
)
.
digest
()
cont
[
"data"
]
=
open
(
path
,
"rb"
)
.
read
()
yield
cont
storage
.
content_add
(
list_content
())
File Metadata
Details
Attached
Mime Type
text/x-python
Expires
Wed, Jun 4, 7:20 PM (5 d, 16 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3239001
Attached To
rDSTO Storage manager
Event Timeline
Log In to Comment