diff --git a/bfabric/_version.py b/bfabric/_version.py index eebdd75..e16ba86 100644 --- a/bfabric/_version.py +++ b/bfabric/_version.py @@ -1 +1 @@ -__version__ = "0.10.19" +__version__ = "0.10.20" diff --git a/bfabric/bfabric.py b/bfabric/bfabric.py index b788bec..9544e6a 100755 --- a/bfabric/bfabric.py +++ b/bfabric/bfabric.py @@ -228,6 +228,30 @@ def save_object(self, endpoint, obj, debug=None): return getattr(self.cl[endpoint].service.save(QUERY), endpoint, None) except: raise + + def checkandinsert_object(self, endpoint, obj, debug=None): + """ + wsdl method to check iff dependencies are fullfield + """ + + self.query_counter = self.query_counter + 1 + QUERY = dict(login=self.bflogin, password=self.bfpassword) + QUERY[endpoint] = obj + + try: + if not endpoint in self.cl: + self.cl[endpoint] = Client("".join((self.webbase, '/', endpoint, "?wsdl")), cache=None) + except: + raise + + + try: + if debug is not None: + return self.cl[endpoint].service.save(QUERY) + + return getattr(self.cl[endpoint].service.checkandinsert(QUERY), endpoint, None) + except: + raise def delete_object(self, endpoint, id=None, debug=None): """