1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
From: Morgen Sagen <sagen@apple.com>
Date: Mon, 4 Jan 2010 20:26:58 +0100
Subject: Deepcopy params
---
vobject/base.py | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/vobject/base.py b/vobject/base.py
index b56c36a..40baf1e 100644
--- a/vobject/base.py
+++ b/vobject/base.py
@@ -284,6 +284,8 @@ class ContentLine(VBase):
self.value = copy.copy(copyit.value)
self.encoded = self.encoded
self.params = copy.copy(copyit.params)
+ for k,v in self.params.items():
+ self.params[k] = copy.copy(v)
self.singletonparams = copy.copy(copyit.singletonparams)
self.lineNumber = copyit.lineNumber
@@ -627,16 +629,16 @@ class Component(VBase):
print
class VObjectError(Exception):
- def __init__(self, message, lineNumber=None):
- self.message = message
+ def __init__(self, msg, lineNumber=None):
+ self.msg = msg
if lineNumber is not None:
self.lineNumber = lineNumber
def __str__(self):
if hasattr(self, 'lineNumber'):
return "At line %s: %s" % \
- (self.lineNumber, self.message)
+ (self.lineNumber, self.msg)
else:
- return repr(self.message)
+ return repr(self.msg)
class ParseError(VObjectError):
pass
@@ -953,7 +955,9 @@ def defaultSerialize(obj, buf, lineLength):
if obj.group is not None:
s.write(obj.group + '.')
s.write(obj.name.upper())
- for key, paramvals in obj.params.iteritems():
+ keys = sorted(obj.params.iterkeys())
+ for key in keys:
+ paramvals = obj.params[key]
s.write(';' + key + '=' + ','.join(dquoteEscape(p) for p in paramvals))
s.write(':' + obj.value)
if obj.behavior and not startedEncoded: obj.behavior.decode(obj)
--
|