Implement delete option

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/openbmc-sfw b/openbmc-sfw
index c425ceb..c808494 100755
--- a/openbmc-sfw
+++ b/openbmc-sfw
@@ -69,6 +69,18 @@
 
         return j['data']
 
+    def delete_image(self, image_id):
+        r = self.session.post(self.url + "/xyz/openbmc_project/software/" + image_id + "/action/delete",
+                            headers={'Content-Type': 'application/json'},
+                            data='{"data":[]}',
+                            verify=False)
+
+        j = r.json()
+        if j['status'] != 'ok':
+            raise Exception("Failed to delete image " + image_id + ": \n" + r.text)
+
+        return j['data']
+
     def update_auto(self, image, reboot):
         image_version = self.__get_image_version(image)
         self.upload_image(image)
@@ -164,6 +176,10 @@
     s = BMC(server=args.server)
     s.update_auto(args.image, args.reboot)
 
+def do_delete_image(args):
+    s = BMC(server=args.server)
+    s.delete_image(args.image_id)
+
 parser = argparse.ArgumentParser()
 parser.add_argument('--server', help='hostname or IP of BMC', type=str,
                     required=True)
@@ -205,6 +221,10 @@
     help='Set if the BMC should reboot after the update')
 image_update_auto.set_defaults(func=do_update_auto)
 
+image_delete = subparsers.add_parser('delete', help='Delete input image id')
+image_delete.add_argument('image_id', help='The image id to delete')
+image_delete.set_defaults(func=do_delete_image)
+
 args = parser.parse_args()
 
 if 'func' in args: