Handle collection in batchaddmedia command
authorSimen Heggestøyl <simenheg@gmail.com>
Sun, 15 Oct 2017 11:33:36 +0000 (13:33 +0200)
committerBoris Bobrov <breton@cynicmansion.ru>
Mon, 16 Oct 2017 15:22:30 +0000 (18:22 +0300)
Make the batchaddmedia command look for a 'collection-slug' column, that
for each row may specify the slug of a collection that the media should
be added to. This matches the '--collection-slug' argument of the
addmedia command.

docs/source/siteadmin/commandline-upload.rst
mediagoblin/gmg_commands/batchaddmedia.py

index 913e7e6c4d200483d253c4a34a18e5177e5c33c7..756f5fa83a93f59084599e7f04a25b55d474e7c5 100644 (file)
@@ -87,6 +87,7 @@ just as easy to provide this information through the correct metadata columns.
 - **license** is used to set a license for your piece a media for MediaGoblin's use. This must be a URI.
 - **title** will set the title displayed to MediaGoblin users.
 - **description** will set a description of your media.
+- **collection-slug** will add the media to a collection, if a collection with the given slug exists.
 
 Metadata columns
 ----------------
index 2e3d9a402f6e423e41eaa4fc12b890bae1f9f0d3..a521fe4d4b09413c9e0a40ce68171fdb5675409c 100644 (file)
@@ -110,6 +110,7 @@ def batchaddmedia(args):
         title = file_metadata.get('title') or file_metadata.get('dc:title')
         description = (file_metadata.get('description') or
             file_metadata.get('dc:description'))
+        collection_slug = file_metadata.get('collection-slug')
 
         license = file_metadata.get('license')
         try:
@@ -152,6 +153,7 @@ FAIL: Local file {filename} could not be accessed.
                 filename=filename,
                 title=maybe_unicodeify(title),
                 description=maybe_unicodeify(description),
+                collection_slug=maybe_unicodeify(collection_slug),
                 license=maybe_unicodeify(license),
                 metadata=json_ld_metadata,
                 tags_string=u"")