diff options
Diffstat (limited to 'gsxws/parts.py')
-rw-r--r-- | gsxws/parts.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gsxws/parts.py b/gsxws/parts.py new file mode 100644 index 0000000..8240096 --- /dev/null +++ b/gsxws/parts.py @@ -0,0 +1,25 @@ +import urllib +import tempfile +from core import GsxObject, GsxError + + +class Part(GsxObject): + def lookup(self): + lookup = Lookup(**self.data) + return lookup.parts() + + def fetch_image(self): + """ + Tries the fetch the product image for this service part + """ + if self.partNumber is None: + raise GsxError("Cannot fetch part image without part number") + + image = '%s_350_350.gif' % self.partNumber + url = 'https://km.support.apple.com.edgekey.net/kb/imageService.jsp?image=%s' % image + tmpfile = tempfile.mkstemp(suffix=image) + + try: + return urllib.urlretrieve(url, tmpfile[1])[0] + except Exception, e: + raise GsxError('Failed to fetch part image: %s' % e) |