• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python debug.log_last_error函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中spyderlib.utils.debug.log_last_error函数的典型用法代码示例。如果您正苦于以下问题:Python log_last_error函数的具体用法?Python log_last_error怎么用?Python log_last_error使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了log_last_error函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: get_jedi_object

    def get_jedi_object(self, func_name, info, use_filename=True):
        """Call a desired function on a Jedi Script and return the result"""
        if not jedi:
            return
        if DEBUG_EDITOR:
            t0 = time.time()
        # override IPython qt_loaders ImportDenier behavior
        metas = sys.meta_path
        for meta in metas:
            if (meta.__class__.__name__ == 'ImportDenier'
                    and hasattr(meta, 'forbid')):
                sys.meta_path.remove(meta)

        if use_filename:
            filename = info.filename
        else:
            filename = None

        try:
            script = jedi.Script(info.source_code, info.line_num,
                                 info.column, filename)
            func = getattr(script, func_name)
            val = func()
        except Exception as e:
            val = None
            debug_print('Jedi error (%s)' % func_name)
            debug_print(str(e))
            if DEBUG_EDITOR:
                log_last_error(LOG_FILENAME, str(e))
        if DEBUG_EDITOR:
            log_dt(LOG_FILENAME, func_name, t0)
        if not val and filename:
            return self.get_jedi_object(func_name, info, False)
        else:
            return val
开发者ID:ImadBouirmane,项目名称:spyder,代码行数:35,代码来源:jedi_plugin.py


示例2: get_definition_location

 def get_definition_location(self, source_code, offset, filename):
     """Find a definition location using Rope"""
     if self.project is None:
         raise ValueError
     if PY2:
         filename = filename.encode('utf-8')
     else:
         #TODO: test if this is working without any further change in
         # Python 3 with a user account containing unicode characters
         pass
     try:
         resource = rope.base.libutils.path_to_resource(self.project,
                                                        filename)
     except Exception as _error:
         if DEBUG_EDITOR:
             log_last_error(LOG_FILENAME, "path_to_resource: %r" % filename)
         resource = None
     try:
         if DEBUG_EDITOR:
             t0 = time.time()
         resource, lineno = rope.contrib.codeassist.get_definition_location(
                 self.project, source_code, offset, resource, maxfixes=3)
         if DEBUG_EDITOR:
             log_dt(LOG_FILENAME, "get_definition_location", t0)
         if resource is not None:
             filename = resource.real_path
         else:
             raise ValueError
         return filename, lineno
     except Exception as _error:  #analysis:ignore
         if DEBUG_EDITOR:
             log_last_error(LOG_FILENAME, "get_definition_location")
         raise ValueError
开发者ID:jromang,项目名称:spyderlib,代码行数:33,代码来源:rope_plugin.py


示例3: get_completions

    def get_completions(self, info):
        """Get a list of (completion, type) tuples using Rope"""
        if self.project is None:
            return []
        filename = info.filename
        source_code = info.source_code
        offset = info.position

        if PY2:
            filename = filename.encode('utf-8')
        else:
            #TODO: test if this is working without any further change in
            # Python 3 with a user account containing unicode characters
            pass
        try:
            resource = rope.base.libutils.path_to_resource(self.project,
                                                           filename)
        except Exception as _error:
            if DEBUG_EDITOR:
                log_last_error(LOG_FILENAME, "path_to_resource: %r" % filename)
            resource = None
        try:
            if DEBUG_EDITOR:
                t0 = time.time()
            proposals = rope.contrib.codeassist.code_assist(self.project,
                                    source_code, offset, resource, maxfixes=3)
            proposals = rope.contrib.codeassist.sorted_proposals(proposals)
            if DEBUG_EDITOR:
                log_dt(LOG_FILENAME, "code_assist/sorted_proposals", t0)
            return [(proposal.name, proposal.type) for proposal in proposals]
        except Exception as _error:  #analysis:ignore
            if DEBUG_EDITOR:
                log_last_error(LOG_FILENAME, "get_completion_list")
        return []
开发者ID:gyenney,项目名称:Tools,代码行数:34,代码来源:rope_plugin.py


示例4: create_rope_project

 def create_rope_project(self, root_path):
     """Create a Rope project on a desired path"""
     if PY2:
         root_path = encoding.to_fs_from_unicode(root_path)
     else:
         #TODO: test if this is working without any further change in
         # Python 3 with a user account containing unicode characters
         pass
     try:
         import rope.base.project
         self.project = rope.base.project.Project(root_path, **ROPE_PREFS)
     except ImportError:
         print >>STDERR, 'project error'
         self.project = None
         if DEBUG_EDITOR:
             log_last_error(LOG_FILENAME,
                            "create_rope_project: %r" % root_path)
     except TypeError:
         # Compatibility with new Mercurial API (>= 1.3).
         # New versions of rope (> 0.9.2) already handle this issue
         self.project = None
         if DEBUG_EDITOR:
             log_last_error(LOG_FILENAME,
                            "create_rope_project: %r" % root_path)
     self.validate()
开发者ID:pxwish,项目名称:spyder,代码行数:25,代码来源:rope_plugin.py


示例5: get_definition_info

 def get_definition_info(defn):
     """Extract definition information from the Jedi definition object"""
     try:
         module_path = defn.module_path
         name = defn.name
         line_nr = defn.line_nr
         description = defn.description
         in_builtin = defn.in_builtin_module()
     except Exception as e:
         if DEBUG_EDITOR:
             log_last_error(LOG_FILENAME, "Get Defintion: %s" % e)
         return None
     pattern = "class\s+{0}|def\s+{0}|self.{0}\s*=|{0}\s*=".format(name)
     if not re.match(pattern, description):
         goto_next = True
     else:
         goto_next = False
     return dict(
         module_path=module_path,
         line_nr=line_nr,
         description=description,
         name=name,
         in_builtin=in_builtin,
         goto_next=goto_next,
     )
开发者ID:ymarfoq,项目名称:outilACVDesagregation,代码行数:25,代码来源:jedi_plugin.py


示例6: get_token_completion_list

 def get_token_completion_list(self, source_code, offset, filename):
     """Return a list of completion strings using token matching"""
     ret = None
     try:
         ret = self._token_based_completion(source_code, offset)
         debug_print('token completion: %s ...(%s)' % (ret[:2], len(ret)))
     except Exception:
         if DEBUG_EDITOR:
             log_last_error(LOG_FILENAME)
     return ret or []
开发者ID:jromang,项目名称:spyderlib,代码行数:10,代码来源:base.py


示例7: get_definition_location_regex

 def get_definition_location_regex(self, source_code, offset, filename):
     """Find a path and line number for a definition using regex"""
     ret = None, None
     try:
         ret = self._get_definition_location_regex(source_code, offset, 
                                                   filename)
         debug_print('get regex definition: ' + str(ret))
     except Exception as e:
         debug_print('Regex error: %s' % e)
         if DEBUG_EDITOR:
             log_last_error(LOG_FILENAME)
     return ret
开发者ID:jromang,项目名称:spyderlib,代码行数:12,代码来源:base.py


示例8: run

 def run(self):
     """Start notification thread"""
     while True:
         if self.notify_socket is None:
             continue
         output = None
         try:
             try:
                 cdict = read_packet(self.notify_socket)
             except:
                 # This except statement is intended to handle a struct.error
                 # (but when writing 'except struct.error', it doesn't work)
                 # Note: struct.error is raised when the communication has 
                 # been interrupted and the received data is not a string 
                 # of length 8 as required by struct.unpack (see read_packet)
                 break
             if cdict is None:
                 # Another notification thread has just terminated and 
                 # then wrote 'None' in the notification socket
                 # (see the 'finally' statement below)
                 continue
             if not isinstance(cdict, dict):
                 raise TypeError("Invalid data type: %r" % cdict)
             command = cdict['command']
             data = cdict.get('data')
             if command == 'pdb_step':
                 fname, lineno = data
                 self.emit(SIGNAL('pdb(QString,int)'), fname, lineno)
                 self.emit(SIGNAL('refresh_namespace_browser()'))
             elif command == 'refresh':
                 self.emit(SIGNAL('refresh_namespace_browser()'))
             elif command == 'remote_view':
                 self.sig_process_remote_view.emit(data)
             elif command == 'ipykernel':
                 self.emit(SIGNAL('new_ipython_kernel(QString)'), data)
             elif command == 'open_file':
                 fname, lineno = data
                 self.emit(SIGNAL('open_file(QString,int)'), fname, lineno)
             else:
                 raise RuntimeError('Unsupported command: %r' % command)
             if DEBUG_INTROSPECTION:
                 logging.debug("received command: %r" % command)
         except:
             log_last_error(LOG_FILENAME, "notification thread")
         finally:
             try:
                 write_packet(self.notify_socket, output)
             except:
                 # The only reason why it should fail is that Spyder is 
                 # closing while this thread is still alive
                 break
开发者ID:arvindchari88,项目名称:newGitTest,代码行数:51,代码来源:introspection.py


示例9: get_completions

    def get_completions(self, info):
        """Get a list of (completion, type) tuples using Rope"""
        if self.project is None:
            return []
        filename = info['filename']
        source_code = info['source_code']
        offset = info['position']

        # Prevent Rope from returning import completions because
        # it can't handle them. Only Jedi can do it!
        lines = sourcecode.split_source(source_code[:offset])
        last_line = lines[-1].lstrip()
        if (last_line.startswith('import ') or last_line.startswith('from ')) \
          and not ';' in last_line:
            return []

        if PY2:
            filename = filename.encode('utf-8')
        else:
            #TODO: test if this is working without any further change in
            # Python 3 with a user account containing unicode characters
            pass
        try:
            resource = rope.base.libutils.path_to_resource(self.project,
                                                           filename)
        except Exception as _error:
            if DEBUG_EDITOR:
                log_last_error(LOG_FILENAME, "path_to_resource: %r" % filename)
            resource = None
        try:
            if DEBUG_EDITOR:
                t0 = time.time()
            proposals = rope.contrib.codeassist.code_assist(self.project,
                                    source_code, offset, resource, maxfixes=3)
            proposals = rope.contrib.codeassist.sorted_proposals(proposals)
            if DEBUG_EDITOR:
                log_dt(LOG_FILENAME, "code_assist/sorted_proposals", t0)
            return [(proposal.name, proposal.type) for proposal in proposals]
        except Exception as _error:  #analysis:ignore
            if DEBUG_EDITOR:
                log_last_error(LOG_FILENAME, "get_completion_list")
        return []
开发者ID:AminJamalzadeh,项目名称:spyder,代码行数:42,代码来源:rope_plugin.py


示例10: load_plugins

 def load_plugins(self):
     """Get and load a plugin, checking in order of PLUGINS"""
     plugins = OrderedDict()
     for plugin_name in PLUGINS:
         mod_name = plugin_name + "_plugin"
         try:
             mod = __import__("spyderlib.utils.introspection." + mod_name, fromlist=[mod_name])
             cls = getattr(mod, "%sPlugin" % plugin_name.capitalize())
             plugin = cls()
             plugin.load_plugin()
         except Exception as e:
             debug_print(e)
             if DEBUG_EDITOR:
                 log_last_error(LOG_FILENAME)
         else:
             plugins[plugin_name] = plugin
             debug_print("Instropection Plugin Loaded: %s" % plugin.name)
     self.plugins = plugins
     debug_print("Plugins loaded: %s" % self.plugins.keys())
     return plugins
开发者ID:rachelqhuang,项目名称:spyder,代码行数:20,代码来源:plugin_manager.py


示例11: get_plugin

def get_plugin(editor_widget):
    """Get and load a plugin, checking in order of PLUGINS"""
    plugin = None
    for plugin_name in PLUGINS:
        mod_name = plugin_name + '_plugin'
        try:
            mod = __import__('spyderlib.utils.introspection.' + mod_name,
                             fromlist=[mod_name])
            cls = getattr(mod, '%sPlugin' % plugin_name.capitalize())
            plugin = cls()
            plugin.load_plugin()
        except Exception:
            if DEBUG_EDITOR:
                log_last_error(LOG_FILENAME)
        else:
            break
    if not plugin:
        plugin = IntrospectionPlugin()
    debug_print('Instropection Plugin Loaded: %s' % plugin.name)
    plugin.editor_widget = editor_widget
    return plugin
开发者ID:jromang,项目名称:spyderlib,代码行数:21,代码来源:base.py


示例12: get_info

    def get_info(self, info):
        """Get a formatted calltip and docstring from Rope"""
        if self.project is None:
            return
        filename = info.filename
        source_code = info.source_code
        offset = info.position

        if PY2:
            filename = filename.encode('utf-8')
        else:
            #TODO: test if this is working without any further change in
            # Python 3 with a user account containing unicode characters
            pass
        try:
            resource = rope.base.libutils.path_to_resource(self.project,
                                                           filename)
        except Exception as _error:
            if DEBUG_EDITOR:
                log_last_error(LOG_FILENAME, "path_to_resource: %r" % filename)
            resource = None
        try:
            if DEBUG_EDITOR:
                t0 = time.time()
            cts = rope.contrib.codeassist.get_calltip(
                            self.project, source_code, offset, resource,
                            ignore_unknown=False, remove_self=True, maxfixes=3)
            if DEBUG_EDITOR:
                log_dt(LOG_FILENAME, "get_calltip", t0)
            if cts is not None:
                while '..' in cts:
                    cts = cts.replace('..', '.')
                if '(.)' in cts:
                    cts = cts.replace('(.)', '(...)')
            try:
                doc_text = rope.contrib.codeassist.get_doc(self.project,
                                     source_code, offset, resource, maxfixes=3)
                if DEBUG_EDITOR:
                    log_dt(LOG_FILENAME, "get_doc", t0)
            except Exception as _error:
                doc_text = ''
                if DEBUG_EDITOR:
                    log_last_error(LOG_FILENAME, "get_doc")
            return self.handle_info(cts, doc_text, source_code, offset)
        except Exception as _error:  #analysis:ignore
            if DEBUG_EDITOR:
                log_last_error(LOG_FILENAME, "get_calltip_text")
开发者ID:gyenney,项目名称:Tools,代码行数:47,代码来源:rope_plugin.py


示例13: run

    def run(self):
        self.ipython_shell = None
        while True:
            output = pickle.dumps(None, PICKLE_HIGHEST_PROTOCOL)
            glbs = self.mglobals()
            try:
                if DEBUG_MONITOR:
                    logging.debug("****** Introspection request /Begin ******")
                command = PACKET_NOT_RECEIVED
                try:
                    timeout = self.timeout if self.auto_refresh else None
                    command = read_packet(self.i_request, timeout=timeout)
                    if command is None:
                        continue
                    timed_out = False
                except socket.timeout:
                    timed_out = True
                except struct.error:
                    # This should mean that Spyder GUI has crashed
                    if DEBUG_MONITOR:
                        logging.debug("struct.error -> quitting monitor")
                    break
                if timed_out:
                    if DEBUG_MONITOR:
                        logging.debug("connection timed out -> updating remote view")
                    self.update_remote_view()
                    if DEBUG_MONITOR:
                        logging.debug("****** Introspection request /End ******")
                    continue
                if DEBUG_MONITOR:
                    logging.debug("command: %r" % command)
                lcls = self.mlocals()
                result = eval(command, glbs, lcls)
                if DEBUG_MONITOR:
                    logging.debug(" result: %r" % result)
                if self.pdb_obj is None:
                    lcls["_"] = result
                # old com implementation: (see solution (1) in Issue 434)
                output = pickle.dumps(result, PICKLE_HIGHEST_PROTOCOL)
            #                # new com implementation: (see solution (2) in Issue 434)
            #                output = pickle.dumps((command, result),
            #                                      PICKLE_HIGHEST_PROTOCOL)
            except SystemExit:
                break
            except:
                if DEBUG_MONITOR:
                    logging.debug("error!")
                log_last_error(LOG_FILENAME, command)
            finally:
                try:
                    if DEBUG_MONITOR:
                        logging.debug("updating remote view")
                    if self.refresh_after_eval:
                        self.update_remote_view()
                        self.refresh_after_eval = False
                    if DEBUG_MONITOR:
                        logging.debug("sending result")
                        logging.debug("****** Introspection request /End ******")
                    if command is not PACKET_NOT_RECEIVED:
                        if write_packet is None:
                            # This may happen during interpreter shutdown
                            break
                        else:
                            write_packet(self.i_request, output, already_pickled=True)
                except AttributeError as error:
                    if "'NoneType' object has no attribute" in str(error):
                        # This may happen during interpreter shutdown
                        break
                    else:
                        raise
                except TypeError as error:
                    if "'NoneType' object is not subscriptable" in str(error):
                        # This may happen during interpreter shutdown
                        break
                    else:
                        raise

        self.i_request.close()
        self.n_request.close()
开发者ID:ChunHungLiu,项目名称:spyder,代码行数:79,代码来源:monitor.py


示例14: run

    def run(self):
        #print('run')
        """Start notification thread"""
        while True:
            #print('SBNWNotificationThread while True')

            # add layout signal if it doesn't already exist
            #if not hasattr(self, 'layout'):

            if self.notify_socket is None:
                continue
            output = None
            try:
                try:
                    cdict = read_packet(self.notify_socket)
                except:
                    # This except statement is intended to handle a struct.error
                    # (but when writing 'except struct.error', it doesn't work)
                    # Note: struct.error is raised when the communication has
                    # been interrupted and the received data is not a string
                    # of length 8 as required by struct.unpack (see read_packet)
                    break
                if cdict is None:
                    # Another notification thread has just terminated and
                    # then wrote 'None' in the notification socket
                    # (see the 'finally' statement below)
                    continue
                if not isinstance(cdict, dict):
                    raise TypeError("Invalid data type: %r" % cdict)
                command = cdict['command']
                data = cdict.get('data')
                if command == 'pdb_step':
                    fname, lineno = data
                    self.sig_pdb.emit(fname, lineno)
                    self.refresh_namespace_browser.emit()
                elif command == 'refresh':
                    self.refresh_namespace_browser.emit()
                elif command == 'remote_view':
                    self.sig_process_remote_view.emit(data)
                elif command == 'ipykernel':
                    self.new_ipython_kernel.emit(data)
                elif command == 'open_file':
                    fname, lineno = data
                    self.open_file.emit(fname, lineno)
                elif command == 'layout':
                    print('SBNWNotificationThread layout')
                    sbml = data
                    if sbml != '~::empty::~':
                      print('SBNWNotificationThread emit layout signal')
                      self.layout.emit(sbml)
                    else:
                      print('SBNWNotificationThread get sbml')
                      if hasattr(self, 'network_viewer_sbml_hook'):
                        output = self.network_viewer_sbml_hook()
                        print('output = {}'.format(output))
                      else:
                        print('no attr network_viewer_sbml_hook')
                else:
                    raise RuntimeError('Unsupported command: %r' % command)
                if DEBUG_INTROSPECTION:
                    logging.debug("received command: %r" % command)
            except:
                log_last_error(LOG_FILENAME, "notification thread")
            finally:
                try:
                    write_packet(self.notify_socket, output)
                except:
                    # The only reason why it should fail is that Spyder is
                    # closing while this thread is still alive
                    break
开发者ID:hsauro,项目名称:sbnw,代码行数:70,代码来源:p_pyfab.py



注:本文中的spyderlib.utils.debug.log_last_error函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python encoding.to_unicode_from_fs函数代码示例发布时间:2022-05-27
下一篇:
Python bsdsocket.read_packet函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap