aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mediagoblin/app.py7
-rw-r--r--mediagoblin/db/sql/base.py10
-rw-r--r--mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po46
-rw-r--r--mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mobin13840 -> 13828 bytes
-rw-r--r--mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po102
-rw-r--r--mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mobin18051 -> 18027 bytes
-rw-r--r--mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po108
-rw-r--r--mediagoblin/tests/test_submission.py6
-rw-r--r--mediagoblin/user_pages/views.py8
9 files changed, 95 insertions, 192 deletions
diff --git a/mediagoblin/app.py b/mediagoblin/app.py
index 06627675..15327d39 100644
--- a/mediagoblin/app.py
+++ b/mediagoblin/app.py
@@ -16,11 +16,12 @@
import os
import urllib
+import logging
import routes
from webob import Request, exc
-from mediagoblin import routing, meddleware
+from mediagoblin import routing, meddleware, __version__
from mediagoblin.tools import common, translate, template
from mediagoblin.tools.response import render_404
from mediagoblin.tools import request as mg_request
@@ -31,6 +32,9 @@ from mediagoblin.init import (get_jinja_loader, get_staticdirector,
setup_storage, setup_beaker_cache)
+_log = logging.getLogger(__name__)
+
+
class MediaGoblinApp(object):
"""
WSGI application of MediaGoblin
@@ -47,6 +51,7 @@ class MediaGoblinApp(object):
(Note: setting 'celery_setup_elsewhere' also disables
setting up celery.)
"""
+ _log.info("GNU MediaGoblin %s main server starting", __version__)
##############
# Setup config
##############
diff --git a/mediagoblin/db/sql/base.py b/mediagoblin/db/sql/base.py
index 6ed24a03..838080b0 100644
--- a/mediagoblin/db/sql/base.py
+++ b/mediagoblin/db/sql/base.py
@@ -67,6 +67,10 @@ class GMGTableBase(object):
def get(self, key):
return getattr(self, key)
+ def setdefault(self, key, defaultvalue):
+ # The key *has* to exist on sql.
+ return getattr(self, key)
+
def save(self, validate=True):
assert validate
sess = object_session(self)
@@ -75,6 +79,12 @@ class GMGTableBase(object):
sess.add(self)
sess.commit()
+ def delete(self):
+ sess = object_session(self)
+ assert sess is not None, "Not going to delete detached %r" % self
+ sess.delete(self)
+ sess.commit()
+
Base = declarative_base(cls=GMGTableBase)
diff --git a/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po
index b5832fe4..7c64c09f 100644
--- a/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po
+++ b/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2012-02-09 09:30-0600\n"
+"POT-Creation-Date: 2012-02-26 15:51-0600\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"
@@ -37,51 +37,51 @@ msgstr ""
msgid "Sorry, registration is disabled on this instance."
msgstr ""
-#: mediagoblin/auth/views.py:73
+#: mediagoblin/auth/views.py:75
msgid "Sorry, a user with that name already exists."
msgstr ""
-#: mediagoblin/auth/views.py:77
+#: mediagoblin/auth/views.py:79
msgid "Sorry, a user with that email address already exists."
msgstr ""
-#: mediagoblin/auth/views.py:180
+#: mediagoblin/auth/views.py:182
msgid ""
"Your email address has been verified. You may now login, edit your "
"profile, and submit images!"
msgstr ""
-#: mediagoblin/auth/views.py:186
+#: mediagoblin/auth/views.py:188
msgid "The verification key or user id is incorrect"
msgstr ""
-#: mediagoblin/auth/views.py:204
+#: mediagoblin/auth/views.py:206
msgid "You must be logged in so we know who to send the email to!"
msgstr ""
-#: mediagoblin/auth/views.py:212
+#: mediagoblin/auth/views.py:214
msgid "You've already verified your email address!"
msgstr ""
-#: mediagoblin/auth/views.py:225
+#: mediagoblin/auth/views.py:227
msgid "Resent your verification email."
msgstr ""
-#: mediagoblin/auth/views.py:260
+#: mediagoblin/auth/views.py:262
msgid "An email has been sent with instructions on how to change your password."
msgstr ""
-#: mediagoblin/auth/views.py:270
+#: mediagoblin/auth/views.py:272
msgid ""
"Could not send password recovery email as your username is inactive or "
"your account's email address has not been verified."
msgstr ""
-#: mediagoblin/auth/views.py:282
+#: mediagoblin/auth/views.py:284
msgid "Couldn't find someone with that username or email."
msgstr ""
-#: mediagoblin/auth/views.py:330
+#: mediagoblin/auth/views.py:332
msgid "You can now log in using your new password."
msgstr ""
@@ -152,23 +152,23 @@ msgstr ""
msgid "An entry with that slug already exists for this user."
msgstr ""
-#: mediagoblin/edit/views.py:92
+#: mediagoblin/edit/views.py:89
msgid "You are editing another user's media. Proceed with caution."
msgstr ""
-#: mediagoblin/edit/views.py:162
+#: mediagoblin/edit/views.py:159
msgid "You are editing a user's profile. Proceed with caution."
msgstr ""
-#: mediagoblin/edit/views.py:180
+#: mediagoblin/edit/views.py:175
msgid "Profile changes saved"
msgstr ""
-#: mediagoblin/edit/views.py:206
+#: mediagoblin/edit/views.py:201
msgid "Wrong password"
msgstr ""
-#: mediagoblin/edit/views.py:222
+#: mediagoblin/edit/views.py:217
msgid "Account settings saved"
msgstr ""
@@ -188,7 +188,7 @@ msgstr ""
msgid "You must provide a file."
msgstr ""
-#: mediagoblin/submit/views.py:158
+#: mediagoblin/submit/views.py:156
msgid "Woohoo! Submitted!"
msgstr ""
@@ -623,23 +623,23 @@ msgstr ""
msgid "I am sure I want to delete this"
msgstr ""
-#: mediagoblin/user_pages/views.py:155
+#: mediagoblin/user_pages/views.py:153
msgid "Oops, your comment was empty."
msgstr ""
-#: mediagoblin/user_pages/views.py:161
+#: mediagoblin/user_pages/views.py:159
msgid "Your comment has been posted!"
msgstr ""
-#: mediagoblin/user_pages/views.py:183
+#: mediagoblin/user_pages/views.py:181
msgid "You deleted the media."
msgstr ""
-#: mediagoblin/user_pages/views.py:190
+#: mediagoblin/user_pages/views.py:188
msgid "The media was not deleted because you didn't check that you were sure."
msgstr ""
-#: mediagoblin/user_pages/views.py:198
+#: mediagoblin/user_pages/views.py:196
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""
diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo
index 25ab5836..f5a660d9 100644
--- a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo
+++ b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo
Binary files differ
diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po
index 49626556..b3088b25 100644
--- a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po
+++ b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
-"POT-Creation-Date: 2012-01-29 13:47-0600\n"
-"PO-Revision-Date: 2012-02-05 21:07+0000\n"
+"POT-Creation-Date: 2012-02-09 09:30-0600\n"
+"PO-Revision-Date: 2012-02-26 19:34+0000\n"
"Last-Translator: aleksejrs <deletesoftware@yandex.ru>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
@@ -21,7 +21,7 @@ msgstr ""
"Language: eo\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-#: mediagoblin/processing.py:143
+#: mediagoblin/processing.py:153
msgid "Invalid file given for media type."
msgstr "La provizita dosiero ne konformas al la informtipo."
@@ -53,9 +53,7 @@ msgstr "Ni bedaŭras, sed konto kun tiu retpoŝtadreso jam ekzistas."
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
-msgstr ""
-"Via retpoŝtadreso estas konfirmita. Vi povas nun ensaluti, redakti vian "
-"profilon, kaj alŝuti bildojn!"
+msgstr "Via retpoŝtadreso estas konfirmita. Vi povas nun ensaluti, redakti vian profilon, kaj alŝuti bildojn!"
#: mediagoblin/auth/views.py:186
msgid "The verification key or user id is incorrect"
@@ -82,9 +80,7 @@ msgstr "Senditas retletero kun instrukcio pri kiel ŝanĝi vian pasvorton."
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
-msgstr ""
-"Ni ne povas sendi pasvortsavan retleteron, ĉar aŭ via konto estas neaktiva, "
-"aŭ ĝia retpoŝtadreso ne estis konfirmita."
+msgstr "Ni ne povas sendi pasvortsavan retleteron, ĉar aŭ via konto estas neaktiva, aŭ ĝia retpoŝtadreso ne estis konfirmita."
#: mediagoblin/auth/views.py:282
msgid "Couldn't find someone with that username or email."
@@ -108,10 +104,7 @@ msgid ""
"You can use\n"
" <a href=\"http://daringfireball.net/projects/markdown/basics\">\n"
" Markdown</a> for formatting."
-msgstr ""
-"Vi povas uzi por markado la lingvon\n"
-" «<a href=\"http://daringfireball.net/projects/markdown/basics\">\n"
-" Markdown</a>»."
+msgstr "Vi povas uzi por markado la lingvon\n «<a href=\"http://daringfireball.net/projects/markdown/basics\">\n Markdown</a>»."
#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36
msgid "Tags"
@@ -133,9 +126,7 @@ msgstr "La distingiga adresparto ne povas esti malplena"
msgid ""
"The title part of this media's address. You usually don't need to change "
"this."
-msgstr ""
-"La dosiertitol-bazita parto de la dosieradreso. Ordinare ne necesas ĝin "
-"ŝanĝi."
+msgstr "La dosiertitol-bazita parto de la dosieradreso. Ordinare ne necesas ĝin ŝanĝi."
#: mediagoblin/edit/forms.py:44 mediagoblin/submit/forms.py:41
msgid "License"
@@ -221,9 +212,7 @@ msgstr "Verŝajne ĉe ĉi tiu adreso ne estas paĝo. Ni bedaŭras!"
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
-msgstr ""
-"Se vi estas certa, ke la adreso estas ĝusta, eble la serĉata de vi paĝo "
-"estis movita aŭ forigita."
+msgstr "Se vi estas certa, ke la adreso estas ĝusta, eble la serĉata de vi paĝo estis movita aŭ forigita."
#: mediagoblin/templates/mediagoblin/base.html:46
msgid "MediaGoblin logo"
@@ -252,9 +241,7 @@ msgstr "Ensaluti"
msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project"
-msgstr ""
-"Funkcias per <a href=\"http://mediagoblin.org\">MediaGoblin</a>, unu el la "
-"<a href=\"http://gnu.org/\">projektoj de GNU</a>"
+msgstr "Funkcias per <a href=\"http://mediagoblin.org\">MediaGoblin</a>, unu el la <a href=\"http://gnu.org/\">projektoj de GNU</a>"
#: mediagoblin/templates/mediagoblin/root.html:24
msgid "Explore"
@@ -268,18 +255,13 @@ msgstr "Saluton, kaj bonvenon al ĉi tiu MediaGoblina retpaĝaro!"
msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software."
-msgstr ""
-"Ĉi tiu retpaĝaro funkcias per <a "
-"href=\"http://mediagoblin.org\">MediaGoblin</a>, eksterordinare bonega "
-"programaro por gastigado de aŭd‐vid‐dosieroj."
+msgstr "Ĉi tiu retpaĝaro funkcias per <a href=\"http://mediagoblin.org\">MediaGoblin</a>, eksterordinare bonega programaro por gastigado de aŭd‐vid‐dosieroj."
#: mediagoblin/templates/mediagoblin/root.html:29
msgid ""
"To add your own media, place comments, save your favourites and more, you "
"can log in with your MediaGoblin account."
-msgstr ""
-"Por aldoni viajn proprajn dosierojn, fari al vi liston de la plej plaĉaj, "
-"ks, vi povas ensaluti je via MediaGoblina konto."
+msgstr "Por aldoni viajn proprajn dosierojn, fari al vi liston de la plej plaĉaj, ks, vi povas ensaluti je via MediaGoblina konto."
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Don't have one yet? It's easy!"
@@ -291,10 +273,7 @@ msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
" or\n"
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
-msgstr ""
-"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Kreu konton en ĉi tiu retejo</a>\n"
-" aŭ\n"
-" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">ekfunkciigu MediaGoblin’on en via propra servilo</a>"
+msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Kreu konton en ĉi tiu retejo</a>\n aŭ\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">ekfunkciigu MediaGoblin’on en via propra servilo</a>"
#: mediagoblin/templates/mediagoblin/root.html:40
msgid "Most recent media"
@@ -328,14 +307,7 @@ msgid ""
"\n"
"If you think this is an error, just ignore this email and continue being\n"
"a happy goblin!"
-msgstr ""
-"Saluton, %(username)s,\n"
-"\n"
-"por ŝanĝi vian pasvorton ĉe GNUa MediaGoblin, sekvu la jenan retadreson per via TTT-legilo:\n"
-"\n"
-"%(verification_url)s\n"
-"\n"
-"Se vi pensas, ke ĉi tiu retletero estas sendita erare, simple ignoru ĝin kaj plu restu feliĉa koboldo!"
+msgstr "Saluton, %(username)s,\n\npor ŝanĝi vian pasvorton ĉe GNUa MediaGoblin, sekvu la jenan retadreson per via TTT-legilo:\n\n%(verification_url)s\n\nSe vi pensas, ke ĉi tiu retletero estas sendita erare, simple ignoru ĝin kaj plu restu feliĉa koboldo!"
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
@@ -370,12 +342,7 @@ msgid ""
"your web browser:\n"
"\n"
"%(verification_url)s"
-msgstr ""
-"Sal %(username)s,\n"
-"\n"
-"por aktivigi vian GNU MediaGoblin konton, malfermu la sekvantan URLon en via retumilo:\n"
-"\n"
-"%(verification_url)s"
+msgstr "Sal %(username)s,\n\npor aktivigi vian GNU MediaGoblin konton, malfermu la sekvantan URLon en via retumilo:\n\n%(verification_url)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:29
#, python-format
@@ -419,20 +386,14 @@ msgid ""
"Sorry, this video will not work because \n"
"\t your web browser does not support HTML5 \n"
"\t video."
-msgstr ""
-"Bedaŭrinde ĉi tiu filmo ne spekteblas, ĉar\n"
-"<span class=\"whitespace other\" title=\"Tab\">»</span> via TTT-legilo ne subtenas montradon\n"
-"<span class=\"whitespace other\" title=\"Tab\">»</span> de filmoj laŭ HTML5."
+msgstr "Bedaŭrinde ĉi tiu filmo ne spekteblas, ĉar\n<span class=\"whitespace other\" title=\"Tab\">»</span> via TTT-legilo ne subtenas montradon\n<span class=\"whitespace other\" title=\"Tab\">»</span> de filmoj laŭ HTML5."
#: mediagoblin/templates/mediagoblin/media_displays/video.html:36
msgid ""
"You can get a modern web browser that \n"
"\t can play this video at <a href=\"http://getfirefox.com\">\n"
"\t http://getfirefox.com</a>!"
-msgstr ""
-"Vi povas akiri modernan TTT-legilon,\n"
-"<span class=\"whitespace other\" title=\"Tab\">»</span> kapablan montri ĉi tiun filmon, ĉe <a href=\"http://getfirefox.com\">\n"
-"<span class=\"whitespace other\" title=\"Tab\">»</span> http://getfirefox.com</a>!"
+msgstr "Vi povas akiri modernan TTT-legilon,\n<span class=\"whitespace other\" title=\"Tab\">»</span> kapablan montri ĉi tiun filmon, ĉe <a href=\"http://getfirefox.com\">\n<span class=\"whitespace other\" title=\"Tab\">»</span> http://getfirefox.com</a>!"
#: mediagoblin/templates/mediagoblin/submit/start.html:26
msgid "Add your media"
@@ -488,9 +449,7 @@ msgid ""
"You can use <a "
"href=\"http://daringfireball.net/projects/markdown/basics\">Markdown</a> for"
" formatting."
-msgstr ""
-"Vi povas uzi por markado la lingvon «&lt;a "
-"href=\"http://daringfireball.net/projects/markdown/basics\"&gt;Markdown&lt;/a&gt;»."
+msgstr "Vi povas uzi por markado la lingvon «<a href=\"http://daringfireball.net/projects/markdown/basics\">Markdown</a>»."
#: mediagoblin/templates/mediagoblin/user_pages/media.html:116
msgid "Add this comment"
@@ -503,8 +462,7 @@ msgstr "je"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:153
#, python-format
msgid "<p>❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a></p>"
-msgstr ""
-"<p>❖ Foliumado de dosieraro de <a href=\"%(user_url)s\">%(username)s</a></p>"
+msgstr "<p>❖ Foliumado de dosieraro de <a href=\"%(user_url)s\">%(username)s</a></p>"
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format
@@ -522,9 +480,7 @@ msgstr "Kontrolejo pri dosierpreparado."
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:25
msgid ""
"You can track the state of media being processed for your gallery here."
-msgstr ""
-"Ĉi tie vi povas informiĝi pri la stato de preparado de dosieroj por via "
-"galerio."
+msgstr "Ĉi tie vi povas informiĝi pri la stato de preparado de dosieroj por via galerio."
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:28
msgid "Media in-processing"
@@ -560,8 +516,7 @@ msgstr "Preskaŭ finite! Restas nur validigi vian konton."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:58
msgid ""
"An email should arrive in a few moments with instructions on how to do so."
-msgstr ""
-"Post kelkaj momentoj devas veni retletero kun instrukcio pri kiel tion fari."
+msgstr "Post kelkaj momentoj devas veni retletero kun instrukcio pri kiel tion fari."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:62
msgid "In case it doesn't:"
@@ -575,18 +530,14 @@ msgstr "Resendi kontrolmesaĝon"
msgid ""
"Someone has registered an account with this username, but it still has to be"
" activated."
-msgstr ""
-"Iu registris konton kun tiu ĉi uzantonomo, sed ĝi devas ankoraŭ esti "
-"aktivigita."
+msgstr "Iu registris konton kun tiu ĉi uzantonomo, sed ĝi devas ankoraŭ esti aktivigita."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:79
#, python-format
msgid ""
"If you are that person but you've lost your verification email, you can <a "
"href=\"%(login_url)s\">log in</a> and resend it."
-msgstr ""
-"Se vi estas tiu sed vi perdis vian kontrolmesaĝon, vi povas <a "
-"href=\"%(login_url)s\">ensaluti</a> kaj resendi ĝin."
+msgstr "Se vi estas tiu sed vi perdis vian kontrolmesaĝon, vi povas <a href=\"%(login_url)s\">ensaluti</a> kaj resendi ĝin."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:96
msgid "Here's a spot to tell others about yourself."
@@ -614,8 +565,7 @@ msgstr "Rigardi ĉiujn dosierojn de %(username)s"
msgid ""
"This is where your media will appear, but you don't seem to have added "
"anything yet."
-msgstr ""
-"Ĝuste ĉi tie aperos viaj dosieroj, sed vi ŝajne ankoraŭ nenion alŝutis."
+msgstr "Ĝuste ĉi tie aperos viaj dosieroj, sed vi ŝajne ankoraŭ nenion alŝutis."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
@@ -690,12 +640,8 @@ msgstr "Vi forigis la dosieron."
#: mediagoblin/user_pages/views.py:190
msgid "The media was not deleted because you didn't check that you were sure."
-msgstr ""
-"La dosiero ne estis forigita, ĉar vi ne konfirmis vian certecon per la "
-"markilo."
+msgstr "La dosiero ne estis forigita, ĉar vi ne konfirmis vian certecon per la markilo."
#: mediagoblin/user_pages/views.py:198
msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Vi estas forigonta dosieron de alia uzanto. Estu singardema."
-
-
diff --git a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo
index dd7735fd..eb6cc942 100644
--- a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo
+++ b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo
Binary files differ
diff --git a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po
index d895f3bf..ea9d1dc3 100644
--- a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po
+++ b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
-"POT-Creation-Date: 2012-01-29 13:47-0600\n"
-"PO-Revision-Date: 2012-02-05 21:04+0000\n"
+"POT-Creation-Date: 2012-02-09 09:30-0600\n"
+"PO-Revision-Date: 2012-02-26 19:33+0000\n"
"Last-Translator: aleksejrs <deletesoftware@yandex.ru>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
@@ -19,7 +19,7 @@ msgstr ""
"Language: ru\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
-#: mediagoblin/processing.py:143
+#: mediagoblin/processing.py:153
msgid "Invalid file given for media type."
msgstr "Неправильный формат файла."
@@ -45,17 +45,13 @@ msgstr "Извините, пользователь с этим именем уж
#: mediagoblin/auth/views.py:77
msgid "Sorry, a user with that email address already exists."
-msgstr ""
-"Сожалеем, но на этот адрес электронной почты уже зарегистрирована другая "
-"учётная запись."
+msgstr "Сожалеем, но на этот адрес электронной почты уже зарегистрирована другая учётная запись."
#: mediagoblin/auth/views.py:180
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
-msgstr ""
-"Адрес вашей электронной потвержден. Вы теперь можете войти и начать "
-"редактировать свой профиль и загружать новые изображения!"
+msgstr "Адрес вашей электронной потвержден. Вы теперь можете войти и начать редактировать свой профиль и загружать новые изображения!"
#: mediagoblin/auth/views.py:186
msgid "The verification key or user id is incorrect"
@@ -82,15 +78,11 @@ msgstr "Вам отправлено электронное письмо с ин
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
-msgstr ""
-"Мы не можем отправить сообщение для восстановления пароля, потому что ваша "
-"учётная запись неактивна, либо указанный в ней адрес электронной почты не "
-"был подтверждён."
+msgstr "Мы не можем отправить сообщение для восстановления пароля, потому что ваша учётная запись неактивна, либо указанный в ней адрес электронной почты не был подтверждён."
#: mediagoblin/auth/views.py:282
msgid "Couldn't find someone with that username or email."
-msgstr ""
-"Не найдено никого с таким именем пользователя или адресом электронной почты."
+msgstr "Не найдено никого с таким именем пользователя или адресом электронной почты."
#: mediagoblin/auth/views.py:330
msgid "You can now log in using your new password."
@@ -110,10 +102,7 @@ msgid ""
"You can use\n"
" <a href=\"http://daringfireball.net/projects/markdown/basics\">\n"
" Markdown</a> for formatting."
-msgstr ""
-"Для разметки можете использовать язык\n"
-" <a href=\"http://daringfireball.net/projects/markdown/basics\">\n"
-" Markdown</a>."
+msgstr "Для разметки можете использовать язык\n <a href=\"http://daringfireball.net/projects/markdown/basics\">\n Markdown</a>."
#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36
msgid "Tags"
@@ -135,9 +124,7 @@ msgstr "Отличительная часть адреса необходима"
msgid ""
"The title part of this media's address. You usually don't need to change "
"this."
-msgstr ""
-"Часть адреса этого файла, производная от его названия. Её обычно не "
-"требуется изменять."
+msgstr "Часть адреса этого файла, производная от его названия. Её обычно не требуется изменять."
#: mediagoblin/edit/forms.py:44 mediagoblin/submit/forms.py:41
msgid "License"
@@ -157,9 +144,7 @@ msgstr "Старый пароль"
#: mediagoblin/edit/forms.py:65
msgid "Enter your old password to prove you own this account."
-msgstr ""
-"Введите свой старый пароль в качестве доказательства, что это ваша учётная "
-"запись."
+msgstr "Введите свой старый пароль в качестве доказательства, что это ваша учётная запись."
#: mediagoblin/edit/forms.py:68
msgid "New password"
@@ -167,8 +152,7 @@ msgstr "Новый пароль"
#: mediagoblin/edit/views.py:68
msgid "An entry with that slug already exists for this user."
-msgstr ""
-"У этого пользователя уже есть файл с такой отличительной частью адреса."
+msgstr "У этого пользователя уже есть файл с такой отличительной частью адреса."
#: mediagoblin/edit/views.py:92
msgid "You are editing another user's media. Proceed with caution."
@@ -255,9 +239,7 @@ msgstr "Войти"
msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project"
-msgstr ""
-"Работает на <a href=\"http://mediagoblin.org\">MediaGoblin</a>, проекте <a "
-"href=\"http://gnu.org/\">GNU</a>"
+msgstr "Работает на <a href=\"http://mediagoblin.org\">MediaGoblin</a>, проекте <a href=\"http://gnu.org/\">GNU</a>"
#: mediagoblin/templates/mediagoblin/root.html:24
msgid "Explore"
@@ -271,18 +253,13 @@ msgstr "Привет! Добро пожаловать на наш MediaGoblin’
msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software."
-msgstr ""
-"Этот сайт работает на <a href=\"http://mediagoblin.org\">MediaGoblin</a>, "
-"необыкновенно замечательном ПО для хостинга мультимедийных файлов."
+msgstr "Этот сайт работает на <a href=\"http://mediagoblin.org\">MediaGoblin</a>, необыкновенно замечательном ПО для хостинга мультимедийных файлов."
#: mediagoblin/templates/mediagoblin/root.html:29
msgid ""
"To add your own media, place comments, save your favourites and more, you "
"can log in with your MediaGoblin account."
-msgstr ""
-"Для добавления собственных файлов, комментирования, ведения списка любимых "
-"файлов и т. п. вы можете представиться с помощью вашей MediaGoblin’овой "
-"учётной записи."
+msgstr "Для добавления собственных файлов, комментирования, ведения списка любимых файлов и т. п. вы можете представиться с помощью вашей MediaGoblin’овой учётной записи."
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Don't have one yet? It's easy!"
@@ -294,10 +271,7 @@ msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
" or\n"
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
-msgstr ""
-"&lt;a class=\"button_action_highlight\" href=\"%(register_url)s\"&gt;Создайте учётную запись на этом сайте&lt;/a&gt;\n"
-" или\n"
-" &lt;a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\"&gt;установите MediaGoblin на собственный сервер&lt;/a&gt;"
+msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Создайте учётную запись на этом сайте</a>\n или\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">установите MediaGoblin на собственный сервер</a>"
#: mediagoblin/templates/mediagoblin/root.html:40
msgid "Most recent media"
@@ -331,16 +305,7 @@ msgid ""
"\n"
"If you think this is an error, just ignore this email and continue being\n"
"a happy goblin!"
-msgstr ""
-"Привет, %(username)s,\n"
-"\n"
-"чтобы сменить свой пароль от GNU MediaGoblin, откройте\n"
-"следующий URL вашим веб‐браузером:\n"
-"\n"
-"%(verification_url)s\n"
-"\n"
-"Если вы думаете, что это какая‐то ошибка, то игнорируйте\n"
-"это сообщение и продолжайте быть счастливым гоблином!"
+msgstr "Привет, %(username)s,\n\nчтобы сменить свой пароль от GNU MediaGoblin, откройте\nследующий URL вашим веб‐браузером:\n\n%(verification_url)s\n\nЕсли вы думаете, что это какая‐то ошибка, то игнорируйте\nэто сообщение и продолжайте быть счастливым гоблином!"
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
@@ -375,12 +340,7 @@ msgid ""
"your web browser:\n"
"\n"
"%(verification_url)s"
-msgstr ""
-"Привет, %(username)s!\n"
-"\n"
-"Чтобы активировать свой аккаунт в GNU MediaGoblin, откройте в своём веб‐браузере следующую ссылку:\n"
-"\n"
-"%(verification_url)s"
+msgstr "Привет, %(username)s!\n\nЧтобы активировать свой аккаунт в GNU MediaGoblin, откройте в своём веб‐браузере следующую ссылку:\n\n%(verification_url)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:29
#, python-format
@@ -424,20 +384,14 @@ msgid ""
"Sorry, this video will not work because \n"
"\t your web browser does not support HTML5 \n"
"\t video."
-msgstr ""
-"Сожалеем, этот ролик не проиграется, ⏎\n"
-"» потому что ваш браузер не поддерживает ⏎\n"
-"» видео в соответствии со стандартом HTML5."
+msgstr "Сожалеем, этот ролик не проиграется, ⏎\n» потому что ваш браузер не поддерживает ⏎\n» видео в соответствии со стандартом HTML5."
#: mediagoblin/templates/mediagoblin/media_displays/video.html:36
msgid ""
"You can get a modern web browser that \n"
"\t can play this video at <a href=\"http://getfirefox.com\">\n"
"\t http://getfirefox.com</a>!"
-msgstr ""
-"Вы можете скачать современный браузер,\n"
-"<span class=\"whitespace other\" title=\"Tab\">»</span> способный воспроизводить это видео, с <a href=\"http://getfirefox.com\">\n"
-"<span class=\"whitespace other\" title=\"Tab\">»</span> http://getfirefox.com</a>!"
+msgstr "Вы можете скачать современный браузер,\n<span class=\"whitespace other\" title=\"Tab\">»</span> способный воспроизводить это видео, с <a href=\"http://getfirefox.com\">\n<span class=\"whitespace other\" title=\"Tab\">»</span> http://getfirefox.com</a>!"
#: mediagoblin/templates/mediagoblin/submit/start.html:26
msgid "Add your media"
@@ -493,9 +447,7 @@ msgid ""
"You can use <a "
"href=\"http://daringfireball.net/projects/markdown/basics\">Markdown</a> for"
" formatting."
-msgstr ""
-"Для разметки можете использовать язык <a "
-"href=\"http://daringfireball.net/projects/markdown/basics\">Markdown</a>."
+msgstr "Для разметки можете использовать язык <a href=\"http://daringfireball.net/projects/markdown/basics\">Markdown</a>."
#: mediagoblin/templates/mediagoblin/user_pages/media.html:116
msgid "Add this comment"
@@ -508,9 +460,7 @@ msgstr "в"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:153
#, python-format
msgid "<p>❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a></p>"
-msgstr ""
-"<p>❖ Просмотр файлов пользователя <a "
-"href=\"%(user_url)s\">%(username)s</a></p>"
+msgstr "<p>❖ Просмотр файлов пользователя <a href=\"%(user_url)s\">%(username)s</a></p>"
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format
@@ -528,8 +478,7 @@ msgstr "Панель обработки файлов"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:25
msgid ""
"You can track the state of media being processed for your gallery here."
-msgstr ""
-"Вы можете следить за статусом обработки файлов для вашей галереи здесь."
+msgstr "Вы можете следить за статусом обработки файлов для вашей галереи здесь."
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:28
msgid "Media in-processing"
@@ -565,9 +514,7 @@ msgstr "Почти закончили! Теперь надо активиров
#: mediagoblin/templates/mediagoblin/user_pages/user.html:58
msgid ""
"An email should arrive in a few moments with instructions on how to do so."
-msgstr ""
-"Через пару мгновений на адрес вашей электронной почты должно прийти "
-"сообщение с дальнейшими инструкциями."
+msgstr "Через пару мгновений на адрес вашей электронной почты должно прийти сообщение с дальнейшими инструкциями."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:62
msgid "In case it doesn't:"
@@ -575,8 +522,7 @@ msgstr "А если нет, то:"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:65
msgid "Resend verification email"
-msgstr ""
-"Повторно отправить сообщение для подверждения адреса электронной почты"
+msgstr "Повторно отправить сообщение для подверждения адреса электронной почты"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:73
msgid ""
@@ -589,9 +535,7 @@ msgstr "Кто‐то создал аккаунт с этим именем, но
msgid ""
"If you are that person but you've lost your verification email, you can <a "
"href=\"%(login_url)s\">log in</a> and resend it."
-msgstr ""
-"Если это были вы, и если вы потеряли сообщение для подтверждения аккаунта, "
-"то вы можете <a href=\"%(login_url)s\">войти</a> и отправить его повторно."
+msgstr "Если это были вы, и если вы потеряли сообщение для подтверждения аккаунта, то вы можете <a href=\"%(login_url)s\">войти</a> и отправить его повторно."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:96
msgid "Here's a spot to tell others about yourself."
@@ -699,5 +643,3 @@ msgstr "Файл не удалён, так как вы не подтвердил
#: mediagoblin/user_pages/views.py:198
msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Вы на пороге удаления файла другого пользователя. Будьте осторожны."
-
-
diff --git a/mediagoblin/tests/test_submission.py b/mediagoblin/tests/test_submission.py
index 217926a4..2f11bdfb 100644
--- a/mediagoblin/tests/test_submission.py
+++ b/mediagoblin/tests/test_submission.py
@@ -140,7 +140,7 @@ class TestSubmission:
context = template.TEMPLATE_TEST_CONTEXT['mediagoblin/user_pages/user.html']
request = context['request']
media = request.db.MediaEntry.find({'title': 'Balanced Goblin'})[0]
- assert_equal(media['tags'],
+ assert_equal(media.tags,
[{'name': u'yin', 'slug': u'yin'},
{'name': u'yang', 'slug': u'yang'}])
@@ -255,7 +255,7 @@ class TestSubmission:
{'title': 'Malicious Upload 2'})
assert_equal(entry.state, 'failed')
assert_equal(
- entry['fail_error'],
+ entry.fail_error,
u'mediagoblin.processing:BadMediaFail')
# Test non-supported file with .png extension
@@ -275,5 +275,5 @@ class TestSubmission:
{'title': 'Malicious Upload 3'})
assert_equal(entry.state, 'failed')
assert_equal(
- entry['fail_error'],
+ entry.fail_error,
u'mediagoblin.processing:BadMediaFail')
diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py
index 05d07b1b..530dea64 100644
--- a/mediagoblin/user_pages/views.py
+++ b/mediagoblin/user_pages/views.py
@@ -142,11 +142,11 @@ def media_post_comment(request, media):
assert request.method == 'POST'
comment = request.db.MediaComment()
- comment['media_entry'] = media._id
- comment['author'] = request.user._id
- comment['content'] = unicode(request.POST['comment_content'])
+ comment.media_entry = media.id
+ comment.author = request.user.id
+ comment.content = unicode(request.POST['comment_content'])
- if not comment['content'].strip():
+ if not comment.content.strip():
messages.add_message(
request,
messages.ERROR,