summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bindings/python/ipod.py87
1 files changed, 81 insertions, 6 deletions
diff --git a/bindings/python/ipod.py b/bindings/python/ipod.py
index 053eda6..41aa8a1 100644
--- a/bindings/python/ipod.py
+++ b/bindings/python/ipod.py
@@ -451,13 +451,38 @@ class Track:
repr(self['title']),
repr(self['album']))
+ def __iter__(self):
+ for k in self.keys():
+ yield k
+
+ def has_key(self, key):
+ try:
+ value = self[key]
+ except KeyError:
+ return False
+ return True
+
+ def __contains__(self, key):
+ return self.has_key(key)
+
+ def iteritems(self):
+ for k in self:
+ yield (k, self[k])
+
+ def iterkeys(self):
+ return self.__iter__()
+
+ def itervalues(self):
+ for _, v in self.iteritems():
+ yield v
+
def keys(self):
return list(self._proxied_attributes)
- def items(self):
+ def values(self):
return [self[k] for k in self._proxied_attributes]
- def pairs(self):
+ def items(self):
return [(k, self[k]) for k in self._proxied_attributes]
def __getitem__(self, item):
@@ -934,13 +959,38 @@ class Photo:
self['digitized_date'].strftime("%c"),
repr(self['artwork_size']))
+ def __iter__(self):
+ for k in self.keys():
+ yield k
+
+ def has_key(self, key):
+ try:
+ value = self[key]
+ except KeyError:
+ return False
+ return True
+
+ def __contains__(self, key):
+ return self.has_key(key)
+
+ def iteritems(self):
+ for k in self:
+ yield (k, self[k])
+
+ def iterkeys(self):
+ return self.__iter__()
+
+ def itervalues(self):
+ for _, v in self.iteritems():
+ yield v
+
def keys(self):
return list(self._proxied_attributes)
- def items(self):
+ def values(self):
return [self[k] for k in self._proxied_attributes]
- def pairs(self):
+ def items(self):
return [(k, self[k]) for k in self._proxied_attributes]
def __getitem__(self, item):
@@ -996,13 +1046,38 @@ class Thumbnail:
self['width'],
self['height'])
+ def __iter__(self):
+ for k in self.keys():
+ yield k
+
+ def has_key(self, key):
+ try:
+ value = self[key]
+ except KeyError:
+ return False
+ return True
+
+ def __contains__(self, key):
+ return self.has_key(key)
+
+ def iteritems(self):
+ for k in self:
+ yield (k, self[k])
+
+ def iterkeys(self):
+ return self.__iter__()
+
+ def itervalues(self):
+ for _, v in self.iteritems():
+ yield v
+
def keys(self):
return list(self._proxied_attributes)
- def items(self):
+ def values(self):
return [self[k] for k in self._proxied_attributes]
- def pairs(self):
+ def items(self):
return [(k, self[k]) for k in self._proxied_attributes]
def __getitem__(self, item):