def create_scope(project, code, filename=None): source = cleantabs(code) lines = [] pos = 0 while True: pos = source.find('|', pos) if pos >= 0: lines.append(source.count('\n', 0, pos) + 1) pos += 1 else: break ast, _ = fix(source.replace('|', '')) scope = Scope(ast, '', None, 'module') scope.project = project scope.filename = filename if lines: result = [] for line in lines: result.extend([scope.get_scope_at(source, line), line]) return result else: return scope
def test_encoding_sanitization(): tree, source = fix(sanitize_encoding(u'# coding: utf-8\n\n\n"вау"')) assert source == u'# codang: utf-8\n\n\n"вау"'