Checks to see if there's a field called sr_discovery_links in the .ini file
and, if there is, mixes those links in with rising links in the spotlight.
Promoted links are still inserted as before.
Example of what the .ini file entry would look like:
sr_discovery_links = t6_hq, t6_hr, t6_hs
When the user clicks "what's this?" we query the dom with .thing:visible to
find out what kind of link is being displayed so we know which blurb to show.
However, we were calling hide() on the link before doing the query, which
meant it didn't match the .thing:visible filter and we were always falling back
to the default.
This fixes a bug where we were showing the rising links help blurb when the
user clicked "what's this?" on a promoted link.
Looking up saves and hides generally results in a big multi-get that'll
end up hitting most of the ring. During load spikes this is a big issue.
Let's try reducing the CL to reduce load.
The relation lookups currently do a multiget that will likely end up
hitting every node in the ring, until this can be fixed they are very
susceptible to load spikes. Rather than losing the whole request and
returning a 500/YBR to the user, if one of these lookups fail, we'll
just plow on.
reddit relies on pycassa/pycassa@91a5887def
but at time of writing there still isn't a release that contains this
patch. Until that's available, we'll add a custom download link.
- Escapes &, <, and > except in extraOptions tags, which need to allow special
characters
- Encodes string as UTF-8 before sending it over the wire
- Replaces xml entities in responses with the correct chars
This change should fix some of the 500 server errors people were getting when
they had unusual characters in their payment info.
Someone has been sending Comment fullnames to POST_hide and that
results in an error on our side and a 500 for them. They really
should be getting a proper error message back instead.
Doing a SELECT on the data table to determine which keys already
exist was adding too much extra load to the Account master. This
attempts to alleviate that by optimistically trying an UPDATE and
if no rows were actually changed by the UPDATE, doing an INSERT
instead.
Functions charge_pending and get_scheduled used accepted_iter
decorator thing which obscured what they were doing. Removed unused
function get_scheduled_campaign.
The max_num property is used to calculate the width for the .rank
element so that listing items line up. This was getting overwritten by
Listing.listing(), causing the spotlight items to not line up with the
rest of the page.
trans_id > 0 is used to identify an authorize transaction in many places in the
code and trans_id < 0 is used to identify freebies, so for now the only
"special" code is 0
(Also fixes problem with mark_payment_error since ERROR wasn't in the Enum)