Procházet zdrojové kódy

Add possibility to delete objects and ingests

Matthias Vogelgesang před 9 roky
rodič
revize
36558aef0b
1 změnil soubory, kde provedl 15 přidání a 0 odebrání
  1. 15 0
      dm/client.py

+ 15 - 0
dm/client.py

@@ -79,10 +79,16 @@ class Client(object):
         url = self.url('basemetadata/investigations', investigation_id, 'digitalObjects')
         return Object(self.post(url, label=label, uploaderId=uploader_id, note=note))
 
+    def delete_object(self, object_id):
+        self.delete(self.url('basemetadata/digitalObjects', object_id))
+
     def create_ingest(self, object_id, accesspoint_uuid):
         url = self.url('staging/ingests')
         return Ingest(self.post(url, objectId=object_id, accessPoint=accesspoint_uuid))
 
+    def delete_ingest(self, ingest_id):
+        self.delete(self.url('staging/ingests', ingest_id))
+
     def set_ingest_status(self, oid, status, error_message=""):
         if not isinstance(status, IngestStatus):
             raise TypeError
@@ -115,6 +121,15 @@ class Client(object):
     def get_user(self, oid):
         return User(self.get_response(self.url('usergroup/users', oid)), self)
 
+    def delete(self, url):
+        self.log.debug("DELETE {}".format(url))
+
+        try:
+            response = self.session.delete(url, timeout=5)
+            check_response(response)
+        except requests.exceptions.Timeout:
+            raise Timeout
+
     def get_response(self, url, **params):
         self.log.debug("GET {}".format(url))