aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MANIFEST.in12
-rw-r--r--Makefile.in19
-rw-r--r--configure.ac4
-rw-r--r--docs/source/siteadmin/deploying.rst23
-rw-r--r--docs/source/siteadmin/relnotes.rst11
-rw-r--r--mediagoblin/_version.py (renamed from mediagoblin/_version.py.in)2
-rw-r--r--mediagoblin/config_spec.ini2
-rw-r--r--mediagoblin/i18n/ca/mediagoblin.po80
-rw-r--r--mediagoblin/i18n/fr/mediagoblin.po30
-rw-r--r--mediagoblin/i18n/pt_BR/mediagoblin.po9
-rw-r--r--mediagoblin/i18n/templates/mediagoblin.pot30
-rw-r--r--mediagoblin/tools/routing.py4
12 files changed, 145 insertions, 81 deletions
diff --git a/MANIFEST.in b/MANIFEST.in
index 0a39ce84..675c8081 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,11 +1,17 @@
-recursive-include mediagoblin/i18n *.mo
+recursive-include mediagoblin/i18n *.po
recursive-include mediagoblin *.js *.css *.png *.svg *.ico
recursive-include mediagoblin *.ini
recursive-include mediagoblin *.html *.txt
recursive-include docs *.rst *.html
-include mediagoblin.ini mediagoblin/config_spec.ini paste.ini
+include mediagoblin.example.ini mediagoblin/config_spec.ini paste.ini
include mediagoblin/config_spec.ini
graft extlib
graft licenses
+graft devtools
+graft mediagoblin/tests/test_submission
include COPYING AUTHORS
-include lazyserver.sh lazystarter.sh lazycelery.sh
+include lazyserver.sh lazystarter.sh lazycelery.sh runtests.sh
+include configure.ac configure install-sh
+include Makefile.in
+include bower.json
+include mediagoblin/static/metadata/rdfa11.jsonld
diff --git a/Makefile.in b/Makefile.in
index 0cf8eab2..56e8a683 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -167,24 +167,21 @@ distclean: $(maybe_venv_clean)
rm -rf node_modules
rm -vf $(srcdir)/Makefile
+check:
+ ./runtests.sh
###########################################################################
# These things aren't really tested / supported yet.
###########################################################################
+## NOTE: We don't use this yet, we use ./devtools/maketarball.sh
+## We can't switch out ./devtools/maketarball.sh in here because
+## it requires a git revision as a first argument, which
+## doesn't always work here
-# You can either use the setup.py sdist command or you can roll your own here
-dist: extlib
-# $(maybe_venved_python) setup.py sdist
- mkdir $(PACKAGE_DISTNAME)
- cp -r $(DISTFILES) $(PACKAGE_DISTNAME)
- tar -czf $(PACKAGE_DISTNAME).tar.gz $(PACKAGE_DISTNAME)
- rm -rf $(PACKAGE_DISTNAME)
-
-# Use the setup.py check command
-check:
- ./runtests.sh
+dist: $(maybe_venv_dep)
+ $(maybe_venved_python) setup.py sdist
# setup.py might complain if a directory doesn't exist so just in case, make the directory
# here
diff --git a/configure.ac b/configure.ac
index a37d5c40..b62baf21 100644
--- a/configure.ac
+++ b/configure.ac
@@ -56,7 +56,7 @@ dnl # * x.y.dev - dev
dnl
dnl # see http://www.python.org/dev/peps/pep-0386/
-AC_INIT([mediagoblin], [0.8.0.dev], [cwebber@gnu.org])
+AC_INIT([mediagoblin], [0.8.0], [cwebber@gnu.org])
dnl----
@@ -156,7 +156,7 @@ dnl Finish #
dnl#########
dnl Define the files to be configured
-AC_CONFIG_FILES([Makefile] [mediagoblin/_version.py])
+AC_CONFIG_FILES([Makefile])
dnl Generate config.status
AC_OUTPUT
diff --git a/docs/source/siteadmin/deploying.rst b/docs/source/siteadmin/deploying.rst
index 673efb30..2f3f0428 100644
--- a/docs/source/siteadmin/deploying.rst
+++ b/docs/source/siteadmin/deploying.rst
@@ -501,6 +501,29 @@ Instructions and scripts for running MediaGoblin on an Apache server
can be found on the `MediaGoblin wiki <http://wiki.mediagoblin.org/Deployment>`_.
+Should I Keep Open Registration Enabled?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Unfortunately, in this current release of MediaGoblin we are suffering
+from spammers registering to public instances en masse. As such, you
+may want to either:
+
+a) Disable registration on your instance and just make
+ accounts for people you know and trust (eg via the `gmg adduser`
+ command). You can disable registration in your mediagoblin.ini
+ like so::
+
+ [mediagoblin]
+ allow_registration = false
+
+b) Enable a captcha plugin. But unfortunately, though some captcha
+ plugins exist, for various reasons we do not have any general
+ recommendations we can make at this point.
+
+We hope to have a better solution to this situation shortly. We
+apologize for the inconvenience in the meanwhile.
+
+
Security Considerations
~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/docs/source/siteadmin/relnotes.rst b/docs/source/siteadmin/relnotes.rst
index c36fca4d..81c5e4a2 100644
--- a/docs/source/siteadmin/relnotes.rst
+++ b/docs/source/siteadmin/relnotes.rst
@@ -50,11 +50,16 @@ trouble, consider pinging the MediaGoblin list or IRC channel.
0. If you haven't already, switch the git remote URL:
``git remote set-url origin git://git.savannah.gnu.org/mediagoblin.git``
-1. Update to the latest release. If checked out from git, run:
+1. If you don't have node.js installed, you'll need it for handling
+ MediaGoblin's static web dependencies. Install this via your
+ distribution! (In the glorious future MediaGoblin will be simply
+ packaged for your distribution so you won't have to worry about
+ this!)
+2. Update to the latest release. If checked out from git, run:
``git fetch && git checkout -q v0.8.0``
-2. Run
+3. Run
``./bootstrap.sh && ./configure && make``
-3. Also run
+4. Also run
``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
Please note the important steps of 0 and 2, which have not appeared in
diff --git a/mediagoblin/_version.py.in b/mediagoblin/_version.py
index d180f750..f8c8d679 100644
--- a/mediagoblin/_version.py.in
+++ b/mediagoblin/_version.py
@@ -23,4 +23,4 @@
# see http://www.python.org/dev/peps/pep-0386/
-__version__ = "@PACKAGE_VERSION@"
+__version__ = "0.8.0"
diff --git a/mediagoblin/config_spec.ini b/mediagoblin/config_spec.ini
index f769e4eb..fd86700a 100644
--- a/mediagoblin/config_spec.ini
+++ b/mediagoblin/config_spec.ini
@@ -6,7 +6,7 @@ data_basedir = %(here)s/user_dev
html_title = string(default="GNU MediaGoblin")
# link to source for this MediaGoblin site
-source_link = string(default="https://gitorious.org/mediagoblin/mediagoblin")
+source_link = string(default="https://savannah.gnu.org/git/?group=mediagoblin")
# database stuff
sql_engine = string(default="sqlite:///%(here)s/mediagoblin.db")
diff --git a/mediagoblin/i18n/ca/mediagoblin.po b/mediagoblin/i18n/ca/mediagoblin.po
index 26780106..640a993b 100644
--- a/mediagoblin/i18n/ca/mediagoblin.po
+++ b/mediagoblin/i18n/ca/mediagoblin.po
@@ -9,20 +9,25 @@
# emwa goldwoman, 2014
# Enric Morales <transifex@enric.me>, 2014
# Albert Casals <skarbat@gmail.com>, 2012
+# Adrià <adria@fsfe.org>, 2015.
+# larjona <larjona@larjona.net>, 2015.
msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-01-16 15:13-0600\n"
-"PO-Revision-Date: 2015-01-16 21:13+0000\n"
-"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
-"Language-Team: Catalan (http://www.transifex.com/projects/p/mediagoblin/language/ca/)\n"
+"PO-Revision-Date: 2015-05-12 09:18+0000\n"
+"Last-Translator: larjona <larjona@larjona.net>\n"
+"Language-Team: Catalan "
+"(http://www.transifex.com/projects/p/mediagoblin/language/ca/)\n"
+"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
-"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.5.0\n"
+"Generated-By: Babel 1.3\n"
+"X-POOTLE-MTIME: 1431422339.0\n"
#: mediagoblin/decorators.py:304 mediagoblin/plugins/openid/views.py:205
msgid "Sorry, registration is disabled on this instance."
@@ -86,11 +91,11 @@ msgstr "Torna'm a enviar el correu de verificació"
#: mediagoblin/db/mixin.py:404
msgid "{username} added {object}"
-msgstr ""
+msgstr "{username} ha afegit {object}"
#: mediagoblin/db/mixin.py:405
msgid "{username} added {object} to {target}"
-msgstr ""
+msgstr "{username} ha afegit {object} a {target}"
#: mediagoblin/db/mixin.py:407
msgid "{username} authored {object}"
@@ -98,63 +103,63 @@ msgstr ""
#: mediagoblin/db/mixin.py:408
msgid "{username} created {object}"
-msgstr ""
+msgstr "{username} ha creat {object}"
#: mediagoblin/db/mixin.py:409
msgid "{username} deleted {object}"
-msgstr ""
+msgstr "{username} ha eliminat {object}"
#: mediagoblin/db/mixin.py:410
msgid "{username} disliked {object}"
-msgstr ""
+msgstr "A {username} ja no li agrada {object}"
#: mediagoblin/db/mixin.py:411
msgid "{username} favorited {object}"
-msgstr ""
+msgstr "{username} ha marcat com a preferit {object}"
#: mediagoblin/db/mixin.py:412
msgid "{username} followed {object}"
-msgstr ""
+msgstr "{username} ha seguit {object}"
#: mediagoblin/db/mixin.py:413
msgid "{username} liked {object}"
-msgstr ""
+msgstr "A {username} li ha agradat {object}"
#: mediagoblin/db/mixin.py:415
msgid "{username} posted {object}"
-msgstr ""
+msgstr "{username} ha publicat {object}"
#: mediagoblin/db/mixin.py:416
msgid "{username} posted {object} to {target}"
-msgstr ""
+msgstr "{username} ha publicat {object} a {target}"
#: mediagoblin/db/mixin.py:418
msgid "{username} shared {object}"
-msgstr ""
+msgstr "{username} ha compartit {object}"
#: mediagoblin/db/mixin.py:419
msgid "{username} unfavorited {object}"
-msgstr ""
+msgstr "{username} ha tret dels preferits {object}"
#: mediagoblin/db/mixin.py:420
msgid "{username} stopped following {object}"
-msgstr ""
+msgstr "{username} ha deixat de seguir {object}"
#: mediagoblin/db/mixin.py:421
msgid "{username} unliked {object}"
-msgstr ""
+msgstr "A {username} ja no li agrada {object}"
#: mediagoblin/db/mixin.py:422
msgid "{username} unshared {object}"
-msgstr ""
+msgstr "{username} ha deixat de compartir {object}"
#: mediagoblin/db/mixin.py:423
msgid "{username} updated {object}"
-msgstr ""
+msgstr "{username} ha actualitzat {object}"
#: mediagoblin/db/mixin.py:424
msgid "{username} tagged {object}"
-msgstr ""
+msgstr "{username} ha etiquetat {object}"
#: mediagoblin/db/mixin.py:428
msgid "an image"
@@ -201,11 +206,16 @@ msgstr "Descripció d'aquest treball."
#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56
#: mediagoblin/edit/forms.py:94 mediagoblin/submit/forms.py:65
+#, fuzzy
msgid ""
"You can use\n"
" <a href=\"http://daringfireball.net/projects/markdown/basics\">\n"
" Markdown</a> for formatting."
-msgstr "Pots utilitzar⏎ <a href=\"http://daringfireball.net/projects/markdown/basics\">⏎ Markdown</a> per donar-li format"
+msgstr ""
+"Pots utilitzar\n"
+" <a "
+"href=\"http://daringfireball.net/projects/markdown/basics\">\n"
+" Markdown</a> per donar-li format."
#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27
#: mediagoblin/submit/forms.py:45
@@ -354,7 +364,7 @@ msgstr ""
#: mediagoblin/edit/views.py:293
msgid "Application has been deauthorized"
-msgstr ""
+msgstr "S'ha desautoritzat l'aplicació"
#: mediagoblin/edit/views.py:327
msgid "You need to confirm the deletion of your account."
@@ -397,7 +407,7 @@ msgstr "Tot i així, l'enllaç antic al directori s'ha trobat; eliminat.\n"
#: mediagoblin/gmg_commands/assetlink.py:112
#, python-format
msgid "Could not link \"%s\": %s exists and is not a symlink\n"
-msgstr "No s'ha pogut enllaçar \"%s\" perquè hi ha un fitxer, que no és un enllaç, amb el mateix nom.\n"
+msgstr "No s'ha pogut enllaçar \"%s\": %s existeix i no és un enllaç\n"
#: mediagoblin/gmg_commands/assetlink.py:119
#, python-format
@@ -416,6 +426,11 @@ msgid ""
"documentation page on command line uploading\n"
"<http://docs.mediagoblin.org/siteadmin/commandline-upload.html>"
msgstr ""
+"Per a més informació sobre com executar aquest\n"
+"guió correctament (i com donar format a l'arxiu csv de meta-dades), llegiu\n"
+"la página de documentació de Mediagoblin sobre la càrrega d'arxius des de la "
+"línia\n"
+"de comandes <http://docs.mediagoblin.org/siteadmin/commandline-upload.html>"
#: mediagoblin/gmg_commands/batchaddmedia.py:46
msgid "Name of user these media entries belong to"
@@ -431,11 +446,11 @@ msgstr ""
#: mediagoblin/gmg_commands/batchaddmedia.py:69
msgid "Sorry, no user by username '{username}' exists"
-msgstr ""
+msgstr "Ho sentim, no existeix cap usuari anomenat '{username}'"
#: mediagoblin/gmg_commands/batchaddmedia.py:80
msgid "File at {path} not found, use -h flag for help"
-msgstr ""
+msgstr "No s'ha trobat l'arxiu a {path}. Useu el paràmetre -h per a ajuda"
#: mediagoblin/gmg_commands/batchaddmedia.py:121
msgid ""
@@ -1699,7 +1714,16 @@ msgid ""
"\n"
"If you are not %(username)s or didn't request an email change, you can ignore\n"
"this email."
-msgstr "Hola,\n\nhem volgut verificar que ets %(username)s. Si és el cas, feu clic a l'enllaç següent per tal de verificar la vostra nova adreça de correu.\n\n%(verification_url)s\n\nSi no sou %(username)s o no autoritzeu aquest canvi d'adreça, podeu ignorar aquest correu."
+msgstr ""
+"Hola,\n"
+"\n"
+"hem volgut verificar que ets %(username)s. Si és el cas, feu clic a l'enllaç "
+"següent per tal de verificar la vostra nova adreça de correu.\n"
+"\n"
+"%(verification_url)s\n"
+"\n"
+"Si no sou %(username)s o no autoritzeu aquest canvi d'adreça,\n"
+"podeu ignorar aquest correu."
#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4
msgid "New comments"
diff --git a/mediagoblin/i18n/fr/mediagoblin.po b/mediagoblin/i18n/fr/mediagoblin.po
index b80259cf..cd2238e3 100644
--- a/mediagoblin/i18n/fr/mediagoblin.po
+++ b/mediagoblin/i18n/fr/mediagoblin.po
@@ -20,20 +20,24 @@
# syl_, 2014
# joar <transifex@wandborg.se>, 2011
# Valentin Villenave <valentin@villenave.net>, 2011
+# buridan <paul.lett@free.fr>, 2015.
msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-01-16 15:13-0600\n"
-"PO-Revision-Date: 2015-01-16 21:13+0000\n"
-"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
-"Language-Team: French (http://www.transifex.com/projects/p/mediagoblin/language/fr/)\n"
+"PO-Revision-Date: 2015-04-12 10:38+0000\n"
+"Last-Translator: buridan <paul.lett@free.fr>\n"
+"Language-Team: French "
+"(http://www.transifex.com/projects/p/mediagoblin/language/fr/)\n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
-"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Pootle 2.5.0\n"
+"Generated-By: Babel 1.3\n"
+"X-POOTLE-MTIME: 1428835135.0\n"
#: mediagoblin/decorators.py:304 mediagoblin/plugins/openid/views.py:205
msgid "Sorry, registration is disabled on this instance."
@@ -169,31 +173,31 @@ msgstr "{username} a marqué {object}"
#: mediagoblin/db/mixin.py:428
msgid "an image"
-msgstr ""
+msgstr "une image"
#: mediagoblin/db/mixin.py:429
msgid "a comment"
-msgstr ""
+msgstr "un commentaire"
#: mediagoblin/db/mixin.py:430
msgid "a collection"
-msgstr ""
+msgstr "une collection"
#: mediagoblin/db/mixin.py:431
msgid "a video"
-msgstr ""
+msgstr "une vidéo"
#: mediagoblin/db/mixin.py:432
msgid "audio"
-msgstr ""
+msgstr "audio"
#: mediagoblin/db/mixin.py:433
msgid "a person"
-msgstr ""
+msgstr "une personne"
#: mediagoblin/db/mixin.py:450 mediagoblin/db/mixin.py:459
msgid "an object"
-msgstr ""
+msgstr "un objet"
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:90
#: mediagoblin/media_types/blog/forms.py:24
@@ -453,6 +457,8 @@ msgid ""
"Error with media '{media_id}' value '{error_path}': {error_msg}\n"
"Metadata was not uploaded."
msgstr ""
+"Erreur avec le média '{media_id}'valeur'{error_path}': {error_msg}\n"
+"Les métadonnées n'ont pas été téléversé."
#: mediagoblin/gmg_commands/batchaddmedia.py:147
msgid ""
diff --git a/mediagoblin/i18n/pt_BR/mediagoblin.po b/mediagoblin/i18n/pt_BR/mediagoblin.po
index 972a771d..f24fae04 100644
--- a/mediagoblin/i18n/pt_BR/mediagoblin.po
+++ b/mediagoblin/i18n/pt_BR/mediagoblin.po
@@ -10,13 +10,14 @@
# Vinicius, 2013
# Vinicius, 2013-2014
# danielneis <danielneis@gmail.com>, 2015.
+# larjona <larjona@larjona.net>, 2015.
msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-01-16 15:13-0600\n"
-"PO-Revision-Date: 2015-01-21 17:41+0000\n"
-"Last-Translator: danielneis <danielneis@gmail.com>\n"
+"PO-Revision-Date: 2015-05-12 09:20+0000\n"
+"Last-Translator: larjona <larjona@larjona.net>\n"
"Language-Team: Portuguese (Brazil) "
"(http://www.transifex.com/projects/p/mediagoblin/language/pt_BR/)\n"
"Language: pt_BR\n"
@@ -26,7 +27,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.5.0\n"
"Generated-By: Babel 1.3\n"
-"X-POOTLE-MTIME: 1421862085.0\n"
+"X-POOTLE-MTIME: 1431422440.0\n"
#: mediagoblin/decorators.py:304 mediagoblin/plugins/openid/views.py:205
msgid "Sorry, registration is disabled on this instance."
@@ -2095,7 +2096,7 @@ msgstr "Perfil de %(username)s"
#: mediagoblin/templates/mediagoblin/moderation/user.html:68
#, python-format
msgid "BANNED until %(expiration_date)s"
-msgstr "BANIDO até %(expiration_dates)s"
+msgstr "BANIDO até %(expiration_date)s"
#: mediagoblin/templates/mediagoblin/moderation/user.html:72
msgid "Banned Indefinitely"
diff --git a/mediagoblin/i18n/templates/mediagoblin.pot b/mediagoblin/i18n/templates/mediagoblin.pot
index 5184b6ec..e0e19625 100644
--- a/mediagoblin/i18n/templates/mediagoblin.pot
+++ b/mediagoblin/i18n/templates/mediagoblin.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-03-05 15:03-0600\n"
+"POT-Creation-Date: 2015-06-03 21:15-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -179,7 +179,7 @@ msgstr ""
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:90
#: mediagoblin/media_types/blog/forms.py:24
-#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37
+#: mediagoblin/media_types/blog/forms.py:38 mediagoblin/submit/forms.py:37
#: mediagoblin/submit/forms.py:61
#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40
#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69
@@ -201,7 +201,7 @@ msgid ""
" Markdown</a> for formatting."
msgstr ""
-#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27
+#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:28
#: mediagoblin/submit/forms.py:45
msgid "Tags"
msgstr ""
@@ -224,7 +224,7 @@ msgid ""
"this."
msgstr ""
-#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29
+#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:32
#: mediagoblin/submit/forms.py:50
#: mediagoblin/templates/mediagoblin/utils/license.html:20
msgid "License"
@@ -474,18 +474,18 @@ msgid ""
"this domain."
msgstr ""
-#: mediagoblin/media_types/__init__.py:76
-#: mediagoblin/media_types/__init__.py:99
-#: mediagoblin/media_types/__init__.py:135
+#: mediagoblin/media_types/__init__.py:77
+#: mediagoblin/media_types/__init__.py:100
+#: mediagoblin/media_types/__init__.py:136
msgid "Sorry, I don't support that file type :("
msgstr ""
#: mediagoblin/media_types/blog/forms.py:26
-#: mediagoblin/media_types/blog/forms.py:35
+#: mediagoblin/media_types/blog/forms.py:40
msgid "Description"
msgstr ""
-#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31
+#: mediagoblin/media_types/blog/forms.py:45 mediagoblin/user_pages/forms.py:31
msgid "I am sure I want to delete this"
msgstr ""
@@ -2481,27 +2481,27 @@ msgid ""
"moved or deleted."
msgstr ""
-#: mediagoblin/tools/timesince.py:62
+#: mediagoblin/tools/timesince.py:50
msgid "year"
msgstr ""
-#: mediagoblin/tools/timesince.py:63
+#: mediagoblin/tools/timesince.py:51
msgid "month"
msgstr ""
-#: mediagoblin/tools/timesince.py:64
+#: mediagoblin/tools/timesince.py:52
msgid "week"
msgstr ""
-#: mediagoblin/tools/timesince.py:65
+#: mediagoblin/tools/timesince.py:53
msgid "day"
msgstr ""
-#: mediagoblin/tools/timesince.py:66
+#: mediagoblin/tools/timesince.py:54
msgid "hour"
msgstr ""
-#: mediagoblin/tools/timesince.py:67
+#: mediagoblin/tools/timesince.py:55
msgid "minute"
msgstr ""
diff --git a/mediagoblin/tools/routing.py b/mediagoblin/tools/routing.py
index ae7c7154..8a30bab2 100644
--- a/mediagoblin/tools/routing.py
+++ b/mediagoblin/tools/routing.py
@@ -15,10 +15,12 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging
-import urlparse
import six
+
+from six.moves.urllib.parse import urlparse
from werkzeug.routing import Map, Rule
+
from mediagoblin.tools.common import import_component