pyulib: ajouter l'argument nocopy=False à seqof() pour éviter des bugs subtils
This commit is contained in:
parent
11b87fdfd1
commit
27a2ab0c01
|
@ -249,13 +249,17 @@ def isseq(t):
|
|||
"""Tester si t est une séquence (list ou tuple)
|
||||
"""
|
||||
return isinstance(t, list) or isinstance(t, tuple)
|
||||
def seqof(seq, seq_if_None=None):
|
||||
def seqof(seq, seq_if_None=None, nocopy=False):
|
||||
"""Retourner une séquence.
|
||||
Si seq est une séquence, retourner l'objet lui-même.
|
||||
Si seq est une séquence, retourner une copie de l'objet si nocopy==False,
|
||||
sinon l'objet lui-même.
|
||||
Si seq==None et que seq_if_None!=None, retourner seq_if_None.
|
||||
Sinon, retourner une liste ayant un seul élément, seq.
|
||||
|
||||
"""
|
||||
if isseq(seq): return seq
|
||||
if isseq(seq):
|
||||
if nocopy: return seq
|
||||
else: return seq[:]
|
||||
elif seq is None and seq_if_None is not None:
|
||||
if not isseq(seq_if_None): seq_if_None = [seq_if_None]
|
||||
return seq_if_None
|
||||
|
|
Loading…
Reference in New Issue