From 3eaee8bc02df1f09fc9accb76e988872e9a7f8e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Simen=20Heggest=C3=B8yl?= <simenheg@gmail.com>
Date: Sun, 15 Oct 2017 13:33:36 +0200
Subject: [PATCH] Handle collection in batchaddmedia command

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 | 1 +
 mediagoblin/gmg_commands/batchaddmedia.py    | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/docs/source/siteadmin/commandline-upload.rst b/docs/source/siteadmin/commandline-upload.rst
index 913e7e6c..756f5fa8 100644
--- a/docs/source/siteadmin/commandline-upload.rst
+++ b/docs/source/siteadmin/commandline-upload.rst
@@ -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
 ----------------
diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py
index 274d72bc..573942e5 100644
--- a/mediagoblin/gmg_commands/batchaddmedia.py
+++ b/mediagoblin/gmg_commands/batchaddmedia.py
@@ -113,6 +113,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:
@@ -155,6 +156,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"")
-- 
2.14.2

