From 2f47f89566a43c3a355f83e9d5cf69c35104e03a Mon Sep 17 00:00:00 2001 From: Max Goodman Date: Mon, 11 Jun 2012 11:49:01 -0700 Subject: [PATCH] Move api extension utils to r2.config.extensions. --- r2/r2/config/extensions.py | 12 +++++++++++- r2/r2/config/middleware.py | 3 +-- r2/r2/controllers/front.py | 2 +- r2/r2/controllers/listingcontroller.py | 2 +- r2/r2/controllers/reddit_base.py | 2 +- r2/r2/controllers/validator/validator.py | 2 +- r2/r2/lib/jsonresponse.py | 2 +- r2/r2/lib/jsontemplates.py | 11 +---------- r2/r2/lib/pages/pages.py | 2 +- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/r2/r2/config/extensions.py b/r2/r2/config/extensions.py index 3d390c3b2..a2050fa8c 100644 --- a/r2/r2/config/extensions.py +++ b/r2/r2/config/extensions.py @@ -1,4 +1,14 @@ -from r2.lib.jsontemplates import api_type +from pylons import c + +def api_type(subtype = ''): + return 'api-' + subtype if subtype else 'api' + +def is_api(subtype = ''): + return c.render_style and c.render_style.startswith(api_type(subtype)) + +def get_api_subtype(): + if is_api() and c.render_style.startswith('api-'): + return c.render_style[4:] extension_mapping = { "rss": ("xml", "text/xml; charset=UTF-8"), diff --git a/r2/r2/config/middleware.py b/r2/r2/config/middleware.py index fbcd3107f..e6f108aa9 100644 --- a/r2/r2/config/middleware.py +++ b/r2/r2/config/middleware.py @@ -32,9 +32,8 @@ from pylons.wsgiapp import PylonsApp, PylonsBaseWSGIApp from r2.config.environment import load_environment from r2.config.rewrites import rewrites -from r2.config.extensions import extension_mapping, set_extension +from r2.config.extensions import extension_mapping, set_extension, api_type from r2.lib.utils import rstrips, is_authorized_cname -from r2.lib.jsontemplates import api_type #middleware stuff from r2.lib.html_source import HTMLValidationParser diff --git a/r2/r2/controllers/front.py b/r2/r2/controllers/front.py index 1dc1c9084..c8f7e372a 100755 --- a/r2/r2/controllers/front.py +++ b/r2/r2/controllers/front.py @@ -24,9 +24,9 @@ from pylons.i18n import _, ungettext from reddit_base import RedditController, base_listing, paginated_listing, prevent_framing_and_css from r2 import config from r2.models import * +from r2.config.extensions import is_api from r2.lib.pages import * from r2.lib.pages.things import wrap_links -from r2.lib.jsontemplates import is_api from r2.lib.menus import * from r2.lib.utils import to36, sanitize_url, check_cheating, title_to_url from r2.lib.utils import query_string, UrlParser, link_from_url, link_duplicates diff --git a/r2/r2/controllers/listingcontroller.py b/r2/r2/controllers/listingcontroller.py index 8eef3f8a2..e1ab416f2 100755 --- a/r2/r2/controllers/listingcontroller.py +++ b/r2/r2/controllers/listingcontroller.py @@ -24,6 +24,7 @@ from validator import * from r2.models import * from r2.models.query_cache import CachedQuery, MergedCachedQuery +from r2.config.extensions import is_api from r2.lib.pages import * from r2.lib.pages.things import wrap_links from r2.lib.menus import NewMenu, TimeMenu, SortMenu, RecSortMenu, ProfileSortMenu @@ -35,7 +36,6 @@ 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 import r2.lib.solrsearch as solrsearch import r2.lib.search as search from r2.lib.utils import iters, check_cheating, timeago diff --git a/r2/r2/controllers/reddit_base.py b/r2/r2/controllers/reddit_base.py index d44385ad0..35ed028f3 100644 --- a/r2/r2/controllers/reddit_base.py +++ b/r2/r2/controllers/reddit_base.py @@ -36,7 +36,7 @@ from r2.models import * from errors import ErrorSet from validator import * from r2.lib.template_helpers import add_sr -from r2.lib.jsontemplates import api_type, is_api +from r2.config.extensions import is_api from Cookie import CookieError from copy import copy diff --git a/r2/r2/controllers/validator/validator.py b/r2/r2/controllers/validator/validator.py index c94bf21e0..a445e1588 100644 --- a/r2/r2/controllers/validator/validator.py +++ b/r2/r2/controllers/validator/validator.py @@ -22,6 +22,7 @@ from pylons import c, g, request, response from pylons.i18n import _ from pylons.controllers.util import abort +from r2.config.extensions import api_type from r2.lib import utils, captcha, promote from r2.lib.filters import unkeep_space, websafe, _force_unicode from r2.lib.filters import markdown_souptest @@ -29,7 +30,6 @@ from r2.lib.db import tdb_cassandra from r2.lib.db.operators import asc, desc from r2.lib.template_helpers import add_sr from r2.lib.jsonresponse import json_respond, JQueryResponse, JsonResponse -from r2.lib.jsontemplates import api_type from r2.lib.log import log_text from r2.models import * from r2.lib.authorize import Address, CreditCard diff --git a/r2/r2/lib/jsonresponse.py b/r2/r2/lib/jsonresponse.py index de55c03da..e7f96c3f0 100644 --- a/r2/r2/lib/jsonresponse.py +++ b/r2/r2/lib/jsonresponse.py @@ -19,11 +19,11 @@ # All portions of the code written by CondeNet are Copyright (c) 2006-2010 # CondeNet, Inc. All Rights Reserved. ################################################################################ +from r2.config.extensions import get_api_subtype from r2.lib.utils import tup from r2.lib.captcha import get_iden from r2.lib.wrapped import Wrapped, StringTemplate from r2.lib.filters import websafe_json, spaceCompress -from r2.lib.jsontemplates import get_api_subtype from r2.lib.base import BaseController from r2.lib.pages.things import wrap_links from r2.models import IDBuilder, Listing diff --git a/r2/r2/lib/jsontemplates.py b/r2/r2/lib/jsontemplates.py index 9ef3722ce..76702d869 100755 --- a/r2/r2/lib/jsontemplates.py +++ b/r2/r2/lib/jsontemplates.py @@ -22,21 +22,12 @@ from utils import to36, tup, iters from wrapped import Wrapped, StringTemplate, CacheStub, CachedVariable, Templated from mako.template import Template +from r2.config.extensions import get_api_subtype from r2.lib.filters import spaceCompress, safemarkdown import time, pytz from pylons import c, g from pylons.i18n import _ -def api_type(subtype = ''): - return 'api-' + subtype if subtype else 'api' - -def is_api(subtype = ''): - return c.render_style and c.render_style.startswith(api_type(subtype)) - -def get_api_subtype(): - if is_api() and c.render_style.startswith('api-'): - return c.render_style[4:] - def make_typename(typ): return 't%s' % to36(typ._type_id) diff --git a/r2/r2/lib/pages/pages.py b/r2/r2/lib/pages/pages.py index 92b9da67c..85261048b 100755 --- a/r2/r2/lib/pages/pages.py +++ b/r2/r2/lib/pages/pages.py @@ -30,10 +30,10 @@ from r2.models.oauth2 import OAuth2Client from r2.models import ModAction from r2.models import Thing from r2.config import cache +from r2.config.extensions import is_api from r2.lib.menus import CommentSortMenu from r2.lib.tracking import AdframeInfo from r2.lib.jsonresponse import json_respond -from r2.lib.jsontemplates import is_api from pylons.i18n import _, ungettext from pylons import c, request, g from pylons.controllers.util import abort