Code Duplication    Length = 12-15 lines in 2 locations

bika/lims/content/arimport.py 2 locations

@@ 837-851 (lines=15) @@
834
        if field.type == 'boolean':
835
            value = str(value).strip().lower()
836
            return value
837
        if field.type == 'reference':
838
            value = str(value).strip()
839
            if field.required and not value:
840
                raise ValueError("Row %s: %s field requires a value" % (
841
                    row_nr, fieldname))
842
            if not value:
843
                return value
844
            brains = self.lookup(field.allowed_types, UID=value)
845
            if not brains:
846
                raise ValueError("Row %s: value is invalid (%s=%s)" % (
847
                    row_nr, fieldname, value))
848
            if field.multiValued:
849
                return [b.UID for b in brains] if brains else []
850
            else:
851
                return brains[0].UID if brains else None
852
        if field.type == 'datetime':
853
            try:
854
                ulocalized_time(DateTime(value), long_format=True,
@@ 690-701 (lines=12) @@
687
            value = str(value).strip().lower()
688
            value = '' if value in ['0', 'no', 'false', 'none'] else '1'
689
            return value
690
        if field.type == 'reference':
691
            value = str(value).strip()
692
            brains = self.lookup(field.allowed_types, Title=value)
693
            if not brains:
694
                brains = self.lookup(field.allowed_types, UID=value)
695
            if not brains:
696
                raise ValueError('Row %s: value is invalid (%s=%s)' % (
697
                    row_nr, fieldname, value))
698
            if field.multiValued:
699
                return [b.UID for b in brains] if brains else []
700
            else:
701
                return brains[0].UID if brains else None
702
        if field.type == 'datetime':
703
            try:
704
                value = DateTime(value)