Code Duplication    Length = 32-32 lines in 2 locations

pythonx/mistune.py 1 location

@@ 336-367 (lines=32) @@
333
            'title': m.group(3),
334
        }
335
336
    def parse_def_footnotes(self, m):
337
        key = _keyify(m.group(1))
338
        if key in self.def_footnotes:
339
            # footnote is already defined
340
            return
341
342
        self.def_footnotes[key] = 0
343
344
        self.tokens.append({
345
            'type': 'footnote_start',
346
            'key': key,
347
        })
348
349
        text = m.group(2)
350
351
        if '\n' in text:
352
            lines = text.split('\n')
353
            whitespace = None
354
            for line in lines[1:]:
355
                space = len(line) - len(line.lstrip())
356
                if space and (not whitespace or space < whitespace):
357
                    whitespace = space
358
            newlines = [lines[0]]
359
            for line in lines[1:]:
360
                newlines.append(line[whitespace:])
361
            text = '\n'.join(newlines)
362
363
        self.parse(text, self.footnote_rules)
364
365
        self.tokens.append({
366
            'type': 'footnote_end',
367
            'key': key,
368
        })
369
370
    def parse_table(self, m):

pythonx/tests/markdown_parser.py 1 location

@@ 323-354 (lines=32) @@
320
            'title': m.group(3),
321
        }
322
323
    def parse_def_footnotes(self, m):
324
        key = _keyify(m.group(1))
325
        if key in self.def_footnotes:
326
            # footnote is already defined
327
            return
328
329
        self.def_footnotes[key] = 0
330
331
        self.tokens.append({
332
            'type': 'footnote_start',
333
            'key': key,
334
        })
335
336
        text = m.group(2)
337
338
        if '\n' in text:
339
            lines = text.split('\n')
340
            whitespace = None
341
            for line in lines[1:]:
342
                space = len(line) - len(line.lstrip())
343
                if space and (not whitespace or space < whitespace):
344
                    whitespace = space
345
            newlines = [lines[0]]
346
            for line in lines[1:]:
347
                newlines.append(line[whitespace:])
348
            text = '\n'.join(newlines)
349
350
        self.parse(text, self.footnote_rules)
351
352
        self.tokens.append({
353
            'type': 'footnote_end',
354
            'key': key,
355
        })
356
357
    def parse_table(self, m):