summaryrefslogtreecommitdiff
path: root/debian/patches/0002-Deepcopy-params.patch
blob: 1e2269e9851bb4d6d34397da183ceb7de4098f17 (plain)
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)
--