From 58bdf37f9ae07fd9f4c2739b78bf8c26bdb6969c Mon Sep 17 00:00:00 2001 From: Michael Merickel <michael@merickel.org> Date: Mon, 10 Jul 2017 07:09:02 +0200 Subject: [PATCH] Merge pull request #3125 from mmerickel/backport-3124-to-1.8-branch --- pyramid/config/util.py | 64 +++++--------------------------- 1 files changed, 10 insertions(+), 54 deletions(-) diff --git a/pyramid/config/util.py b/pyramid/config/util.py index 67bba95..8a33d0a 100644 --- a/pyramid/config/util.py +++ b/pyramid/config/util.py @@ -1,13 +1,10 @@ from hashlib import md5 -import inspect from pyramid.compat import ( bytes_, - getargspec, is_nonstr_iter ) -from pyramid.compat import im_func from pyramid.exceptions import ConfigurationError from pyramid.registry import predvalseq @@ -15,13 +12,21 @@ TopologicalSorter, action_method, ActionInfo, + takes_one_arg, ) + +from pyramid.viewderivers import ( + MAX_ORDER, + DEFAULT_PHASH, +) action_method = action_method # support bw compat imports ActionInfo = ActionInfo # support bw compat imports -MAX_ORDER = 1 << 30 -DEFAULT_PHASH = md5().hexdigest() +MAX_ORDER = MAX_ORDER # support bw compat imports +DEFAULT_PHASH = DEFAULT_PHASH # support bw compat imports + +takes_one_arg = takes_one_arg # support bw compat imports class not_(object): """ @@ -180,52 +185,3 @@ score = score | bit order = (MAX_ORDER - score) / (len(preds) + 1) return order, preds, phash.hexdigest() - -def takes_one_arg(callee, attr=None, argname=None): - ismethod = False - if attr is None: - attr = '__call__' - if inspect.isroutine(callee): - fn = callee - elif inspect.isclass(callee): - try: - fn = callee.__init__ - except AttributeError: - return False - ismethod = hasattr(fn, '__call__') - else: - try: - fn = getattr(callee, attr) - except AttributeError: - return False - - try: - argspec = getargspec(fn) - except TypeError: - return False - - args = argspec[0] - - if hasattr(fn, im_func) or ismethod: - # it's an instance method (or unbound method on py2) - if not args: - return False - args = args[1:] - - if not args: - return False - - if len(args) == 1: - return True - - if argname: - - defaults = argspec[3] - if defaults is None: - defaults = () - - if args[0] == argname: - if len(args) - len(defaults) == 1: - return True - - return False -- Gitblit v1.9.3