Code Duplication    Length = 12-15 lines in 2 locations

bika/lims/content/arimport.py 2 locations

@@ 824-838 (lines=15) @@
821
        if field.type == 'boolean':
822
            value = str(value).strip().lower()
823
            return value
824
        if field.type == 'reference':
825
            value = str(value).strip()
826
            if field.required and not value:
827
                raise ValueError("Row %s: %s field requires a value" % (
828
                    row_nr, fieldname))
829
            if not value:
830
                return value
831
            brains = self.lookup(field.allowed_types, UID=value)
832
            if not brains:
833
                raise ValueError("Row %s: value is invalid (%s=%s)" % (
834
                    row_nr, fieldname, value))
835
            if field.multiValued:
836
                return [b.UID for b in brains] if brains else []
837
            else:
838
                return brains[0].UID if brains else None
839
        if field.type == 'datetime':
840
            try:
841
                ulocalized_time(DateTime(value), long_format=True,
@@ 677-688 (lines=12) @@
674
            value = str(value).strip().lower()
675
            value = '' if value in ['0', 'no', 'false', 'none'] else '1'
676
            return value
677
        if field.type == 'reference':
678
            value = str(value).strip()
679
            brains = self.lookup(field.allowed_types, Title=value)
680
            if not brains:
681
                brains = self.lookup(field.allowed_types, UID=value)
682
            if not brains:
683
                raise ValueError('Row %s: value is invalid (%s=%s)' % (
684
                    row_nr, fieldname, value))
685
            if field.multiValued:
686
                return [b.UID for b in brains] if brains else []
687
            else:
688
                return brains[0].UID if brains else None
689
        if field.type == 'datetime':
690
            try:
691
                value = DateTime(value)