aboutsummaryrefslogtreecommitdiffstats
path: root/products.py
diff options
context:
space:
mode:
Diffstat (limited to 'products.py')
-rw-r--r--products.py65
1 files changed, 0 insertions, 65 deletions
diff --git a/products.py b/products.py
deleted file mode 100644
index dc878f8..0000000
--- a/products.py
+++ /dev/null
@@ -1,65 +0,0 @@
-import sys
-import suds
-from gsxws import connect, GsxError
-from repairs import GsxObject
-from lookups import Lookup
-
-
-class GsxRequest(object):
- def submit(self, method, data, attr=None):
- "Submits the SOAP envelope"
- from gsxws import CLIENT, SESSION
- f = getattr(CLIENT.service, method)
-
- try:
- result = f(data)
- return getattr(result, attr) if attr else result
- except suds.WebFault, e:
- raise GsxError(fault=e)
-
-
-class Product(GsxObject, GsxRequest):
- "Something serviceable that Apple makes"
- serialNumber = ""
- alternateDeviceId = ""
- configDescription = ""
-
- def model(self):
- """
- Returns the model description of this Product
-
- >>> Product(serialNumber='DGKFL06JDHJP').model().configDescription
- iMac (27-inch, Mid 2011)
- """
- dt = self._make_type("ns3:fetchProductModelRequestType")
- dt.productModelRequest = self.data
- result = self.submit('FetchProductModel', dt, "productModelResponse")[0]
- self.configDescription = result.configDescription
- self.productLine = result.productLine
- self.configCode = result.configCode
- return result
-
- def warranty(self):
- """
- The Warranty Status API retrieves the same warranty details
- displayed on the GSX Coverage screen.
- If part information is provided, the part warranty information is returned.
- If you do not provide the optional part information in the
- warranty status request, the unit level warranty information is returned.
-
- >>> Product(serialNumber='DGKFL06JDHJP').warranty().warrantyStatus
- Out Of Warranty (No Coverage)
- """
- dt = self._make_type("ns3:warrantyStatusRequestType")
- dt.unitDetail = self.data
- result = self.submit("WarrantyStatus", dt, "warrantyDetailInfo")
- return result
-
- @property
- def parts(self):
- pass
-
-if __name__ == '__main__':
- import doctest
- connect(*sys.argv[1:4])
- doctest.testmod()