[PATCH 3/6] imaputil.py: avoid to redefine "string"
Nicolas Sebrecht
nicolas.s-dev at laposte.net
Thu Jan 8 23:03:18 GMT 2015
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev at laposte.net>
---
offlineimap/imaputil.py | 98 ++++++++++++++++++++++++-------------------------
1 file changed, 49 insertions(+), 49 deletions(-)
diff --git a/offlineimap/imaputil.py b/offlineimap/imaputil.py
index 24fcfea..9623589 100644
--- a/offlineimap/imaputil.py
+++ b/offlineimap/imaputil.py
@@ -32,29 +32,29 @@ def __debug(*args):
msg.append(str(arg))
getglobalui().debug('imap', " ".join(msg))
-def dequote(string):
+def dequote(s):
"""Takes string which may or may not be quoted and unquotes it.
It only considers double quotes. This function does NOT consider
parenthised lists to be quoted."""
- if string and string.startswith('"') and string.endswith('"'):
- string = string[1:-1] # Strip off the surrounding quotes.
- string = string.replace('\\"', '"')
- string = string.replace('\\\\', '\\')
- return string
+ if s and s.startswith('"') and s.endswith('"'):
+ s = s[1:-1] # Strip off the surrounding quotes.
+ s = s.replace('\\"', '"')
+ s = s.replace('\\\\', '\\')
+ return s
-def quote(string):
+def quote(s):
"""Takes an unquoted string and quotes it.
It only adds double quotes. This function does NOT consider
parenthised lists to be quoted."""
- string = string.replace('"', '\\"')
- string = string.replace('\\', '\\\\')
- return '"%s"' % string
+ s = s.replace('"', '\\"')
+ s = s.replace('\\', '\\\\')
+ return '"%s"'% s
-def flagsplit(string):
+def flagsplit(s):
"""Converts a string of IMAP flags to a list
:returns: E.g. '(\\Draft \\Deleted)' returns ['\\Draft','\\Deleted'].
@@ -62,9 +62,9 @@ def flagsplit(string):
['FLAGS,'(\\Seen Old)','UID', '4807']
"""
- if string[0] != '(' or string[-1] != ')':
- raise ValueError("Passed string '%s' is not a flag list" % string)
- return imapsplit(string[1:-1])
+ if s[0] != '(' or s[-1] != ')':
+ raise ValueError("Passed s '%s' is not a flag list"% s)
+ return imapsplit(s[1:-1])
def __options2hash(list):
"""convert list [1,2,3,4,5,6] to {1:2, 3:4, 5:6}"""
@@ -234,41 +234,41 @@ def uid_sequence(uidlist):
return ",".join(retval)
-def __split_quoted(string):
- """Looks for the ending quote character in the string that starts
- with quote character, splitting out quoted component and the
- rest of the string (without possible space between these two
- parts.
-
- First character of the string is taken to be quote character.
-
- Examples:
- - "this is \" a test" (\\None) => ("this is \" a test", (\\None))
- - "\\" => ("\\", )
- """
-
- if len(string) == 0:
- return ('', '')
-
- q = quoted = string[0]
- rest = string[1:]
- while True:
- next_q = rest.find(q)
- if next_q == -1:
- raise ValueError("can't find ending quote '%s' in '%s'" % (q, string))
- # If quote is preceeded by even number of backslashes,
- # then it is the ending quote, otherwise the quote
- # character is escaped by backslash, so we should
- # continue our search.
- is_escaped = False
- i = next_q - 1
- while i >= 0 and rest[i] == '\\':
- i -= 1
- is_escaped = not is_escaped
- quoted += rest[0:next_q + 1]
- rest = rest[next_q + 1:]
- if not is_escaped:
- return (quoted, rest.lstrip())
+def __split_quoted(s):
+ """Looks for the ending quote character in the string that starts
+ with quote character, splitting out quoted component and the
+ rest of the string (without possible space between these two
+ parts.
+
+ First character of the string is taken to be quote character.
+
+ Examples:
+ - "this is \" a test" (\\None) => ("this is \" a test", (\\None))
+ - "\\" => ("\\", )
+ """
+
+ if len(s) == 0:
+ return ('', '')
+
+ q = quoted = s[0]
+ rest = s[1:]
+ while True:
+ next_q = rest.find(q)
+ if next_q == -1:
+ raise ValueError("can't find ending quote '%s' in '%s'"% (q, s))
+ # If quote is preceeded by even number of backslashes,
+ # then it is the ending quote, otherwise the quote
+ # character is escaped by backslash, so we should
+ # continue our search.
+ is_escaped = False
+ i = next_q - 1
+ while i >= 0 and rest[i] == '\\':
+ i -= 1
+ is_escaped = not is_escaped
+ quoted += rest[0:next_q + 1]
+ rest = rest[next_q + 1:]
+ if not is_escaped:
+ return (quoted, rest.lstrip())
def format_labels_string(header, labels):
--
2.2.1
More information about the OfflineIMAP-project
mailing list