From bcde76d0c1612b10f95ccdcaad3608dd4a13404b Mon Sep 17 00:00:00 2001 From: Jakub Czajka Date: Tue, 12 Sep 2023 20:13:50 +0200 Subject: [PATCH] Add a subprogram for deleting files from the drive. --- gdrive_knife.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gdrive_knife.py b/gdrive_knife.py index 31192c6..bdadb84 100644 --- a/gdrive_knife.py +++ b/gdrive_knife.py @@ -153,6 +153,17 @@ def upload(args): drive.files().create(body=body, media_body=media).execute() print(f'Created {path} on drive.') +def delete(args): + drive = get_drive_client(args.token) + + maybe_id = get_file_id(drive, args.path) + if not maybe_id: + print(f'File {args.path} not found.') + sys.exit(1) + + drive.files().delete(fileId=maybe_id).execute() + print(f'Deleted {args.path} on drive.') + if __name__ == '__main__': parser = argparse.ArgumentParser(prog='gdrive_knife', description='Swiss ' 'army knife for working with Google Drive.') @@ -199,6 +210,13 @@ if __name__ == '__main__': 'authentication token.') upload_parser.set_defaults(func=upload) + delete_parser = subparsers.add_parser('delete', help='Delete a file.') + delete_parser.add_argument('path', help='Path on the drive to delete.') + delete_parser.add_argument('-t', dest='token', required=True, + type=lambda x : file_path(parser, x), help='File with the ' + 'authentication token.') + delete_parser.set_defaults(func=delete) + args = parser.parse_args() args.func(args) -- 2.39.5