X7ROOT File Manager
Current Path:
/usr/lib/python2.7/site-packages
usr
/
lib
/
python2.7
/
site-packages
/
📁
..
📄
ANSI.py
(10.59 KB)
📄
ANSI.pyc
(10.27 KB)
📄
ANSI.pyo
(10.27 KB)
📁
ConfigArgParse-0.11.0-py2.7.egg-info
📄
FSM.py
(13.01 KB)
📄
FSM.pyc
(13.48 KB)
📄
FSM.pyo
(13.48 KB)
📄
IPy-0.75-py2.7.egg-info
(9.83 KB)
📄
IPy.py
(50.07 KB)
📄
IPy.pyc
(39.92 KB)
📄
IPy.pyo
(39.92 KB)
📁
_dummy_thread
📁
_markerlib
📁
_markupbase
📁
_thread
📁
acme
📁
acme-1.11.0-py2.7.egg-info
📄
augeas.py
(23 KB)
📄
augeas.pyc
(21.69 KB)
📄
augeas.pyo
(21.69 KB)
📁
awscli
📁
awscli-1.23.2-py2.7.egg-info
📁
backports
📄
backports.ssl_match_hostname-3.5.0.1-py2.7.egg-info
(3.96 KB)
📁
blivet
📄
blivet-0.61.15.76-py2.7.egg-info
(269 B)
📁
builtins
📁
certbot
📁
certbot-1.11.0-py2.7.egg-info
📁
chardet
📁
chardet-2.2.1-py2.7.egg-info
📁
clufter
📁
clufter-0.77.1-py2.7.egg-info
📁
concurrent
📄
configargparse.py
(40.35 KB)
📄
configargparse.pyc
(32.46 KB)
📄
configargparse.pyo
(32.46 KB)
📄
configobj-4.7.2-py2.7.egg-info
(2.08 KB)
📄
configobj.py
(86.1 KB)
📄
configobj.pyc
(64.72 KB)
📄
configobj.pyo
(64.72 KB)
📁
configshell
📁
configshell_fb
📁
configshell_fb-1.1.25-py2.7.egg-info
📁
copyreg
📁
createrepo
📁
cupshelpers
📄
cupshelpers-1.0-py2.7.egg-info
(231 B)
📁
dateutil
📁
decorator-3.4.0-py2.7.egg-info
📄
decorator.py
(10.39 KB)
📄
decorator.pyc
(8.36 KB)
📄
decorator.pyo
(8.32 KB)
📁
di
📁
di-0.3-py2.7.egg-info
📁
distro-1.5.0-py2.7.egg-info
📄
distro.py
(42.61 KB)
📄
distro.pyc
(39.01 KB)
📄
distro.pyo
(38.92 KB)
📁
docutils
📄
docutils-0.11-py2.7.egg-info
(2.31 KB)
📄
easy_install.py
(126 B)
📄
easy_install.pyc
(315 B)
📄
easy_install.pyo
(315 B)
📁
enum
📄
enum34-1.0.4-py2.7.egg-info
(28.04 KB)
📁
fail2ban
📁
fail2ban-0.11.2-py2.7.egg-info
📄
fdpexpect.py
(2.43 KB)
📄
fdpexpect.pyc
(3.03 KB)
📄
fdpexpect.pyo
(3.03 KB)
📁
firewall
📁
firstboot
📄
firstboot-19.5-py2.7.egg-info
(263 B)
📁
fros-1.0-py2.7.egg-info
📁
future
📁
future-0.18.2-py2.7.egg-info
📁
futures-3.1.1-py2.7.egg-info
📁
gtweak
📁
html
📁
http
📁
idna
📁
idna-2.4-py2.7.egg-info
📁
iniparse
📄
iniparse-0.4-py2.7.egg-info
(1.06 KB)
📁
initial_setup
📁
initial_setup-0.3.9.45-py2.7.egg-info
📄
ipaddress-1.0.16-py2.7.egg-info
(783 B)
📄
ipaddress.py
(78.03 KB)
📄
ipaddress.pyc
(73.75 KB)
📄
ipaddress.pyo
(73.57 KB)
📁
isc
📄
isc-2.0-py2.7.egg-info
(267 B)
📁
javapackages
📁
javapackages-1.0.0-py2.7.egg-info
📁
josepy
📁
josepy-1.3.0-py2.7.egg-info
📁
kitchen
📁
kitchen-1.1.1-py2.7.egg-info
📄
langtable-0.0.31-py2.7.egg-info
(2.66 KB)
📄
langtable.py
(74.29 KB)
📄
langtable.pyc
(55.85 KB)
📄
langtable.pyo
(55.85 KB)
📁
libfuturize
📁
libpasteurize
📁
louis
📁
lsm
📁
meh
📁
mock-1.0.1-py2.7.egg-info
📄
mock.py
(73.76 KB)
📄
mock.pyc
(66.98 KB)
📄
mock.pyo
(66.98 KB)
📁
ndg
📄
ndg_httpsclient-0.3.2-py2.7-nspkg.pth
(298 B)
📁
ndg_httpsclient-0.3.2-py2.7.egg-info
📄
ntplib-0.3.2-py2.7.egg-info
(1.73 KB)
📄
ntplib.py
(13.21 KB)
📄
ntplib.pyc
(13.07 KB)
📄
ntplib.pyo
(13.07 KB)
📁
packagekit
📁
parsedatetime
📁
parsedatetime-2.4-py2.7.egg-info
📁
past
📁
pcs
📁
pcs-0.9.169-py2.7.egg-info
📄
pexpect-2.3-py2.7.egg-info
(287 B)
📄
pexpect.py
(74.16 KB)
📄
pexpect.pyc
(62.45 KB)
📄
pexpect.pyo
(62.29 KB)
📄
pkg_resources.py
(98.74 KB)
📄
pkg_resources.pyc
(105.5 KB)
📄
pkg_resources.pyo
(105.47 KB)
📁
ply
📄
ply-3.4-py2.7.egg-info
(900 B)
📁
procfs
📄
pxssh.py
(14.25 KB)
📄
pxssh.pyc
(11 KB)
📄
pxssh.pyo
(11 KB)
📁
pyRFC3339-1.1-py2.7.egg-info
📁
pyasn1
📁
pyasn1-0.1.9-py2.7.egg-info
📁
pyatspi
📁
pycparser
📁
pycparser-2.14-py2.7.egg-info
📁
pyfros
📄
pyinotify-0.9.4-py2.7.egg-info
(1.15 KB)
📄
pyinotify.py
(85.61 KB)
📄
pyinotify.pyc
(83.4 KB)
📄
pyinotify.pyo
(83.14 KB)
📁
pykickstart
📄
pykickstart-1.99.66.22-py2.7.egg-info
(279 B)
📄
pyparsing-1.5.6-py2.7.egg-info
(670 B)
📄
pyparsing.py
(151.79 KB)
📄
pyparsing.pyc
(145.41 KB)
📄
pyparsing.pyo
(145.41 KB)
📁
pyrfc3339
📄
python_augeas-0.5.0-py2.7.egg-info
(238 B)
📁
python_dateutil-1.5-py2.7.egg-info
📄
python_linux_procfs-0.4.9-py2.7.egg-info
(350 B)
📄
python_meh-0.25.3-py2.7.egg-info
(274 B)
📁
pytz
📁
pytz-2016.10-py2.7.egg-info
📁
pyudev
📁
pyudev-0.15-py2.7.egg-info
📁
queue
📁
reprlib
📁
requests
📄
requests-2.6.0-py2.7.egg-info
(39.41 KB)
📁
requests_toolbelt
📁
requests_toolbelt-0.8.0-py2.7.egg-info
📁
rpmUtils
📁
rtslib
📁
rtslib_fb
📁
rtslib_fb-2.1.74-py2.7.egg-info
📁
s3transfer
📁
s3transfer-0.1.13-py2.7.egg-info
📁
scdate
📄
scdate-1.10.6-py2.7.egg-info
(181 B)
📄
screen.py
(10.16 KB)
📄
screen.pyc
(13.2 KB)
📄
screen.pyo
(13.2 KB)
📁
setuptools
📁
setuptools-0.9.8-py2.7.egg-info
📁
six-1.9.0-py2.7.egg-info
📄
six.py
(28.97 KB)
📄
six.pyc
(29.01 KB)
📄
six.pyo
(29.01 KB)
📁
slip
📄
slip-0.4.0-py2.7.egg-info
(196 B)
📄
slip.dbus-0.4.0-py2.7.egg-info
(269 B)
📁
socketserver
📁
sos
📁
suds
📁
suds-0.4.1-py2.7.egg-info
📁
targetcli
📁
targetcli_fb-2.1.53-py2.7.egg-info
📁
targetd
📄
targetd-0.8.5-py2.7.egg-info
(244 B)
📁
tkinter
📁
tuned
📁
urlgrabber
📄
urlgrabber-3.10-py2.7.egg-info
(2.21 KB)
📁
urllib3
📁
urllib3-1.10.2-py2.7.egg-info
📄
validate.py
(45.22 KB)
📄
validate.pyc
(45.62 KB)
📄
validate.pyo
(45.62 KB)
📁
winreg
📁
xmlrpc
📁
yum
📁
yum_langpacks-0.4.2-py2.7.egg-info
📁
yumutils
📁
zope
📄
zope.component-4.1.0-py2.7-nspkg.pth
(301 B)
📁
zope.component-4.1.0-py2.7.egg-info
📄
zope.event-4.0.3-py2.7-nspkg.pth
(301 B)
📁
zope.event-4.0.3-py2.7.egg-info
Editing: decorator.py
########################## LICENCE ############################### # Copyright (c) 2005-2012, Michele Simionato # All rights reserved. # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # Redistributions in bytecode form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in # the documentation and/or other materials provided with the # distribution. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS # OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE # USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. """ Decorator module, see http://pypi.python.org/pypi/decorator for the documentation. """ __version__ = '3.4.0' __all__ = ["decorator", "FunctionMaker", "contextmanager"] import sys, re, inspect if sys.version >= '3': from inspect import getfullargspec def get_init(cls): return cls.__init__ else: class getfullargspec(object): "A quick and dirty replacement for getfullargspec for Python 2.X" def __init__(self, f): self.args, self.varargs, self.varkw, self.defaults = \ inspect.getargspec(f) self.kwonlyargs = [] self.kwonlydefaults = None def __iter__(self): yield self.args yield self.varargs yield self.varkw yield self.defaults def get_init(cls): return cls.__init__.im_func DEF = re.compile('\s*def\s*([_\w][_\w\d]*)\s*\(') # basic functionality class FunctionMaker(object): """ An object with the ability to create functions with a given signature. It has attributes name, doc, module, signature, defaults, dict and methods update and make. """ def __init__(self, func=None, name=None, signature=None, defaults=None, doc=None, module=None, funcdict=None): self.shortsignature = signature if func: # func can be a class or a callable, but not an instance method self.name = func.__name__ if self.name == '<lambda>': # small hack for lambda functions self.name = '_lambda_' self.doc = func.__doc__ self.module = func.__module__ if inspect.isfunction(func): argspec = getfullargspec(func) self.annotations = getattr(func, '__annotations__', {}) for a in ('args', 'varargs', 'varkw', 'defaults', 'kwonlyargs', 'kwonlydefaults'): setattr(self, a, getattr(argspec, a)) for i, arg in enumerate(self.args): setattr(self, 'arg%d' % i, arg) if sys.version < '3': # easy way self.shortsignature = self.signature = \ inspect.formatargspec( formatvalue=lambda val: "", *argspec)[1:-1] else: # Python 3 way allargs = list(self.args) allshortargs = list(self.args) if self.varargs: allargs.append('*' + self.varargs) allshortargs.append('*' + self.varargs) elif self.kwonlyargs: allargs.append('*') # single star syntax for a in self.kwonlyargs: allargs.append('%s=None' % a) allshortargs.append('%s=%s' % (a, a)) if self.varkw: allargs.append('**' + self.varkw) allshortargs.append('**' + self.varkw) self.signature = ', '.join(allargs) self.shortsignature = ', '.join(allshortargs) self.dict = func.__dict__.copy() # func=None happens when decorating a caller if name: self.name = name if signature is not None: self.signature = signature if defaults: self.defaults = defaults if doc: self.doc = doc if module: self.module = module if funcdict: self.dict = funcdict # check existence required attributes assert hasattr(self, 'name') if not hasattr(self, 'signature'): raise TypeError('You are decorating a non function: %s' % func) def update(self, func, **kw): "Update the signature of func with the data in self" func.__name__ = self.name func.__doc__ = getattr(self, 'doc', None) func.__dict__ = getattr(self, 'dict', {}) func.func_defaults = getattr(self, 'defaults', ()) func.__kwdefaults__ = getattr(self, 'kwonlydefaults', None) func.__annotations__ = getattr(self, 'annotations', None) callermodule = sys._getframe(3).f_globals.get('__name__', '?') func.__module__ = getattr(self, 'module', callermodule) func.__dict__.update(kw) def make(self, src_templ, evaldict=None, addsource=False, **attrs): "Make a new function from a given template and update the signature" src = src_templ % vars(self) # expand name and signature evaldict = evaldict or {} mo = DEF.match(src) if mo is None: raise SyntaxError('not a valid function template\n%s' % src) name = mo.group(1) # extract the function name names = set([name] + [arg.strip(' *') for arg in self.shortsignature.split(',')]) for n in names: if n in ('_func_', '_call_'): raise NameError('%s is overridden in\n%s' % (n, src)) if not src.endswith('\n'): # add a newline just for safety src += '\n' # this is needed in old versions of Python try: code = compile(src, '<string>', 'single') # print >> sys.stderr, 'Compiling %s' % src exec code in evaldict except: print >> sys.stderr, 'Error in generated code:' print >> sys.stderr, src raise func = evaldict[name] if addsource: attrs['__source__'] = src self.update(func, **attrs) return func @classmethod def create(cls, obj, body, evaldict, defaults=None, doc=None, module=None, addsource=True, **attrs): """ Create a function from the strings name, signature and body. evaldict is the evaluation dictionary. If addsource is true an attribute __source__ is added to the result. The attributes attrs are added, if any. """ if isinstance(obj, str): # "name(signature)" name, rest = obj.strip().split('(', 1) signature = rest[:-1] #strip a right parens func = None else: # a function name = None signature = None func = obj self = cls(func, name, signature, defaults, doc, module) ibody = '\n'.join(' ' + line for line in body.splitlines()) return self.make('def %(name)s(%(signature)s):\n' + ibody, evaldict, addsource, **attrs) def decorator(caller, func=None): """ decorator(caller) converts a caller function into a decorator; decorator(caller, func) decorates a function using a caller. """ if func is not None: # returns a decorated function evaldict = func.func_globals.copy() evaldict['_call_'] = caller evaldict['_func_'] = func return FunctionMaker.create( func, "return _call_(_func_, %(shortsignature)s)", evaldict, undecorated=func, __wrapped__=func) else: # returns a decorator if inspect.isclass(caller): name = caller.__name__.lower() callerfunc = get_init(caller) doc = 'decorator(%s) converts functions/generators into ' \ 'factories of %s objects' % (caller.__name__, caller.__name__) fun = getfullargspec(callerfunc).args[1] # second arg elif inspect.isfunction(caller): name = '_lambda_' if caller.__name__ == '<lambda>' \ else caller.__name__ callerfunc = caller doc = caller.__doc__ fun = getfullargspec(callerfunc).args[0] # first arg else: # assume caller is an object with a __call__ method name = caller.__class__.__name__.lower() callerfunc = caller.__call__.im_func doc = caller.__call__.__doc__ fun = getfullargspec(callerfunc).args[1] # second arg evaldict = callerfunc.func_globals.copy() evaldict['_call_'] = caller evaldict['decorator'] = decorator return FunctionMaker.create( '%s(%s)' % (name, fun), 'return decorator(_call_, %s)' % fun, evaldict, undecorated=caller, __wrapped__=caller, doc=doc, module=caller.__module__) ######################### contextmanager ######################## def __call__(self, func): 'Context manager decorator' return FunctionMaker.create( func, "with _self_: return _func_(%(shortsignature)s)", dict(_self_=self, _func_=func), __wrapped__=func) try: # Python >= 3.2 from contextlib import _GeneratorContextManager ContextManager = type( 'ContextManager', (_GeneratorContextManager,), dict(__call__=__call__)) except ImportError: # Python >= 2.5 from contextlib import GeneratorContextManager def __init__(self, f, *a, **k): return GeneratorContextManager.__init__(self, f(*a, **k)) ContextManager = type( 'ContextManager', (GeneratorContextManager,), dict(__call__=__call__, __init__=__init__)) contextmanager = decorator(ContextManager)
Upload File
Create Folder