def _on_results_available(self, results): if results: results = [Definition.from_dict(ddict) for ddict in results] self._results = results if self._results is not None: _logger().log(5, "Document structure changed") self.document_changed.emit()
def _on_results_available(self, results): if results: results = [Definition.from_dict(ddict) for ddict in results] self._results = results if self._results is not None: _logger().debug("Document structure changed") self.document_changed.emit()
def test_defined_names(): filename = __file__ with open(filename, 'r', encoding='utf-8') as file: code = file.read() results = workers.defined_names({'code': code, 'path': filename}) assert len(results) definitions = [] for i, definition in enumerate(results): d = Definition.from_dict(definition) definitions.append(d) if i: assert d != definitions[i-1] # now that the code changed, defined_names should return # (True, [xxx, yyy, ...]) code += "\ndef foo():\n print('bar')" results = workers.defined_names({'code': code, 'path': filename}) assert len(results)
def parse(path): if path.endswith('_rc.py'): return [] try: encoding = Cache().get_file_encoding(path) except KeyError: encoding = locale.getpreferredencoding() try: with open(path, encoding=encoding) as f: code = f.read() except (UnicodeDecodeError, OSError): try: with open(path, encoding='utf-8') as f: code = f.read() except (UnicodeDecodeError, OSError): # could not deduce encoding return [] request_data = { 'path': path, 'code': code } results = defined_names(request_data) return [Definition.from_dict(ddict) for ddict in results]