Makes a value out of iterable if it is a list or tuple itself >>> unArrayizeValue(['1']) '1' >>> unArrayizeValue('1') '1' >>> unArrayizeValue(['1', '2']) '1' >>> unArrayizeValue([['a', 'b'], 'c']) 'a' >>> unArrayizeValue(_ for _ in xrange(10)) 0
(value)
| 3664 | return value |
| 3665 | |
| 3666 | def unArrayizeValue(value): |
| 3667 | """ |
| 3668 | Makes a value out of iterable if it is a list or tuple itself |
| 3669 | |
| 3670 | >>> unArrayizeValue(['1']) |
| 3671 | '1' |
| 3672 | >>> unArrayizeValue('1') |
| 3673 | '1' |
| 3674 | >>> unArrayizeValue(['1', '2']) |
| 3675 | '1' |
| 3676 | >>> unArrayizeValue([['a', 'b'], 'c']) |
| 3677 | 'a' |
| 3678 | >>> unArrayizeValue(_ for _ in xrange(10)) |
| 3679 | 0 |
| 3680 | """ |
| 3681 | |
| 3682 | if isListLike(value): |
| 3683 | if not value: |
| 3684 | value = None |
| 3685 | elif len(value) == 1 and not isListLike(value[0]): |
| 3686 | value = value[0] |
| 3687 | else: |
| 3688 | value = [_ for _ in flattenValue(value) if _ is not None] |
| 3689 | value = value[0] if len(value) > 0 else None |
| 3690 | elif inspect.isgenerator(value): |
| 3691 | value = unArrayizeValue([_ for _ in value]) |
| 3692 | |
| 3693 | return value |
| 3694 | |
| 3695 | def flattenValue(value): |
| 3696 | """ |
no test coverage detected
searching dependent graphs…