From 10263d6e6b14fb55bca63735f2508ee8e269526c Mon Sep 17 00:00:00 2001
From: Just van Rossum <just@letterror.com>
Date: Wed, 20 Nov 2002 20:47:55 +0000
Subject: - cleaned up example/test code - don't encode/escape elements - fixed
 typo in doc string - provide our own copy function for the Dict class

---
 Mac/Lib/plistlib.py | 59 +++++++++++++++++++++++++++--------------------------
 1 file changed, 30 insertions(+), 29 deletions(-)

diff --git a/Mac/Lib/plistlib.py b/Mac/Lib/plistlib.py
index c7ba0ad..a4a9f19 100644
--- a/Mac/Lib/plistlib.py
+++ b/Mac/Lib/plistlib.py
@@ -34,19 +34,19 @@ The <date> plist data has (limited) support through the Date class.
 Generate Plist example:
 
 	pl = Plist(
-			Foo="Doodah",
-			aList=["A", "B", 12, 32.1, [1, 2, 3]],
-			aFloat = 0.1,
-			anInt = 728,
-			aDict=Dict(
-				aString="<hello & hi there!>",
-				SomeUnicodeValue=u'M\xe4ssig, Ma\xdf',
-				someTrueValue=True,
-				someFalseValue=False,
-			),
-			someData = Data("hello there!"),
-			someMoreData = Data("hello there! " * 10),
-			aDate = Date(time.mktime(time.gmtime())),
+		aString="Doodah",
+		aList=["A", "B", 12, 32.1, [1, 2, 3]],
+		aFloat = 0.1,
+		anInt = 728,
+		aDict=Dict(
+			anotherString="<hello & hi there!>",
+			aUnicodeValue=u'M\xe4ssig, Ma\xdf',
+			aTrueValue=True,
+			aFalseValue=False,
+		),
+		someData = Data("<binary gunk>"),
+		someMoreData = Data("<lots of binary gunk>" * 10),
+		aDate = Date(time.mktime(time.gmtime())),
 	)
 	# unicode keys are possible, but a little awkward to use:
 	pl[u'\xc5benraa'] = "That was a unicode key."
@@ -78,7 +78,6 @@ class DumbXMLWriter:
 
 	def beginElement(self, element):
 		self.stack.append(element)
-		element = _encode(element)
 		self.writeln("<%s>" % element)
 		self.indentLevel += 1
 
@@ -90,7 +89,6 @@ class DumbXMLWriter:
 
 	def simpleElement(self, element, value=None):
 		if value:
-			element = _encode(element)
 			value = _encode(value)
 			self.writeln("<%s>%s</%s>" % (element, value, element))
 		else:
@@ -172,7 +170,7 @@ class PlistWriter(DumbXMLWriter):
 
 class Dict:
 
-	"""Dict wrapper for convenient acces of values through attributes."""
+	"""Dict wrapper for convenient access of values through attributes."""
 
 	def __init__(self, **args):
 		self.__dict__.update(args)
@@ -189,6 +187,9 @@ class Dict:
 		return "%s(**%s)" % (self.__class__.__name__, self.__dict__)
 	__repr__ = __str__
 
+	def copy(self):
+		return self.__class__(**self.__dict__)
+
 	def __getattr__(self, attr):
 		"""Delegate everything else to the dict object."""
 		return getattr(self.__dict__, attr)
@@ -400,19 +401,19 @@ if __name__ == "__main__":
 	import time
 	if len(sys.argv) == 1:
 		pl = Plist(
-				Foo="Doodah",
-				aList=["A", "B", 12, 32.1, [1, 2, 3]],
-				aFloat = 0.1,
-				anInt = 728,
-				aDict=Dict(
-					aString="<hello & hi there!>",
-					SomeUnicodeValue=u'M\xe4ssig, Ma\xdf',
-					someTrueValue=True,
-					someFalseValue=False,
-				),
-				someData = Data("hello there!"),
-				someMoreData = Data("hello there! " * 10),
-				aDate = Date(time.mktime(time.gmtime())),
+			aString="Doodah",
+			aList=["A", "B", 12, 32.1, [1, 2, 3]],
+			aFloat = 0.1,
+			anInt = 728,
+			aDict=Dict(
+				anotherString="<hello & hi there!>",
+				aUnicodeValue=u'M\xe4ssig, Ma\xdf',
+				aTrueValue=True,
+				aFalseValue=False,
+			),
+			someData = Data("<binary gunk>"),
+			someMoreData = Data("<lots of binary gunk>" * 10),
+			aDate = Date(time.mktime(time.gmtime())),
 		)
 	elif len(sys.argv) == 2:
 		pl = Plist.fromFile(sys.argv[1])
-- 
cgit v0.12

