Code Duplication    Length = 15-16 lines in 2 locations

processors/api.py 2 locations

@@ 456-471 (lines=16) @@
453
        self.url = url
454
455
    def to_JSON_dict(self):
456
        jdict = dict()
457
        jdict["text"] = self.text
458
        jdict["url"] = self.url
459
        return jdict
460
461
    def to_JSON(self):
462
        return json.dumps(self.to_JSON_dict(), sort_keys=True, indent=4)
463
464
class DocumentWithRules(object):
465
466
    def __init__(self, document, rules):
467
        # TODO: throw exception if isinstance(document, Document) is False
468
        self.document = document
469
        self.rules = rules
470
471
    def to_JSON_dict(self):
472
        jdict = dict()
473
        jdict["document"] = self.document.to_JSON_dict()
474
        jdict["rules"] = self.rules
@@ 440-454 (lines=15) @@
437
        self.rules = rules
438
439
    def to_JSON_dict(self):
440
        jdict = dict()
441
        jdict["text"] = self.text
442
        jdict["rules"] = self.rules
443
        return jdict
444
445
    def to_JSON(self):
446
        return json.dumps(self.to_JSON_dict(), sort_keys=True, indent=4)
447
448
class TextWithURL(object):
449
450
    def __init__(self, text, url):
451
        self.text = text
452
        # TODO: throw exception if url is invalid
453
        self.url = url
454
455
    def to_JSON_dict(self):
456
        jdict = dict()
457
        jdict["text"] = self.text