Plugins may want to insert meddlewares, so this list should be modifiable
at very list (if we don't want to provide helper methods for this, which
seems a tad overkill for now).
This change is required for the upcoming trim_whitespace plugin.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
There is really no reason to provide and enable a meddleware that
does exactly... NOTHING ...by default.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Rather than exploding in the user's face (for example if we custom-configure
licenses in our MG instance, and there are still media with now "unknown"
licenses in the db), simply return a License object as a fallback, where all
attributes are set to the URL we were handed.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
"Objectify" our licenses to have .uri, .abbreviation, .name attributes
that we can pass into the templates and use there. namedtuples are a good
poor man's choice to make a License a class. (a named tuple really)
Document and optimize licenses_as_choices(), it is a one-liner really.
No need for verbose appends here...
Rather than manually __importing__ the MEDIA_MANAGER, we should have
been using tools.common.import_component in the first place.
But even better to use the existing get_media_manager() function that
exists for exactly our purpose. Also improve documentation of what happens
in case of failure.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
importlib is cool, but only included in python2.7 which is beyond our
minimum python version that we support. So simply use plain old
__import__.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Thanks to Elrond for noticing. We wrap error messages in <p> tags,
so there is no need to start the error message with <p>. DOH
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
MANIFEST.in did not include *.xml for our templates, so the webfinger
template files got left out of our packaging with e.g. "setup.py install".
Fixed.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
without being an admin. Previously we were just returning a 404 page
and this confused the heck out of me, as I did not understand why the
admin pages were not there at all (I was no admin).
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Rather than having a 404.html, a 403.html, a 500.html,...
we have a generic error.html template that we pass in an
error code, a title and a (html'ish) error message.
Implement the common render_404 and render_403 shortcuts. More exotic
cases can be achieved by the generic render_error function.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
In case we want to bundle db actions into a single transaction, we
can now use delete(commit=False) to prevent the transaction from being
committed immediately. This is useful when e.g. deleting a User() and
thousands of his MediaEntries in a single commit.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
On a page with the single purpose to enter new user data, we should
auto-focus the username field. It is very annoying to have to click in
that field before starting to type. Theoretically, there is the "autofocus"
attribute in html5, but IE does not support that.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
* spaetz/390_delim:
No need to strip the tag 4 times
Slightly shorten the media_tags_as_string function
Remove tag delimiter configurability (#390), fixed pep-8 compliance
1) Change the "dashboard":
- Add a bunch of new links: Processing panel, Add media
- Use <ul>+<li> for the *list* of possible actions
2) Add a title attribute to the "add media to collection" link
We have migrations creating new tables. Those currently use
"raw" table definitions. This easily gives errors (we
already had this problem).
So instead rewrite those to use declarative tables and use
those to create new tables. Just copy the new table over to
the migration, strip it down to the bare minimum, rename to
_v0, base it on declarative_base() and be done!
Do this for the current migrations.
We were not actually using the routes package anymore, but it was
still mentioned in the documention. Adapt the plugin documentation to
actually represent reality, although I don't like the API design.
(but this is for another day)
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Place the geolocation_visible setting (defaults to false) in
mediagoblin.ini to make it more discoverable (I needed to check
the source to find out how to enable it). I'd vote for a default
of true, we should come with some batteries included IMHO..
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Only a short blurb "see map license" in the small map which will
pop up the full license text via jquery when clicked.
Adapt the license text as recommended by OpenStreetMap
http://www.openstreetmap.org/copyright and link there.
The disadvantage is that this only works when Javascript is enabled,
but as the map only works when Javascript is enabled in the first place,
this should not be too much of a limitation.
TODO: Our esteemed web designer needs to have a look at the desired color
style for this. Right now, I simply placed it in the message_warning
class. This might want fine-tuning.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
So far templates required a very complex blurb to simply insert a
thumbnail URL, exposing much of the internal logic to the template
designer. In addition, we would fail with an error if for some
reason the media_files['thumb'] entry was never populated.
This adds the MediaEntry.thumb_url property that template designers
can simply use. It will do the right thing, either fetching the proper
thumbnail or hand back a generic icon specified in a media's
MEDIA_MANAGER as "default_thumb".
Add an image default fallback icon (stolen from Tangos, which are
Public Domain since version 0.8.90 as I understand) since the one
we referred to was not existing. Perhaps, a "broken image" icon
would be better, but I'll leave that to our capable designers.
All templates have been modified to make use of the new thumb_url
function.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Hardcode commas as tag delimiters per discussion in issue 390. Also
improved PEP-8'ness of the file while touching. Includes some improvements
suggested by gandaro.
Reviewed-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Manually render the "notify me" checkbox line in the account settings
to not put the form label as a heading but in the same line as the
checkbox.
Edit forms.py to use the label attribute for the caption.
Original patch modified by Sebastian Spaeth to 1) not translate the
checkbox label in the template, it is translated in forms.py already.
2) Simplify the HTML, manually constructing the <label> tag is not
necessary, WTforms does it automatically.
Author: LotusEcho <Emma.C.Echo@gmail.com>
Modified-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.