This check was in place for c20db7e11d to make
sure that we were using a new enough version of distribute to handle
the "cythonize" command. distribute was a now-deprecated fork of setuptools,
and the versions of setuptools on precise and trusty are new enough to not
need this check.
urlparse.parse_qs parses values into lists. `doseq` is required
to properly convert these values back to a qs.
example:
>> urllib.urlencode({"foo":[1,2,3]},doseq=True)
>> 'foo=1&foo=2&foo=3'
vs
>> urllib.urlencode({"foo":[1,2,3]})
>> 'foo=%5B1%2C+2%2C+3%5D'
Previously we had been just doing `import Image`, but that's not
allowed in newer versions of python-imaging that use Pillow. It
still works sometimes when a compatability package is installed
but we shouldn't rely on that.
This takes advantage of the new last_submit_time and last_comment_time
timestamps on the Account objects to determine which friends have posted
most recently.
Ideally the ability to sort on data columns would have been added into
the general _query() function, but that seems to be fairly complex, so
this was a lot simpler of a method for addressing this specific problem.
In several places we're passing sr_path and cname arguments, but the correct
arguments are actually _sr_path and nocname. In these cases it doesn't appear
to be actually causing any problems, but it's still wrong.
Previously, due to how Snudown works, if a username had two underscores, it would be rendered as [13stein_j_](http://www.reddit.com/user/13stein_j_). This makes it so that the italicizing effect caused by underlines no longer makes this render incorrectly; at the minimal cost of making the sender's name in `/u/` format, (which in reality, affects absolutely nothing in terms of meaning of the message/sender)
Previously, a mod would be able to block their own subreddit in their modmail, if they saw a ban message / original mod invite message.
This changes it so the block subreddit buttons would only show the block subreddit button if the user is not a mod of the subreddit.
We moved reddit.com's infrastructure over to nginx a few months ago, so
this brings the install script in line with production and removes a
now-unnecessary dependency.
RunCommand is based off paster's ShellCommand so the cleanup
involved making it copy the current version. "standalone" mode
was removed to reduce complexity and because it's not needed.
timer.stop(subname) adds a time for the entire timer duration for the
key "subname". What I actually want is to do timer.intermediate(subname)
plus timer.stop() so that the "subname" key only tracks the incremental
time.
All that happens in `make i18n` is creating a .py file with
a bunch of automated messages that are marked for translation. Also
simplify rand_strings (now get_funny_translated_string).
Unfortunately, this involved moving large swaths of code to
`r2.lib.cookies` because `r2.controllers.reddit_base` is
an enormous pain to import in tests at the moment.
The wrap behavior appears to be ignore on modules bundled into other modules. Since
the wrap is applied to 'reddit-init-base' instead of the top-level modules
'reddit-init' and 'reddit-init-legacy', the error-handling wrapper is not
actually getting applied.