This expands upon the upload code in cloudsearch.py
cloudsearch.py's classes and functions have been refactored
to support multiple indices based on different objects.
This uses the l2cs python library to convert
search queries written in "lucene" syntax to
Amazon's CloudSearch syntax
A mouseover blurb on the search results page
shows what the query was parsed as
In production, static files are located in the root of the static file
host. On a local reddit install, they're only available in /static/.
This middleware allows you to test the production static files layout in
a development environment.
If debug=true and uncompressedJS=false are set in the ini, this middleware
simulates a static files host by prepending /static/ to the URL before
handing the request off to the static files app.
To use this for testing purposes, add an additional domain alias like
redditstatic.local to your hosts file and set static_domain in the ini.
Compiled static files will then load from the app using this middleware.
Static file mangling now renames files to their mangled form and
symlinks the original name. This cleanup rule deleted only the mangled
names, leaving broken symlinks. The quick'n'dirty solution is to clear
out all of the mangled and unmangled filenames so we don't leave things
in an inconsistent state.
Loading plugin controller modules at the bottom of
controllers/__init__.py led to a circular dependency. Registering
controllers via decorator allows controllers/__init__.py to load
completely before plugin controllers are loaded.
Now, in addition to checking that the date has the correct format (YYYY-MM)
we also check to make sure the date is in the future and the month is in
the range 01 to 12.
This fixes the problem where users were seeing a 500 server error after
entering invalid values for the month when entering their credit card info.
This change also fixes a problem where the form was redirecting even if there
were validation errors, leading the user to believe their authorization was
successful when it wasn't.