diff options
author | coutinho <coutinho@esrf.fr> | 2015-03-26 12:21:41 +0100 |
---|---|---|
committer | coutinho <coutinho@esrf.fr> | 2015-03-26 12:21:41 +0100 |
commit | 6f2a9f4d65212ef253a5ce6fc173d52b8a470c57 (patch) | |
tree | 674c3ba22a326794b20abf345ec5e01c102a1b11 /taurus/lib/taurus/qt/qtgui/util/taurusropepatch.py | |
parent | 3d39d0a483286c6cc6abc58d5514dc5390104736 (diff) |
First commit in tauruslib. Restructure according to SEP10
Diffstat (limited to 'taurus/lib/taurus/qt/qtgui/util/taurusropepatch.py')
-rw-r--r-- | taurus/lib/taurus/qt/qtgui/util/taurusropepatch.py | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/taurus/lib/taurus/qt/qtgui/util/taurusropepatch.py b/taurus/lib/taurus/qt/qtgui/util/taurusropepatch.py deleted file mode 100644 index 4c7a4291..00000000 --- a/taurus/lib/taurus/qt/qtgui/util/taurusropepatch.py +++ /dev/null @@ -1,95 +0,0 @@ -#!/usr/bin/env python
-
-#############################################################################
-##
-## This file is part of Taurus
-##
-## http://taurus-scada.org
-##
-## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
-##
-## Taurus is free software: you can redistribute it and/or modify
-## it under the terms of the GNU Lesser General Public License as published by
-## the Free Software Foundation, either version 3 of the License, or
-## (at your option) any later version.
-##
-## Taurus is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-## GNU Lesser General Public License for more details.
-##
-## You should have received a copy of the GNU Lesser General Public License
-## along with Taurus. If not, see <http://www.gnu.org/licenses/>.
-##
-#############################################################################
-
-"""Rope patch for better performances. Based on spyderlib.rope_patch"""
-
-__all__ = ["apply"]
-
-__docformat__ = 'restructuredtext'
-
-def apply():
- """Monkey patching rope for better performances"""
- import rope
- if rope.VERSION not in ('0.9.3', '0.9.2'):
- raise ImportError, "rope %s can't be patched" % rope.VERSION
-
- # Patching pycore.PyCore, so that forced builtin modules (i.e. modules
- # that were declared as 'extension_modules' in rope preferences)
- # will be indeed recognized as builtins by rope, as expected
- from rope.base import pycore
- class PatchedPyCore(pycore.PyCore):
- def get_module(self, name, folder=None):
- """Returns a `PyObject` if the module was found."""
- # check if this is a builtin module
- pymod = self._builtin_module(name)
- if pymod is not None:
- return pymod
- module = self.find_module(name, folder)
- if module is None:
- raise pycore.ModuleNotFoundError(
- 'Module %s not found' % name)
- return self.resource_to_pyobject(module)
- pycore.PyCore = PatchedPyCore
-
- # Patching BuiltinFunction for the calltip/doc functions to be
- # able to retrieve the function signatures with forced builtins
- from rope.base import builtins, pyobjects
- from spyderlib.utils.dochelpers import getargs
- class PatchedBuiltinFunction(builtins.BuiltinFunction):
- def __init__(self, returned=None, function=None, builtin=None,
- argnames=[], parent=None):
- builtins._BuiltinElement.__init__(self, builtin, parent)
- pyobjects.AbstractFunction.__init__(self)
- self.argnames = argnames
- if not argnames and builtin:
- self.argnames = getargs(self.builtin)
- if self.argnames is None:
- self.argnames = []
- self.returned = returned
- self.function = function
- builtins.BuiltinFunction = PatchedBuiltinFunction
-
- # Patching BuiltinName for the go to definition feature to simply work
- # with forced builtins
- from rope.base import libutils
- import inspect
- class PatchedBuiltinName(builtins.BuiltinName):
- def _pycore(self):
- p = self.pyobject
- while p.parent is not None:
- p = p.parent
- if isinstance(p, builtins.BuiltinModule) and p.pycore is not None:
- return p.pycore
- def get_definition_location(self):
- if not inspect.isbuiltin(self.pyobject):
- _lines, lineno = inspect.getsourcelines(self.pyobject.builtin)
- path = inspect.getfile(self.pyobject.builtin)
- pycore = self._pycore()
- if pycore and pycore.project:
- resource = libutils.path_to_resource(pycore.project, path)
- module = pyobjects.PyModule(pycore, None, resource)
- return (module, lineno)
- return (None, None)
- builtins.BuiltinName = PatchedBuiltinName
|