From b9ec9f62cf596bdeb4a88fec5c2d6b96bbadfd37 Mon Sep 17 00:00:00 2001 From: KeyserSosa Date: Tue, 21 Jul 2009 16:47:15 -0700 Subject: [PATCH] updates to API: about.json on user pages to fetch link and comment karma without scraping html; added link_title attribute to comments in places where they render in html with their link's title (profile page). updates to iphone page. --- r2/r2/config/routing.py | 2 + r2/r2/config/templates.py | 1 + r2/r2/controllers/listingcontroller.py | 6 + r2/r2/lib/jsontemplates.py | 11 ++ r2/r2/public/static/iphone/iReddit-thumb.png | Bin 0 -> 8750 bytes .../static/iphone/iRedditFree-thumb.png | Bin 0 -> 8534 bytes r2/r2/public/static/iphone/index.html | 112 ++++++++++++------ r2/r2/public/static/iphone/random.js | 4 + 8 files changed, 100 insertions(+), 36 deletions(-) create mode 100644 r2/r2/public/static/iphone/iReddit-thumb.png create mode 100644 r2/r2/public/static/iphone/iRedditFree-thumb.png diff --git a/r2/r2/config/routing.py b/r2/r2/config/routing.py index eef0fcce7..7f58ceb63 100644 --- a/r2/r2/config/routing.py +++ b/r2/r2/config/routing.py @@ -82,6 +82,8 @@ def make_map(global_conf={}, app_conf={}): mc('/admin/:action', controller='admin') + mc('/user/:username/about', controller='user', action='about', + where='overview') mc('/user/:username/:where', controller='user', action='listing', where='overview') diff --git a/r2/r2/config/templates.py b/r2/r2/config/templates.py index a5a2c8d0f..7960ed7d6 100644 --- a/r2/r2/config/templates.py +++ b/r2/r2/config/templates.py @@ -42,6 +42,7 @@ api('reddit', RedditJsonTemplate) api('panestack', PanestackJsonTemplate) api('listing', ListingJsonTemplate) api('usertableitem', UserItemJsonTemplate) +api('account', AccountJsonTemplate) api('organiclisting', OrganicListingJsonTemplate) api('reddittraffic', TrafficJsonTemplate) diff --git a/r2/r2/controllers/listingcontroller.py b/r2/r2/controllers/listingcontroller.py index ca6dae3a4..c16c4f8e7 100644 --- a/r2/r2/controllers/listingcontroller.py +++ b/r2/r2/controllers/listingcontroller.py @@ -34,6 +34,7 @@ from r2.lib.db.thing import Query, Merge, Relations from r2.lib.db import queries from r2.lib.strings import Score from r2.lib import organic +from r2.lib.jsontemplates import is_api from r2.lib.solrsearch import SearchQuery from r2.lib.utils import iters, check_cheating, timeago from r2.lib import sup @@ -453,6 +454,11 @@ class UserController(ListingController): return ListingController.GET_listing(self, **env) + @validate(vuser = VExistingUname('username')) + def GET_about(self, vuser): + if not is_api() or not vuser: + return self.abort404() + return Reddit(content = Wrapped(vuser)).render() class MessageController(ListingController): show_sidebar = False diff --git a/r2/r2/lib/jsontemplates.py b/r2/r2/lib/jsontemplates.py index cdf84a900..7945e3588 100644 --- a/r2/r2/lib/jsontemplates.py +++ b/r2/r2/lib/jsontemplates.py @@ -185,6 +185,11 @@ class SubredditJsonTemplate(ThingJsonTemplate): over18 = "over_18", description = "description") +class AccountJsonTemplate(ThingJsonTemplate): + _data_attrs_ = ThingJsonTemplate.data_attrs(name = "name", + link_karma = "safe_karma", + comment_karma = "comment_karma") + class LinkJsonTemplate(ThingJsonTemplate): _data_attrs_ = ThingJsonTemplate.data_attrs(ups = "upvotes", downs = "downvotes", @@ -249,6 +254,12 @@ class CommentJsonTemplate(ThingJsonTemplate): from r2.models import Comment return make_typename(Comment) + def raw_data(self, thing): + d = ThingJsonTemplate.raw_data(self, thing) + if c.profilepage: + d['link_title'] = thing.link.title + return d + def rendered_data(self, wrapped): d = ThingJsonTemplate.rendered_data(self, wrapped) d['replies'] = self.thing_attr(wrapped, 'child') diff --git a/r2/r2/public/static/iphone/iReddit-thumb.png b/r2/r2/public/static/iphone/iReddit-thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ace291ee64293115d6fb68f4b203efd89db29acb GIT binary patch literal 8750 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 QcmMzZ07*qoM6N<$g5zdnvH$=8 literal 0 HcmV?d00001 diff --git a/r2/r2/public/static/iphone/index.html b/r2/r2/public/static/iphone/index.html index b848fc3ef..c943bcf9a 100644 --- a/r2/r2/public/static/iphone/index.html +++ b/r2/r2/public/static/iphone/index.html @@ -1,5 +1,6 @@ - - + + + - - - - - + +
@@ -183,24 +182,31 @@ h2 { The best of the web is in your hand.
And you can even shake it
- - + +
for a random, cool link.

- - +
+

-Buy the iReddit app for $1.99 and you'll never see an ad on it. -
-If you're more patient, we'll be releasing an ad-supported free version in the future. +Buy the iReddit app for just $.99 and you'll never see an ad on it. It comes with a ton of sound effects for your shaking pleasure and will let you aggregate up to 500 reddit subscriptions.

+ +
+ +
+

+Feeling hesitant? Try the free version of iReddit. You just get one sound effect, though it is cool, and you can aggregate only 100 of your reddit subscriptions. +

+ +
-

not convinced? watch the commercial

-
+

not convinced? watch the commercial

+
@@ -213,7 +219,7 @@ If you're more patient, we'll be releasing an ad-supported free version in the f

the feature list

-
    +
    • all the reddit sort options; view links by hotness, newness, top-score-ness, and controversy
    • baked-in browser means you can vote without leaving the page and easily jump to comments or move up/down the listings
    • commenting has never been easier, or sexier, on a mobile device
    • @@ -223,6 +229,11 @@ If you're more patient, we'll be releasing an ad-supported free version in the f
    • alien loading animation improves load time by 500% (that is, makes the waiting suck 5x less)
    • pro-tip: enable sounds in preferences and savor the awe of your peers
    +full-version only: +
      +
    • 7 different awesome sounds to choose from
    • +
    • aggregates up to 500 of your subscribed reddits (free version maxes out at 100)
    • +
@@ -230,21 +241,38 @@ If you're more patient, we'll be releasing an ad-supported free version in the f

-While in Serendipity mode, you will keep getting fed random stories to view/vote on every time you hit the "Hit me" button or shake the iPhone. Clicking "No More!!!" will take you back to regular mode. Much like UrbanSpoon, I could see this Serendipity mode becoming addicting. It's a bit like a completely random StumbleUpon (a website discovery tool), but again, using the iPhone's accelerometer. +I have been captivated by the updated iReddit. It's so much better than prev versions. +

+

+→ @simonpickles, on Twitter +

+
+ + +
+

+While in Serendipity mode, you will keep getting fed random stories to +view/vote on every time you hit the "Hit me" button or shake the +iPhone. Clicking "No More!!!" will take you back to regular mode. Much +like UrbanSpoon, I could see this Serendipity mode becoming addicting. It's a bit like a completely random StumbleUpon (a website discovery tool), but again, using the iPhone's accelerometer.

Such a feature seems perfect for a social voting site, where users are often looking for new and interesting stories.

-→ VentureBeat +→ VentureBeat

-Not only does iReddit has all your favorite Reddit functionality: view stories, vote, comment, share, explore different subreddits, and save links for later, it also lets you 'shake' to get a new story; an idea, Ohanian says, that has been "floating around ever since I saw the Urbanspoon app."

+Not only does iReddit has all your favorite Reddit functionality: +view stories, vote, comment, share, explore different subreddits, and +save links for later, it also lets you 'shake' to get a new story; an +idea, Ohanian says, that has been "floating around ever since I saw the +Urbanspoon app."

-→ ReadWriteWeb +→ ReadWriteWeb

@@ -254,7 +282,7 @@ Not only does iReddit has all your favorite Reddit function $1.99? I've spent more on worse on the iPhone. Sold.

-→ bvttf, on HackerNews +→ bvttf, on HackerNews

@@ -263,42 +291,54 @@ $1.99? I've spent more on worse on the iPhone. Sold. iphone reddit app. life = over.

-→ seeandyspin, on twitter +→ @seeandyspin, on twitter

-A particularly interesting feature is the Serendipity mode, which lets you you browse random Reddit stories without clicking; simply shake the iPhone and you'll be served a brand new link.

+iphone reddit app. life = over. +

-→ Mashable +→ @seeandyspin, on twitter +

+
+ + +
+

+A particularly interesting feature is the Serendipity mode, +which lets you you browse random Reddit stories without clicking; +simply shake the iPhone and you'll be served a brand new link.

+

+→ Mashable

- + +
- + - + + - - + diff --git a/r2/r2/public/static/iphone/random.js b/r2/r2/public/static/iphone/random.js index 6c13064f4..12c74adc1 100644 --- a/r2/r2/public/static/iphone/random.js +++ b/r2/r2/public/static/iphone/random.js @@ -5,6 +5,10 @@ quoteList[5] = "(like a mystery present)"; quoteList[6] = "(like a monkey with a puzzle)"; quoteList[7] = "(like a tiny Etch-A-Sketch)"; quoteList[8] = "(like a British nanny)"; +quoteList[9] = "(with gusto!)"; +quoteList[10] = "(like you're trying to get the last crumbs from the Doritos bag)"; +quoteList[11] = "(instead of going to the gym)"; +quoteList[12] = "(like Shakira)"; //randomization var now = new Date(); var secs = now.getSeconds(); var raw_random_number = Math.random(secs); var random_number = Math.round(raw_random_number * (quoteList.length)); if (random_number == quoteList.length){random_number = 0} //set quote var quote = quoteList[random_number]; \ No newline at end of file