|
|
@ -3,11 +3,16 @@ from __future__ import unicode_literals |
|
|
|
# Erik Stein <code@classlibrary.net>, 2017 |
|
|
|
# Erik Stein <code@classlibrary.net>, 2017 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def firstof(iterable, default=None): |
|
|
|
def firstof(*args, default=None): |
|
|
|
""" |
|
|
|
""" |
|
|
|
Returns the first value which is neither empty nor None. |
|
|
|
Returns the first value which is neither empty nor None. |
|
|
|
|
|
|
|
|
|
|
|
""" |
|
|
|
""" |
|
|
|
|
|
|
|
if len(args) == 1: |
|
|
|
|
|
|
|
iterable = args[0] |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
iterable = args |
|
|
|
|
|
|
|
|
|
|
|
for value in iterable: |
|
|
|
for value in iterable: |
|
|
|
if value: |
|
|
|
if value: |
|
|
|
return value |
|
|
|
return value |
|
|
|