2743 Commits

Author SHA1 Message Date
Elrond
e72c30e0e5 Only create api docs for mediagoblin/ 2013-03-12 18:16:16 +01:00
Christopher Allan Webber
80550e22c3 Now in 0.4.0 dev mode! 2013-03-12 12:11:55 -05:00
Christopher Allan Webber
fda5ea7aaa "will now" -> "will not" tyop caught by AVRS... fixed, thanks! 2013-03-12 11:49:39 -05:00
Christopher Allan Webber
b1f0b4b8f9 New version: 0.3.3 ! 2013-03-11 17:26:22 -05:00
Christopher Allan Webber
b0ed6def40 Committing extracted and compiled translations 2013-03-11 17:22:09 -05:00
Christopher Allan Webber
8aaf38b3a2 Committing present MediaGoblin translations before pushing extracted messages 2013-03-11 17:21:53 -05:00
Christopher Allan Webber
d0ceb506bd Fixing dates when uploaded in a video to a mediagoblin instance.
There were some "serializing to json strings" issues.  They should be
fixed now... much more careful whitelist and cleaning of the video
"tags" metadata out of gstreamer.

This commit sponsored by Aimee Sullivan.  Thanks!
2013-03-11 16:54:41 -05:00
Christopher Allan Webber
70177c1feb You can also DELETE accounts now 2013-03-11 15:18:24 -05:00
Christopher Allan Webber
a28c6c4c48 Minor release note changes, as suggested by Elrond.
This commit sponsored by Martin Ansdell-Smith.  Thanks!
2013-03-11 13:35:59 -05:00
Christopher Allan Webber
6e2dcbffaf 0.3.3 release notes 2013-03-11 12:34:02 -05:00
Christopher Allan Webber
903bec66ee Updating AUTHORS with many more people who deserve to be attributed! 2013-03-11 09:08:09 -05:00
Joar Wandborg
0151060a5b Added thingiview.js symlink, fixes webgl view 2013-03-10 23:09:52 +01:00
Elrond
e9330b9552 655: Fix collection fetching for media_collect()
The problem is:

    Collection.query.filter_by(id=X, ...)

1. X = form.collection.data
   This works nicely for the completely empty form (X = None).
   It does not work for a selected collection, because X
   will be the collection, not its id.

2. X = request.form.get('collection') (old code).
   This one works mostly, except for the completely empty
   form on postgres, because in this case X = u"__None" and
   postgres does not like comparing an integer column with
   a string.

Fix:
    collection = form.collection.data
    if collection and collection.creator != request.user.id:
        collection = None
2013-03-10 21:19:16 +01:00
Christopher Allan Webber
8da8449332 tyop fix in docs, lazyserer.sh->lazyserver.sh
This commit sponsored by S J Bennett.  Thanks!
2013-03-09 12:18:53 -06:00
Elrond
ed6a0bcd42 Change the _original_ design decisions.
- Rename the chapter to "Original *".
- Fix links.
2013-03-09 15:49:20 +01:00
Elrond
43a2f7fe79 Revive old "Design Decisions".
This brings back the exact version that was removed in
65e7ce634cfecc87ed6f390f9ccf91be513d2eea.
2013-03-09 15:49:20 +01:00
Christopher Allan Webber
81f73707a6 Providing warning to users about instability of OAuth/API 2013-03-08 14:38:55 -06:00
Christopher Allan Webber
7bf229267d Making a fix so that video codec name switched from "vp8 video" to "vp8"
"vp8 video" is what vp8 is marked as in gstreamer's metadata.
However, the browser expects it just as the name "vp8".  So fixing
that.

This commit sponsored by Tyng-Ruey Chuang.  Thank you!
2013-03-06 12:05:40 -06:00
Christopher Allan Webber
a99321b9d9 Committing extracted and compiled translations 2013-03-04 18:05:54 -06:00
Christopher Allan Webber
f415c35b4e Merge branch 'master' into 419_cherrypick_large_uploads 2013-03-04 15:47:05 -06:00
Christopher Allan Webber
f51a416778 Removing an unnecessary video write
In the case of if we're skipping transcoding, we don't need to copy
this file at all!

This commit sponsored by Frank Zambrini III.  Thanks!
2013-03-04 11:53:04 -06:00
Christopher Allan Webber
55c7bf592c Merge branch 'joar-skip_transcoding' 2013-03-04 11:45:27 -06:00
Christopher Allan Webber
e9b69c7d0e Elrond points out that we should use form.collection.data
That's true; I'm not sure what it's fixing, but he thinks it's fixing
something.  Anyway, it's correct :)

This commit sponsored by Philippe Gauthier.  Thanks!
2013-03-04 11:45:14 -06:00
Christopher Allan Webber
7e4a87dca5 Give a more useful error if a table already exists and so we can't create it during migrations
This commit sponsored by Andrzej Prochyra.  Thanks!
2013-03-04 10:57:21 -06:00
Christopher Allan Webber
17e4679ddc Three fixes to collection adding view, one of them a serious security bug
- Don't let people who aren't the authors of a collection from adding
   things to it (handled by forcing the user check in the query)
 - request url in case invalid collection selected fixed
 - collection_item.author doesn't yet exist; removing the selection
   (we might want multiple people to be able to edit a collection in
   the future but that future does not yet exist; as Elrond said,
   remove this "false hope")

Thanks to Elrond to pointing out these issues.

And thanks to David Kindler for sponsoring this commit!
2013-03-04 10:12:48 -06:00
Christopher Allan Webber
5302477671 self.media_data->self.media_manager in the docstring. Thanks for catching, Elrond.
This commit sponsored by Sebastian Hugentobler.  Thank you!
2013-03-03 16:28:16 -06:00
Christopher Allan Webber
e77df64fd1 No reason really to pass in fetch_order anyway...
I think this is legacy code from get_display_media being a utility, or
something.  Removed!  (Thanks for pointing this out, Elrond!)

This commit sponsored by Tristan Chambers.  Thank you!
2013-03-03 15:40:49 -06:00
Sebastian Spaeth
99a54c0095 Make copying to/from storage systems memory efficient (#419)
The copy_locally and copy_local_to_storage (very inconsistent terms BTW)
were simply slurping in everything in RAM and writing it out at once.
(the copy_locally was actually memory efficient if the remote system was local)

Use shutil.copyfileobj which does chunked reads/writes on file objects.
The default buffer size is 16kb, and as each chunk means a separate HTTP
request for e.g. cloudfiles, we use a chunksize of 4MB here (which has
just been arbitrarily set by me without tests).

This should help with the failure to upload large files issue #419.
2013-03-03 14:40:06 -06:00
Christopher Allan Webber
4f239ff194 Another elrond suggestion: only init orig_metadata if there's anything in the dict.
This commit sponsored by Joshua Rosen.  Thank you!
2013-03-03 14:29:30 -06:00
Christopher Allan Webber
9d4cebfd36 Per Elrond's suggestions moving DEFAULT_WEBM_TYPE to media manager
The reason for this is to avoid defining this twice as we were
previously (once in the template, once in video/models.py)

This commit sponsored by Roland McIntosh.  Thank you!
2013-03-03 14:27:36 -06:00
Christopher Allan Webber
787aafd644 Extrapolate type= based on the video metadata that we have, if we can.
It's kind of awkward because it relies on there being a entry.media_data,
but that's not guaranteed... (see http://issues.mediagoblin.org/ticket/650)
so we use a dopey fallback in the template in that case (kind of
annoying info duplication).

This commit sponsored by Piotr Wieczorek.  Thank you!
2013-03-03 11:41:40 -06:00
Christopher Allan Webber
b35dfd3271 Mild cosmetic cleanups to video.html and adding missing </li> elements.
This commit sponsored by Jukka Hellen.  Thanks!
2013-03-03 11:08:14 -06:00
Christopher Allan Webber
14814f217a {% set %} the display_type and display_path and use that elsewhere
This will make some stuff a bit cleaner that's coming up...

This commit sponsored by J B Nicholson-Owens.  Thanks!
2013-03-03 11:03:30 -06:00
Christopher Allan Webber
3ff006ef3b pdb.set_trace() in mediagoblin code is Not Allowed(TM), removing from audio code
Of course, the version that appears here is not really dangerous
because it's for the "call the file individually" form of debugging,
but it isn't allowed anyway.

This commit sponsored by Michael Faryniarz.  Thanks!
2013-03-03 10:38:06 -06:00
Christopher Allan Webber
29adab4651 Now store metadata info from processing into the media type.
This comes in several parts:
 - Store the metadata from gstreamer during processing
 - Add a new JSONEncoded field to the VideoData table
 - And, of course, add a migration for that field!

This commit sponsored by Julius Tuomisto.  Thank you, Julius!
2013-03-03 10:36:37 -06:00
Joar Wandborg
3ff4f75203 Removed debugging exception
.. that accidentally got included due to not testing the video media
type in the unit tests.
2013-03-03 08:48:12 +01:00
Joar Wandborg
f3f530286f Updated raven plugin
- Added wrap_wsgi, celery_setup, celery_logging_setup hooks
- Updated raven plugin docs
- Updated production considerations docs
- Added raven logging setup
2013-03-03 02:32:03 +01:00
Christopher Allan Webber
ddbf6af1e2 Huge amount of work to (mostly) allow .ogg (and maybe other) formats to skip transcode
- Update get_display_media in several ways:
   - now uses the media type's own declaration of the order of things
   - returns both the media_size and the media_path, as per the docstring
   - implicitly uses self.media_files as opposed to forcing you to pass it in
 - update videos to use get_display_media
 - update images to declare media_fetch_order in the media manager (videos also)
 - update stl to use media.media_files['original'] instead of weird
   use of get_display_media
 - update sidebar to only conditionally show webm_640

TODO still: identify video type information *during* processing, show
that in the <video><source /></video> element.

This commit sponsored by Nathan Yergler.  Thanks, nyergler!
2013-03-02 19:06:31 -06:00
Joar Wandborg
40ef3f5e05 plugin/raven: Fix paster's celery config issue
Check for CELERY_CONFIG_MODULE before we import raven.contrib.celery. It
seems that the import otherwise sets up the celery client before we get
to pass it our mediagoblin-specific settings.
2013-03-03 00:46:05 +01:00
Joar Wandborg
35f1f75922 Added raven plugin docs to docs 2013-03-03 00:46:05 +01:00
Joar Wandborg
32174bedc1 Removed stray ) 2013-03-03 00:46:05 +01:00
Joar Wandborg
dee408291a Removed PLUGIN_DIR from raven 2013-03-03 00:46:05 +01:00
Joar Wandborg
0c1ae3518e Don't look for the oauth config in raven plugin 2013-03-03 00:46:05 +01:00
Joar Wandborg
b9c5c97238 Refactored raven plugin 2013-03-03 00:46:05 +01:00
Joar Wandborg
3fbba1af82 Added raven plugin 2013-03-03 00:46:05 +01:00
Joar Wandborg
e11bc1991d Added .send method to cloudfiles storage object
.. wrapper. Also added some logging - A .warn() for the legacy .write()
method and a .debug() for the new copy_local_to_storage()
2013-03-03 00:11:34 +01:00
Sebastian Spaeth
8b35e7ad15 Make Cloudfiles copy memory efficient too (#419)
It seems that (our implementation of) cloudfiles.write() takes
all existing data and appends write(data) to it, sending the
full monty over the wire everytime. This would of course
absolutely kill chunked writes with some O(1^n) performance
and bandwidth usage. So, override this method and use the
Cloudfile's "send" interface instead.

Also make the Cloudfile file wrapper an iterator that allows us to
simply do "for data in cloudfile:" which will stream the data in a
memory-efficient way.

DO NOTE THAT THIS PATCH IS COMPLETELY UNTESTED DUE TO LACK OF SETUP
PLEASE REVIEW AND VERIFY.
2013-03-02 23:44:54 +01:00
Joar Wandborg
77c85224b1 Fixed hidden fields in oauth client authorization
Removed the translation marking and passed in empty strings to avoid
WTForms automagically creating the labels from the field names (i.e.
client_id => 'Client Id').
2013-03-02 23:42:03 +01:00
Joar Wandborg
56c113c770 Do not encode the next kwarg twice 2013-03-02 23:21:03 +01:00
Elrond
0e80b31626 Turn "License preference" into a normal field.
instead of rendering it by hand, use the normal field
rendering tools.

Old:
	[choose box] License preference
New:
	License preference
	[choose box]
	This will be your default license on upload forms.
2013-03-02 16:07:11 +01:00