@@ -80,13 +80,7 @@ def edit_node(self, json_data):
8080
8181 if osdf_response ["code" ] != 200 :
8282 headers = osdf_response ['headers' ]
83-
84- if 'x-osdf-error' in headers :
85- msg = "Unable to edit node document. Reason: " \
86- + headers ['x-osdf-error' ]
87- raise Exception (msg )
88- else :
89- raise Exception ("Unable to edit node document." )
83+ self .header_error (headers , 'edit' , 'node' )
9084
9185 def _byteify (self , input ):
9286 if isinstance (input , dict ):
@@ -120,14 +114,7 @@ def get_node(self, node_id):
120114
121115 if osdf_response ["code" ] != 200 :
122116 headers = osdf_response ['headers' ]
123-
124- if 'x-osdf-error' in headers :
125- msg = "Unable to retrieve node document. Reason: " \
126- + headers ['x-osdf-error' ]
127- else :
128- msg = "Unable to retrieve node document."
129-
130- raise Exception (msg )
117+ self .header_error (headers , 'retrieve' , 'node' )
131118
132119 data = json .loads ( osdf_response ['content' ] )
133120
@@ -147,14 +134,7 @@ def get_schema(self, namespace, schema_name):
147134
148135 if osdf_response ["code" ] != 200 :
149136 headers = osdf_response ['headers' ]
150-
151- if 'x-osdf-error' in headers :
152- msg = "Unable to retrieve schema document. Reason: " \
153- + headers ['x-osdf-error' ]
154- else :
155- msg = "Unable to retrieve schema document."
156-
157- raise Exception (msg )
137+ self .header_error (headers , 'retrieve' , 'schema' )
158138
159139 schema_data = json .loads ( osdf_response ['content' ] )
160140
@@ -174,14 +154,7 @@ def get_aux_schema(self, namespace, aux_schema_name):
174154
175155 if osdf_response ["code" ] != 200 :
176156 headers = osdf_response ['headers' ]
177-
178- if 'x-osdf-error' in headers :
179- msg = "Unable to retrieve schema document. Reason: " \
180- + headers ['x-osdf-error' ]
181- else :
182- msg = "Unable to retrieve schema document."
183-
184- raise Exception (msg )
157+ self .header_error (headers , 'retrieve' , 'schema' )
185158
186159 aux_schema_data = json .loads ( osdf_response ['content' ] )
187160
@@ -223,15 +196,9 @@ def delete_node(self, node_id):
223196 """
224197 osdf_response = self ._request .delete ("/nodes/" + node_id )
225198
226- headers = osdf_response ["headers" ]
227-
228199 if osdf_response ['code' ] != 204 :
229- if 'x-osdf-error' in headers :
230- msg = "Unable to delete node document. Reason: " + headers ['x-osdf-error' ]
231- else :
232- msg = "Unable to delete node document."
233-
234- raise Exception (msg )
200+ headers = osdf_response ['headers' ]
201+ self .header_error (headers , 'delete' , 'node' )
235202
236203 def validate_node (self , json_data ):
237204 """
@@ -323,3 +290,15 @@ def create_osdf_node(self, namespace, node_type, domain_json, linkage={}, read="
323290 'node_type' : node_type }
324291
325292 return node_json
293+
294+ def header_error (self , heades = [], method_type = 'retrieve' ,
295+ document_type = None ):
296+ if 'x-osdf-error' in headers :
297+ msg = "Unable to %s %s document. Reason: %s" \
298+ % (method_type , document_type , headers ['x-osdf-error' ])
299+ else :
300+ msg = "Unable to %s %s document." \
301+ % (method_type , document_type )
302+
303+ raise Exception (msg )
304+
0 commit comments