Skip to content

Commit

Permalink
Make r2.pot generation work again
Browse files Browse the repository at this point in the history
Also, blame a random admin on failure
  • Loading branch information
kemitche committed Nov 10, 2011
1 parent 39a556a commit 2a63d86
Show file tree
Hide file tree
Showing 7 changed files with 35 additions and 148 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ r2/r2/public/static/sprite*.png
r2/r2/lib/_normalized_hot.c
r2/r2/lib/mr_tools/_mr_tools.c
r2/r2/lib/db/_sorts.c
r2/r2/lib/rand_strings.py
r2/r2/lib/sgm.c
r2/r2/lib/utils/_utils.c
r2/r2/lib/wrapped.c
Expand Down
13 changes: 11 additions & 2 deletions r2/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@ UPDATE_NAMES = $(PYTHON) $(package)/lib/static.py
# files against the primary production.ini
PRIVATEREPOS = $(shell $(PYTHON) -c 'exec "try: import r2admin; print r2admin.__path__[0]\nexcept:pass"')

# If reddit-i18n repo is found, use that for r2.pot generation
I18NPATH = $(shell $(PYTHON) -c 'exec "try: import reddit_i18n; print reddit_i18n.__path__[0]\nexcept ImportError: print \"r2/i18n\""')

#------

JSTARGETS = $(foreach js, $(js_targets) $(localized_js_targets), $(static_dir)/$(js))
Expand Down Expand Up @@ -80,7 +83,7 @@ endif

all: pyx static names $(INIS)

.PHONY: pyx js css rtl static names clean clean_static clean_pyx all
.PHONY: pyx js css rtl static names i18n clean clean_static clean_pyx all

$(NAMES): $(JSTARGETS) $(CSSTARGETS) $(RTLCSS) $(SPRITES)
$(UPDATE_NAMES) $(NAMES) $(NAMED)
Expand Down Expand Up @@ -121,8 +124,14 @@ rtl: $(RTLCSS)

names: $(NAMES)

# Not part of 'all' target as it doesn't need to be run for the site to work,
# only when r2.pot needs updating
i18n:
paster run run.ini r2/lib/strings.py -c "print_rand_strings()" > r2/lib/rand_strings.py
python setup.py extract_messages -o $(I18NPATH)/r2.pot

clean: clean_static clean_pyx
rm -f $(INIS)
rm -f $(INIS) r2/lib/rand_strings.py

clean_pyx:
rm -f $(PYXSO_FILES) $(PYXC_FILES)
Expand Down
9 changes: 7 additions & 2 deletions r2/r2/controllers/error.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
redditbroke = \
'''<html>
<head>
<title>Reddit broke!</title>
<title>reddit broke!</title>
</head>
<body>
<div style="margin: auto; text-align: center">
Expand Down Expand Up @@ -88,6 +88,9 @@ class ErrorController(RedditController):
ErrorDocuments middleware in your config/middleware.py file.
"""
allowed_render_styles = ('html', 'xml', 'js', 'embed', '', "compact", 'api')
# List of admins to blame (skip the first admin, "reddit")
# If list is empty, just blame "an admin"
admins = g.admins[1:] or ["an admin"]
def __before__(self):
try:
c.error_page = True
Expand Down Expand Up @@ -163,6 +166,7 @@ def GET_document(self):
code = 404
srname = request.GET.get('srname', '')
takedown = request.GET.get('takedown', "")

if srname:
c.site = Subreddit._by_name(srname)
if c.render_style not in self.allowed_render_styles:
Expand All @@ -178,7 +182,8 @@ def GET_document(self):
elif code == 403:
return self.send403()
elif code == 500:
return redditbroke % (rand.randint(1,NUM_FAILIENS), rand_strings.sadmessages)
randmin = {'admin': rand.choice(self.admins)}
return redditbroke % (rand.randint(1,NUM_FAILIENS), rand_strings.sadmessages % randmin)
elif code == 503:
return self.send503()
elif code == 304:
Expand Down
8 changes: 7 additions & 1 deletion r2/r2/lib/strings.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
hooks to the UI are the same.
"""

import helpers as h
import r2.lib.helpers as h
from pylons import g
from pylons.i18n import _, ungettext
import random, locale
Expand Down Expand Up @@ -379,3 +379,9 @@ def __iter__(self):

rand_strings.add('sadmessages', "Funny 500 page message", 10)
rand_strings.add('create_reddit', "Reason to create a reddit", 20)


def print_rand_strings():
for name, rand_string in rand_strings:
for string in rand_string:
print "_('" + string + "')"
10 changes: 7 additions & 3 deletions r2/r2/templates/promotelinkform.html
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,18 @@
</script>


## Create a datepicker for a form. min/maxDateSrc are the id of the
## element containing the min/max date - the '#' is added automatically
## here (as a workaround for babel message extraction not handling it
## properly if passed in when the function is called
<%def name="datepicker(name, value, minDateSrc = '', maxDateSrc ='', initfuncname = '', min_date_offset=0)">
<div class="date-input">
<input name="${name}"
value="${value}" id="${name}" class="rounded styled-input" readonly="readonly" size="10" />
<div id="datepicker-${name}" class="datepicker"></div>
<script type="text/javascript">
${initfuncname} = function() {
attach_calendar("#${name}", "${minDateSrc}", "${maxDateSrc}",
attach_calendar("#${name}", "#${minDateSrc}", "#${maxDateSrc}",
${caller.body()}, ${min_date_offset})
};
</script>
Expand Down Expand Up @@ -101,7 +105,7 @@ <h1>${title}</h1>
%>
<input type="hidden" id="date-min" name="date-min" value="${mindate}" />
<%self:datepicker name="startdate", value="${thing.startdate}"
minDateSrc="#date-min" initfuncname="init_startdate">
minDateSrc="date-min" initfuncname="init_startdate">
function(elem) {
var other = $("#enddate");
if(dateFromInput("#startdate") >= dateFromInput("#enddate")) {
Expand All @@ -116,7 +120,7 @@ <h1>${title}</h1>
</%self:datepicker>
-
<%self:datepicker name="enddate", value="${thing.enddate}"
minDateSrc="#startdate" initfuncname="init_enddate" min_date_offset="86400000">
minDateSrc="startdate" initfuncname="init_enddate" min_date_offset="86400000">
function(elem) { update_bid(elem); }
</%self:datepicker>

Expand Down
4 changes: 2 additions & 2 deletions r2/r2/templates/roadblocks.html
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
${error_field("BAD_FUTURE_DATE", "enddate", "div")}
${error_field("BAD_DATE_RANGE", "enddate", "div")}
<%p:datepicker name="startdate", value="${thing.startdate}"
minDateSrc="#date-min" initfuncname="init_startdate">
minDateSrc="date-min" initfuncname="init_startdate">
function(elem) {
var other = $("#enddate");
if(dateFromInput("#startdate") >= dateFromInput("#enddate")) {
Expand All @@ -63,7 +63,7 @@
</%p:datepicker>
-
<%p:datepicker name="enddate", value="${thing.enddate}"
minDateSrc="#startdate" initfuncname="init_enddate">
minDateSrc="startdate" initfuncname="init_enddate">
function(elem) { update_bid(elem); }
</%p:datepicker>
</td>
Expand Down
138 changes: 0 additions & 138 deletions r2/translation.py

This file was deleted.

0 comments on commit 2a63d86

Please sign in to comment.