aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xgsx.py22
-rw-r--r--setup.py4
2 files changed, 18 insertions, 8 deletions
diff --git a/gsx.py b/gsx.py
index 2aa38c1..da7d6ea 100755
--- a/gsx.py
+++ b/gsx.py
@@ -98,7 +98,15 @@ class GsxObject(object):
return result
def _make_type(self, new_dt):
- return CLIENT.factory.create(new_dt)
+ """
+ Creates the top-level datatype for the API call
+ """
+ dt = CLIENT.factory.create(new_dt)
+
+ if SESSION:
+ dt.userSession = SESSION
+
+ return dt
def _process(self, data):
"""
@@ -500,12 +508,16 @@ class Repair(GsxObject):
results = self.submit('RepairLookup')
return results
- def mark_complete(self):
+ def mark_complete(self, numbers=None):
"""
The Mark Repair Complete API allows a single or an array of
repair confirmation numbers to be submitted to GSX to be marked as complete.
"""
- pass
+ dt = self._make_type('ns1:markRepairCompleteRequestType')
+ dt.repairConfirmationNumbers = [self.data['dispatchId']]
+ result = CLIENT.service.MarkRepairComplete(dt)
+ print result
+ return result
def delete(self):
"""
@@ -522,7 +534,6 @@ class Repair(GsxObject):
for the submitted repair confirmation number(s).
"""
dt = self._make_type('ns1:repairStatusRequestType')
- dt.userSession = SESSION
dt.repairConfirmationNumbers = [self.data['dispatchId']]
result = CLIENT.service.RepairStatus(dt)
@@ -535,9 +546,8 @@ class Repair(GsxObject):
"""
The Repair Details API includes the shipment information similar to the Repair Lookup API.
"""
- dt = CLIENT.factory.create('ns0:repairDetailsRequestType')
+ dt = self._make_type('ns0:repairDetailsRequestType')
dt.dispatchId = self.data['dispatchId']
- dt.userSession = SESSION
results = CLIENT.service.RepairDetails(dt)
return results.lookupResponseData[0]
diff --git a/setup.py b/setup.py
index 01961be..5ad6afb 100644
--- a/setup.py
+++ b/setup.py
@@ -4,7 +4,7 @@ import sys, os
version = '0.1'
setup(
- name='py-gsx',
+ name='gsx',
version=version,
description="Apple GSX integration.",
long_description='',
@@ -17,7 +17,7 @@ setup(
'Topic :: Internet :: WWW/HTTP'
],
keywords='gsx, python',
- py_modules=['py-gsx'],
+ py_modules=['gsx'],
author='Filipp Lepalaan',
author_email='filipp@mcare.fi',
url='https://github.com/filipp/py-gsx',