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 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. """Sets the specified message's labels to the given set.
Note that this function does not check against dryrun settings, Note that this function does not check against dryrun settings,
so you need to ensure that it is never called in a so you need to ensure that it is never called in a
dryrun mode.""" dryrun mode."""
if ignorelabels is None:
ignorelabels = set()
raise NotImplementedError raise NotImplementedError
def addmessagelabels(self, uid, labels): def addmessagelabels(self, uid, labels):

View File

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

View File

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

View File

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

View File

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