Removed mutable arguments

This patch remves the set() mutable argument as default value,
sets the default value to None and check if the argument is none
in the code to call set().
This commit is contained in:
Rodolfo García Peñas (kix) 2020-10-10 15:00:34 +02:00
parent fb909671c8
commit 7ff65be690
5 changed files with 20 additions and 5 deletions

View File

@ -524,13 +524,16 @@ class BaseFolder:
raise NotImplementedError
def savemessagelabels(self, uid, labels, ignorelabels=set(), mtime=0):
def savemessagelabels(self, uid, labels, ignorelabels=None, mtime=0):
"""Sets the specified message's labels to the given set.
Note that this function does not check against dryrun settings,
so you need to ensure that it is never called in a
dryrun mode."""
if ignorelabels is None:
ignorelabels = set()
raise NotImplementedError
def addmessagelabels(self, uid, labels):

View File

@ -133,12 +133,15 @@ class GmailMaildirFolder(MaildirFolder):
self.messagelist[uid]['labels'] = labels
return ret
def savemessagelabels(self, uid, labels, ignorelabels=set()):
def savemessagelabels(self, uid, labels, ignorelabels=None):
"""Change a message's labels to `labels`.
Note that this function does not check against dryrun settings,
so you need to ensure that it is never called in a dryrun mode."""
if ignorelabels is None:
ignorelabels = set()
filename = self.messagelist[uid]['filename']
filepath = os.path.join(self.getfullname(), filename)

View File

@ -190,13 +190,16 @@ class LocalStatusFolder(BaseFolder):
os.close(fd)
# Interface from BaseFolder
def savemessage(self, uid, content, flags, rtime, mtime=0, labels=set()):
def savemessage(self, uid, content, flags, rtime, mtime=0, labels=None):
"""Writes a new message, with the specified uid.
See folder/Base for detail. Note that savemessage() does not
check against dryrun settings, so you need to ensure that
savemessage is never called in a dryrun mode."""
if labels is None:
labels = set()
if uid < 0:
# We cannot assign a uid.
return uid

View File

@ -323,13 +323,16 @@ class LocalStatusSQLiteFolder(BaseFolder):
# assert False,"getmessageflags() called on non-existing message"
# Interface from BaseFolder
def savemessage(self, uid, content, flags, rtime, mtime=0, labels=set()):
def savemessage(self, uid, content, flags, rtime, mtime=0, labels=None):
"""Writes a new message, with the specified uid.
See folder/Base for detail. Note that savemessage() does not
check against dryrun settings, so you need to ensure that
savemessage is never called in a dryrun mode."""
if labels is None:
labels = set()
if uid < 0:
# We cannot assign a uid.
return uid

View File

@ -270,7 +270,7 @@ class MaildirFolder(BaseFolder):
filepath = os.path.join(self.getfullname(), filename)
return os.path.getmtime(filepath)
def new_message_filename(self, uid, flags=set(), date=None):
def new_message_filename(self, uid, flags=None, date=None):
"""Creates a new unique Maildir filename
:param uid: The UID`None`, or a set of maildir flags
@ -278,6 +278,9 @@ class MaildirFolder(BaseFolder):
:param flags: (optional) Date
:returns: String containing unique message filename"""
if flags is None:
flags = set()
timeval, timeseq = _gettimeseq(date)
uniq_name = '%d_%d.%d.%s,U=%d,FMD5=%s%s2,%s' % \
(timeval, timeseq, os.getpid(), socket.gethostname(),