(frame)
| 367 | |
| 368 | |
| 369 | def _get_template_line(frame): |
| 370 | if IS_DJANGO19_OR_HIGHER: |
| 371 | node = frame.f_locals["self"] |
| 372 | if hasattr(node, "token") and hasattr(node.token, "lineno"): |
| 373 | return node.token.lineno |
| 374 | else: |
| 375 | return None |
| 376 | |
| 377 | source = _get_source_django_18_or_lower(frame) |
| 378 | original_filename = _get_template_original_file_name_from_frame(frame) |
| 379 | if original_filename is not None: |
| 380 | try: |
| 381 | absolute_filename = absolute_path(original_filename) |
| 382 | return _offset_to_line_number(_read_file(absolute_filename), source[1][0]) |
| 383 | except: |
| 384 | return None |
| 385 | return None |
| 386 | |
| 387 | |
| 388 | class DjangoTemplateFrame(object): |
no test coverage detected