Adjusted batchaddmedia to make use of more internal nodes. Added to the docs.
This commit is contained in:
parent
375db9c9bc
commit
65f5714118
@ -61,16 +61,28 @@ be able to automatically name them appropriately.
|
|||||||
|
|
||||||
The csv file
|
The csv file
|
||||||
============
|
============
|
||||||
The media:location column
|
The location column
|
||||||
-------------------------
|
-------------------
|
||||||
The media:location column is the one column that is absolutely necessary for
|
The location column is the one column that is absolutely necessary for
|
||||||
uploading your media. This gives a path to each piece of media you upload. This
|
uploading your media. This gives a path to each piece of media you upload. This
|
||||||
can either a path to a local file or a direct link to remote media (with the
|
can either a path to a local file or a direct link to remote media (with the
|
||||||
link in http format). As you can see in the example above the (fake) media was
|
link in http format). As you can see in the example above the (fake) media was
|
||||||
stored remotely on "www.example.net".
|
stored remotely on "www.example.net".
|
||||||
|
|
||||||
Other columns
|
Other internal nodes
|
||||||
-------------
|
--------------------
|
||||||
|
There are other columns which can be used by the script to provide information.
|
||||||
|
These are not stored as part of the media's metadata. You can use these columns to
|
||||||
|
provide default information for your media entry, but as you'll see below, it's
|
||||||
|
just as easy to provide this information through the correct metadata columns.
|
||||||
|
|
||||||
|
- **id** is used to identify the media entry to the user in case of an error in the batchaddmedia script.
|
||||||
|
- **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.
|
||||||
|
|
||||||
|
Metadata columns
|
||||||
|
----------------
|
||||||
Other columns can be used to provide detailed metadata about each media entry.
|
Other columns can be used to provide detailed metadata about each media entry.
|
||||||
Our metadata system accepts any information provided for in the
|
Our metadata system accepts any information provided for in the
|
||||||
`RDFa Core Initial Context`_, and the batchupload script recognizes all of the
|
`RDFa Core Initial Context`_, and the batchupload script recognizes all of the
|
||||||
@ -80,13 +92,17 @@ resources provided within it.
|
|||||||
|
|
||||||
The uploader may include the metadata for each piece of media, or
|
The uploader may include the metadata for each piece of media, or
|
||||||
leave them blank if they want to. A few columns from `Dublin Core`_ are
|
leave them blank if they want to. A few columns from `Dublin Core`_ are
|
||||||
notable because the batchaddmedia script uses them to set the default
|
notable because the batchaddmedia script also uses them to set the default
|
||||||
information of uploaded media entries.
|
information of uploaded media entries.
|
||||||
|
|
||||||
.. _Dublin Core: http://wiki.dublincore.org/index.php/User_Guide
|
.. _Dublin Core: http://wiki.dublincore.org/index.php/User_Guide
|
||||||
|
|
||||||
- **dc:title** sets a title for your media entry. If this is left blank, the media entry will be named according to the filename of the file being uploaded.
|
- **dc:title** sets a title for your media entry.
|
||||||
- **dc:description** sets a description of your media entry. If this is left blank the media entry's description will not be filled in.
|
- **dc:description** sets a description of your media entry.
|
||||||
- **dc:rights** will set a license for your media entry `if` the data provided is a valid URI. If this is left blank 'All Rights Reserved' will be selected.
|
|
||||||
|
|
||||||
You can of course, change these values later.
|
If both a metadata column and an internal node for the title are provided, mediagoblin
|
||||||
|
will use the internal node as the media entry's display name. This makes it so
|
||||||
|
that if you want to display a piece of media with a different title
|
||||||
|
than the one provided in its metadata, you can just provide different data for
|
||||||
|
the 'dc:title' and 'title' columns. The same is true of the 'description' and
|
||||||
|
'dc:description'.
|
||||||
|
@ -33,7 +33,7 @@ def parser_setup(subparser):
|
|||||||
This command allows the administrator to upload many media files at once."""
|
This command allows the administrator to upload many media files at once."""
|
||||||
subparser.epilog = _(u"""For more information about how to properly run this
|
subparser.epilog = _(u"""For more information about how to properly run this
|
||||||
script (and how to format the metadata csv file), read the MediaGoblin
|
script (and how to format the metadata csv file), read the MediaGoblin
|
||||||
documentation page on command line uploading
|
documentation page on command line uploading
|
||||||
<http://docs.mediagoblin.org/siteadmin/commandline-upload.html>""")
|
<http://docs.mediagoblin.org/siteadmin/commandline-upload.html>""")
|
||||||
subparser.add_argument(
|
subparser.add_argument(
|
||||||
'username',
|
'username',
|
||||||
@ -99,6 +99,14 @@ def batchaddmedia(args):
|
|||||||
# Get all metadata entries starting with 'media' as variables and then
|
# Get all metadata entries starting with 'media' as variables and then
|
||||||
# delete them because those are for internal use only.
|
# delete them because those are for internal use only.
|
||||||
original_location = file_metadata['location']
|
original_location = file_metadata['location']
|
||||||
|
|
||||||
|
### Pull the important media information for mediagoblin from the
|
||||||
|
### metadata, if it is provided.
|
||||||
|
title = file_metadata.get('title') or file_metadata.get('dc:title')
|
||||||
|
description = (file_metadata.get('description') or
|
||||||
|
file_metadata.get('dc:description'))
|
||||||
|
|
||||||
|
license = file_metadata.get('license')
|
||||||
try:
|
try:
|
||||||
json_ld_metadata = compact_and_validate(file_metadata)
|
json_ld_metadata = compact_and_validate(file_metadata)
|
||||||
except ValidationError, exc:
|
except ValidationError, exc:
|
||||||
@ -111,13 +119,6 @@ Metadata was not uploaded.""".format(
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
url = urlparse(original_location)
|
url = urlparse(original_location)
|
||||||
|
|
||||||
### Pull the important media information for mediagoblin from the
|
|
||||||
### metadata, if it is provided.
|
|
||||||
title = json_ld_metadata.get('dc:title')
|
|
||||||
description = json_ld_metadata.get('dc:description')
|
|
||||||
|
|
||||||
license = json_ld_metadata.get('license')
|
|
||||||
filename = url.path.split()[-1]
|
filename = url.path.split()[-1]
|
||||||
|
|
||||||
if url.scheme == 'http':
|
if url.scheme == 'http':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user