From: Jakub Czajka Date: Tue, 12 Sep 2023 18:13:50 +0000 (+0200) Subject: Add a subprogram for deleting files from the drive. X-Git-Url: https://git.ekhem.eu.org/?a=commitdiff_plain;h=bcde76d0c1612b10f95ccdcaad3608dd4a13404b;p=gdrive_knife.git Add a subprogram for deleting files from the drive. --- 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)