added force option to remove command

main
Fabien Benureau 12 years ago
parent 76e162be02
commit 6d8b0aba21

@ -8,18 +8,21 @@ from ..events import RemoveEvent
def parser(subparsers, config): def parser(subparsers, config):
parser = subparsers.add_parser('remove', help='removes a paper') parser = subparsers.add_parser('remove', help='removes a paper')
parser.add_argument('-f', '--force', action='store_true', default=None,
help="does not prompt for confirmation.")
add_references_argument(parser) add_references_argument(parser)
return parser return parser
def command(config, ui, references): def command(config, ui, force, references):
rp = repo.Repository.from_directory(config) rp = repo.Repository.from_directory(config)
citekeys = parse_references(ui, rp, references) citekeys = parse_references(ui, rp, references)
are_you_sure = ("Are you sure you want to delete paper(s) [%s]" if force is None:
" (this will also delete associated documents)?" are_you_sure = ("Are you sure you want to delete paper(s) [%s]"
% ', '.join([color.dye(c, color.citekey) for c in citekeys])) " (this will also delete associated documents)?"
sure = ui.input_yn(question=are_you_sure, default='n') % ', '.join([color.dye(c, color.citekey) for c in citekeys]))
if sure: sure = ui.input_yn(question=are_you_sure, default='n')
if force or sure:
for c in citekeys: for c in citekeys:
rmevent = RemoveEvent(config, ui, c) rmevent = RemoveEvent(config, ui, c)
rmevent.send() rmevent.send()

Loading…
Cancel
Save