validators: Move from controllers to lib

This commit is contained in:
Keith Mitchell
2012-12-20 10:34:35 -08:00
parent 87b41c9d4b
commit 8df185c42b
23 changed files with 72 additions and 46 deletions

View File

@@ -23,7 +23,7 @@
from pylons import request, g
from reddit_base import RedditController
from r2.lib.pages import AdminPage, AdminAds, AdminAdAssign, AdminAdSRs
from validator import *
from r2.lib.validator import *
class AdsController(RedditController):

View File

@@ -26,7 +26,7 @@ from reddit_base import cross_domain, paginated_listing
from pylons.i18n import _
from pylons import c, request, response
from validator import *
from r2.lib.validator import *
from r2.models import *

View File

@@ -31,7 +31,7 @@ from pylons.i18n import _
from reddit_base import RedditController
from r2.lib.utils import Storage
from r2.lib.pages import BoringPage, ApiHelp
from r2.controllers.validator import validate, VOneOf
from r2.lib.validator import validate, VOneOf
# API sections displayed in the documentation page.
# Each section can have a title and a markdown-formatted description.

View File

@@ -24,7 +24,7 @@ from pylons import request, g
from reddit_base import RedditController
from r2.lib.pages import AdminPage, AdminAwards
from r2.lib.pages import AdminAwardGive, AdminAwardWinners
from validator import *
from r2.lib.validator import *
class AwardsController(RedditController):

View File

@@ -26,8 +26,8 @@ from r2.lib.pages import (ButtonLite, ButtonDemoPanel, WidgetDemoPanel,
from r2.lib.pages.things import wrap_links
from r2.models import *
from r2.lib.utils import tup
from r2.lib.validator import *
from pylons import c, request
from validator import *
from pylons.i18n import _
class ButtonsController(RedditController):

View File

@@ -23,7 +23,7 @@
from pylons import request, g
from reddit_base import RedditController
from r2.lib.pages import AdminPage, AdminErrorLog
from validator import *
from r2.lib.validator import validate, VAdmin
class ErrorlogController(RedditController):
@validate(VAdmin())

View File

@@ -20,7 +20,6 @@
# Inc. All Rights Reserved.
###############################################################################
from validator import *
from pylons.i18n import _, ungettext
from pylons.controllers.util import redirect_to
from reddit_base import RedditController, base_listing, paginated_listing, prevent_framing_and_css
@@ -42,6 +41,7 @@ from r2.lib.db.tdb_cassandra import MultiColumnQuery
from r2.lib.strings import strings
from r2.lib.search import (SearchQuery, SubredditSearchQuery, SearchException,
InvalidQuery)
from r2.lib.validator import *
from r2.lib import jsontemplates
from r2.lib import sup
import r2.lib.db.thing as thing

View File

@@ -30,9 +30,9 @@ from pylons import c, g, response
from reddit_base import MinimalController
from r2.lib.amqp import worker
from r2.lib.validator import *
from r2.lib import promote
from validator import *
class HealthController(MinimalController):
def post(self):

View File

@@ -29,9 +29,9 @@ from pylons.controllers.util import abort
from pylons import c, g, response
from pylons.i18n import _
from validator import *
from r2.models import *
from r2.lib.utils import randstr
from r2.lib.validator import *
from reddit_base import RedditController

View File

@@ -22,7 +22,6 @@
from oauth2 import OAuth2ResourceController, require_oauth2_scope
from reddit_base import RedditController, base_listing, organic_pos
from validator import *
from r2.models import *
from r2.models.query_cache import CachedQuery, MergedCachedQuery
@@ -42,6 +41,7 @@ import r2.lib.search as search
from r2.lib.utils import iters, check_cheating, timeago
from r2.lib import sup
from r2.lib.promote import randomized_promotion_list
from r2.lib.validator import *
import socket
from api_docs import api_doc, api_section

View File

@@ -20,11 +20,11 @@
# Inc. All Rights Reserved.
###############################################################################
from validator import *
from reddit_base import MinimalController
from r2.lib.scraper import get_media_embed
from r2.lib.pages import MediaEmbedBody, render_ad, render_ad_by_codename
from r2.lib.validator import *
from pylons import request
from pylons.controllers.util import abort

View File

@@ -35,12 +35,20 @@ from r2.models.token import (
OAuth2Client, OAuth2AuthorizationCode, OAuth2AccessToken,
OAuth2RefreshToken, OAuth2Scope)
from r2.lib.errors import ForbiddenError, errors
from validator import (
nop, validate, VRequired, VOneOf, VUser, VModhash, VOAuth2ClientID,
VOAuth2Scope, VOAuth2RefreshToken)
from r2.lib.pages import OAuth2AuthorizationPage
from r2.lib.require import RequirementException, require, require_split
from r2.lib.utils import parse_http_basic
from r2.lib.validator import (
nop,
validate,
VRequired,
VOneOf,
VUser,
VModhash,
VOAuth2ClientID,
VOAuth2Scope,
VOAuth2RefreshToken,
)
class OAuth2FrontendController(RedditController):
def pre(self):

View File

@@ -25,8 +25,8 @@ from reddit_base import cross_domain
from api import ApiController
from r2.lib.utils import Storage, query_string, UrlParser
from r2.lib.emailer import opt_in, opt_out
from r2.lib.validator import *
from pylons import request, c, g
from validator import *
from pylons.i18n import _
from r2.models import *
import hashlib

View File

@@ -22,7 +22,6 @@
import json
from validator import *
from pylons.i18n import _
from r2.models import *
from r2.lib.authorize import get_account_info, edit_profile, PROFILE_LIMIT
@@ -41,6 +40,7 @@ from r2.lib.media import force_thumbnail, thumbnail_url
from r2.lib.scraper import MediaEmbed
from r2.lib import cssfilter
from r2.lib.system_messages import user_added_messages
from r2.lib.validator import *
from datetime import datetime
class PromoteController(ListingController):

View File

@@ -19,9 +19,11 @@
# All portions of the code written by reddit are Copyright (c) 2006-2012 reddit
# Inc. All Rights Reserved.
###############################################################################
from pylons import g
from pylons.controllers.util import abort
from reddit_base import RedditController
from validator import *
from r2.lib.validator import nop, validate
from r2.lib.db.queries import CachedResults
import cPickle as pickle

View File

@@ -42,18 +42,6 @@ from pylons.i18n import _
from pylons.i18n.translation import LanguageError
from r2.config.extensions import is_api
from r2.controllers.validator import (
build_arg_list,
chksrname,
fullname_regex,
valid_jsonp_callback,
validate,
VByName,
VCount,
VLength,
VLimit,
VTarget,
)
from r2.lib import filters, pages, utils
from r2.lib.authentication import authenticate_user
from r2.lib.base import BaseController
@@ -75,6 +63,18 @@ from r2.lib.utils import (
is_subdomain,
is_throttled,
)
from r2.lib.validator import (
build_arg_list,
chksrname,
fullname_regex,
valid_jsonp_callback,
validate,
VByName,
VCount,
VLength,
VLimit,
VTarget,
)
from r2.models import (
All,
check_request,

View File

@@ -19,11 +19,12 @@
# All portions of the code written by reddit are Copyright (c) 2006-2012 reddit
# Inc. All Rights Reserved.
###############################################################################
from pylons.controllers.util import abort, redirect_to
from r2.lib.base import BaseController
from pylons import c
from validator import chkuser, chksrname
from pylons.controllers.util import abort, redirect_to
from r2.lib.base import BaseController
from r2.lib.validator import chkuser, chksrname
class RedirectController(BaseController):
def GET_redirect(self, dest):

View File

@@ -29,7 +29,7 @@ from r2.lib.filters import spaceCompress, safemarkdown
from r2.lib.memoize import memoize
from r2.lib.template_helpers import add_sr
from r2.lib import utils
from validator import *
from r2.lib.validator import *
from pylons import c, Response
from r2.models.admintools import is_shamed_domain

View File

@@ -34,12 +34,26 @@ from r2.models.builder import WikiRevisionBuilder, WikiRecentRevisionBuilder
from r2.lib.template_helpers import join_urls
from r2.controllers.validator import VMarkdown, VModhash, VPrintable
from r2.lib.validator import (
VExistingUname,
VInt,
VMarkdown,
VModhash,
VOneOf,
VPrintable,
VRatelimit,
)
from r2.controllers.validator.wiki import (VWikiPage, VWikiPageAndVersion,
VWikiModerator, VWikiPageRevise,
this_may_revise, this_may_view,
VWikiPageName, wiki_validate)
from r2.lib.validator.wiki import (
VWikiPage,
VWikiPageAndVersion,
VWikiModerator,
VWikiPageRevise,
this_may_revise,
this_may_view,
VWikiPageName,
wiki_validate,
)
from r2.controllers.api_docs import api_doc, api_section
from r2.lib.pages.wiki import (WikiPageView, WikiNotFound, WikiRevisions,
WikiEdit, WikiSettings, WikiRecent,
@@ -54,7 +68,6 @@ from r2.lib.pages.things import default_thing_wrapper
from r2.lib.pages import BoringPage
from reddit_base import base_listing
from r2.models import IDBuilder, LinkListing, DefaultSR
from validator.validator import VInt, VExistingUname, VRatelimit, VOneOf
from r2.lib.merge import ConflictException, make_htmldiff
from pylons.i18n import _
from r2.lib.pages import PaneStack

View File

@@ -2,7 +2,7 @@ from r2.lib.pages.pages import Reddit
from pylons import c
from r2.lib.wrapped import Templated
from r2.lib.menus import PageNameNav
from r2.controllers.validator.wiki import this_may_revise
from r2.lib.validator.wiki import this_may_revise
from pylons.i18n import _
class WikiView(Templated):

View File

@@ -23,7 +23,6 @@
from validator import *
try:
from r2admin.controllers.validator import *
from r2admin.lib.validator import *
except ImportError:
pass

View File

@@ -31,9 +31,12 @@ from pylons.controllers.util import redirect_to
from pylons import c, g, request
from r2.models.wiki import WikiPage, WikiRevision
from r2.controllers.validator import (
Validator, validate, VSrModerator,
make_validated_kw, set_api_docs
from r2.lib.validator import (
Validator,
validate,
VSrModerator,
make_validated_kw,
set_api_docs,
)
from r2.lib.db import tdb_cassandra