%PDF- %PDF-
Direktori : /lib/calibre/calibre/db/cli/ |
Current File : //lib/calibre/calibre/db/cli/cmd_remove.py |
#!/usr/bin/env python3 # License: GPLv3 Copyright: 2017, Kovid Goyal <kovid at kovidgoyal.net> from calibre.constants import trash_name from calibre.db.cli import integers_from_string from calibre.db.delete_service import delete_service from calibre.srv.changes import books_deleted readonly = False version = 0 # change this if you change signature of implementation() def implementation(db, notify_changes, ids, permanent): db.remove_books(ids, permanent=permanent) if not permanent: delete_service().wait() if notify_changes is not None: notify_changes(books_deleted(ids)) def option_parser(get_parser, args): p = get_parser( _( '''\ %prog remove ids Remove the books identified by ids from the database. ids should be a comma separated \ list of id numbers (you can get id numbers by using the search command). For example, \ 23,34,57-85 (when specifying a range, the last number in the range is not included). ''' ) ) p.add_option( '--permanent', default=False, action='store_true', help=_('Do not use the {}').format(trash_name()) ) return p def main(opts, args, dbctx): if len(args) < 1: raise SystemExit(_('You must specify at least one book to remove')) ids = set() for arg in args: ids |= set(integers_from_string(arg)) dbctx.run('remove', ids, opts.permanent) return 0