diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2014-11-23 08:26:33 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2014-11-23 08:26:33 -0500 |
commit | 710fd179624b4e4fd379d53a4315a82aa07dc3a5 (patch) | |
tree | 73c4e4715e39d00efc51de031fb5072b3d08ce92 | |
parent | d393726ea5ce2879e39d8adfede2f47d4477fd69 (diff) | |
download | python-coveragepy-git-710fd179624b4e4fd379d53a4315a82aa07dc3a5.tar.gz |
Remove Django hackery
-rw-r--r-- | coverage/codeunit.py | 59 | ||||
-rw-r--r-- | coverage/django.py | 61 |
2 files changed, 0 insertions, 120 deletions
diff --git a/coverage/codeunit.py b/coverage/codeunit.py index da617913..207383e0 100644 --- a/coverage/codeunit.py +++ b/coverage/codeunit.py @@ -243,62 +243,3 @@ class PythonCodeUnit(CodeUnit): def source_encoding(self): return source_encoding(self.source()) - - -class MakoParser(CodeParser): - def __init__(self, metadata): - self.metadata = metadata - - def parse_source(self): - """Returns executable_line_numbers, excluded_line_numbers""" - executable = set(self.metadata['line_map'].values()) - return executable, set() - - def translate_lines(self, lines): - tlines = set() - for l in lines: - try: - tlines.add(self.metadata['full_line_map'][l]) - except IndexError: - pass - return tlines - - -class MakoCodeUnit(CodeUnit): - def __init__(self, *args, **kwargs): - super(MakoCodeUnit, self).__init__(*args, **kwargs) - from mako.template import ModuleInfo - py_source = open(self.filename).read() - self.metadata = ModuleInfo.get_module_source_metadata(py_source, full_line_map=True) - - def get_source(self): - return open(self.metadata['filename']).read() - - def get_parser(self, exclude=None): - return MakoParser(self.metadata) - - def source_encoding(self): - return self.metadata['source_encoding'] - - -class DjangoCodeUnit(CodeUnit): - def get_source(self): - with open(self.filename) as f: - return f.read() - - def get_parser(self, exclude=None): - return DjangoParser(self.filename) - - def source_encoding(self): - return "utf8" - - -class DjangoParser(CodeParser): - def __init__(self, filename): - self.filename = filename - - def parse_source(self): - with open(self.filename) as f: - source = f.read() - executable = set(range(1, len(source.splitlines())+1)) - return executable, set() diff --git a/coverage/django.py b/coverage/django.py deleted file mode 100644 index 00f2ed54..00000000 --- a/coverage/django.py +++ /dev/null @@ -1,61 +0,0 @@ -import sys - - -ALL_TEMPLATE_MAP = {} - -def get_line_map(filename): - if filename not in ALL_TEMPLATE_MAP: - with open(filename) as template_file: - template_source = template_file.read() - line_lengths = [len(l) for l in template_source.splitlines(True)] - ALL_TEMPLATE_MAP[filename] = list(running_sum(line_lengths)) - return ALL_TEMPLATE_MAP[filename] - -def get_line_number(line_map, offset): - for lineno, line_offset in enumerate(line_map, start=1): - if line_offset >= offset: - return lineno - return -1 - -class DjangoTracer(object): - def should_trace(self, canonical): - return "/django/template/" in canonical - - def source(self, frame): - if frame.f_code.co_name != 'render': - return None - that = frame.f_locals['self'] - return getattr(that, "source", None) - - def file_name(self, frame): - source = self.source(frame) - if not source: - return None - return source[0].name.encode(sys.getfilesystemencoding()) - - def line_number_range(self, frame): - source = self.source(frame) - if not source: - return -1, -1 - filename = source[0].name - line_map = get_line_map(filename) - start = get_line_number(line_map, source[1][0]) - end = get_line_number(line_map, source[1][1]) - if start < 0 or end < 0: - return -1, -1 - return start, end - -def running_sum(seq): - total = 0 - for num in seq: - total += num - yield total - -def ppp(obj): - ret = [] - import inspect - for name, value in inspect.getmembers(obj): - if not callable(value): - ret.append("%s=%r" % (name, value)) - attrs = ", ".join(ret) - return "%s: %s" % (obj.__class__, attrs) |