mirror of
https://github.com/davidhalter/parso.git
synced 2025-12-08 05:34:51 +08:00
Don't use the root logger
The root logger should not be used in parso. Use custom loggers for each module. Fixes #9.
This commit is contained in:
@@ -11,6 +11,8 @@ import logging
|
|||||||
|
|
||||||
from parso._compatibility import FileNotFoundError
|
from parso._compatibility import FileNotFoundError
|
||||||
|
|
||||||
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
_PICKLE_VERSION = 30
|
_PICKLE_VERSION = 30
|
||||||
"""
|
"""
|
||||||
@@ -111,7 +113,7 @@ def _load_from_file_system(hashed_grammar, path, p_time, cache_path=None):
|
|||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
parser_cache.setdefault(hashed_grammar, {})[path] = module_cache_item
|
parser_cache.setdefault(hashed_grammar, {})[path] = module_cache_item
|
||||||
logging.debug('pickle loaded: %s', path)
|
LOG.debug('pickle loaded: %s', path)
|
||||||
return module_cache_item.node
|
return module_cache_item.node
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ from parso.python.tree import EndMarker
|
|||||||
from parso.python.tokenize import (NEWLINE, PythonToken, ERROR_DEDENT,
|
from parso.python.tokenize import (NEWLINE, PythonToken, ERROR_DEDENT,
|
||||||
ENDMARKER, INDENT, DEDENT)
|
ENDMARKER, INDENT, DEDENT)
|
||||||
|
|
||||||
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def _get_last_line(node_or_leaf):
|
def _get_last_line(node_or_leaf):
|
||||||
last_leaf = node_or_leaf.get_last_leaf()
|
last_leaf = node_or_leaf.get_last_leaf()
|
||||||
@@ -116,7 +118,7 @@ class DiffParser(object):
|
|||||||
|
|
||||||
Returns the new module node.
|
Returns the new module node.
|
||||||
'''
|
'''
|
||||||
logging.debug('diff parser start')
|
LOG.debug('diff parser start')
|
||||||
# Reset the used names cache so they get regenerated.
|
# Reset the used names cache so they get regenerated.
|
||||||
self._module._used_names = None
|
self._module._used_names = None
|
||||||
|
|
||||||
@@ -127,11 +129,11 @@ class DiffParser(object):
|
|||||||
line_length = len(new_lines)
|
line_length = len(new_lines)
|
||||||
sm = difflib.SequenceMatcher(None, old_lines, self._parser_lines_new)
|
sm = difflib.SequenceMatcher(None, old_lines, self._parser_lines_new)
|
||||||
opcodes = sm.get_opcodes()
|
opcodes = sm.get_opcodes()
|
||||||
logging.debug('diff parser calculated')
|
LOG.debug('diff parser calculated')
|
||||||
logging.debug('diff: line_lengths old: %s, new: %s' % (len(old_lines), line_length))
|
LOG.debug('diff: line_lengths old: %s, new: %s' % (len(old_lines), line_length))
|
||||||
|
|
||||||
for operation, i1, i2, j1, j2 in opcodes:
|
for operation, i1, i2, j1, j2 in opcodes:
|
||||||
logging.debug('diff %s old[%s:%s] new[%s:%s]',
|
LOG.debug('diff %s old[%s:%s] new[%s:%s]',
|
||||||
operation, i1 + 1, i2, j1 + 1, j2)
|
operation, i1 + 1, i2, j1 + 1, j2)
|
||||||
|
|
||||||
if j2 == line_length and new_lines[-1] == '':
|
if j2 == line_length and new_lines[-1] == '':
|
||||||
@@ -161,12 +163,12 @@ class DiffParser(object):
|
|||||||
% (last_pos, line_length, ''.join(diff))
|
% (last_pos, line_length, ''.join(diff))
|
||||||
)
|
)
|
||||||
|
|
||||||
logging.debug('diff parser end')
|
LOG.debug('diff parser end')
|
||||||
return self._module
|
return self._module
|
||||||
|
|
||||||
def _enabled_debugging(self, old_lines, lines_new):
|
def _enabled_debugging(self, old_lines, lines_new):
|
||||||
if self._module.get_code() != ''.join(lines_new):
|
if self._module.get_code() != ''.join(lines_new):
|
||||||
logging.warning('parser issue:\n%s\n%s', ''.join(old_lines),
|
LOG.warning('parser issue:\n%s\n%s', ''.join(old_lines),
|
||||||
''.join(lines_new))
|
''.join(lines_new))
|
||||||
|
|
||||||
def _copy_from_old_parser(self, line_offset, until_line_old, until_line_new):
|
def _copy_from_old_parser(self, line_offset, until_line_old, until_line_new):
|
||||||
@@ -203,7 +205,7 @@ class DiffParser(object):
|
|||||||
from_ = copied_nodes[0].get_start_pos_of_prefix()[0] + line_offset
|
from_ = copied_nodes[0].get_start_pos_of_prefix()[0] + line_offset
|
||||||
to = self._nodes_stack.parsed_until_line
|
to = self._nodes_stack.parsed_until_line
|
||||||
|
|
||||||
logging.debug('diff actually copy %s to %s', from_, to)
|
LOG.debug('diff actually copy %s to %s', from_, to)
|
||||||
# Since there are potential bugs that might loop here endlessly, we
|
# Since there are potential bugs that might loop here endlessly, we
|
||||||
# just stop here.
|
# just stop here.
|
||||||
assert last_until_line != self._nodes_stack.parsed_until_line \
|
assert last_until_line != self._nodes_stack.parsed_until_line \
|
||||||
@@ -248,7 +250,7 @@ class DiffParser(object):
|
|||||||
nodes = node.children
|
nodes = node.children
|
||||||
|
|
||||||
self._nodes_stack.add_parsed_nodes(nodes)
|
self._nodes_stack.add_parsed_nodes(nodes)
|
||||||
logging.debug(
|
LOG.debug(
|
||||||
'parse_part from %s to %s (to %s in part parser)',
|
'parse_part from %s to %s (to %s in part parser)',
|
||||||
nodes[0].get_start_pos_of_prefix()[0],
|
nodes[0].get_start_pos_of_prefix()[0],
|
||||||
self._nodes_stack.parsed_until_line,
|
self._nodes_stack.parsed_until_line,
|
||||||
|
|||||||
Reference in New Issue
Block a user