comparison frontends/src/jp/cmd_profile.py @ 1861:3b2a236fa743

jp (profile): added confirmation and --force arguement to profile/delete
author Goffi <goffi@goffi.org>
date Mon, 29 Feb 2016 16:52:51 +0100
parents d17772b0fe22
children 96ba685162f6
comparison
equal deleted inserted replaced
1860:afc7f6328394 1861:3b2a236fa743
56 def __init__(self, host): 56 def __init__(self, host):
57 super(ProfileDelete, self).__init__(host, 'delete', use_profile=False, help=_('delete a profile')) 57 super(ProfileDelete, self).__init__(host, 'delete', use_profile=False, help=_('delete a profile'))
58 58
59 def add_parser_options(self): 59 def add_parser_options(self):
60 self.parser.add_argument('profile', type=str, help=PROFILE_HELP) 60 self.parser.add_argument('profile', type=str, help=PROFILE_HELP)
61 self.parser.add_argument('-f', '--force', action='store_true', help=_(u'delete profile without confirmation'))
61 62
62 def run(self): 63 def run(self):
63 super(ProfileDelete, self).run() 64 super(ProfileDelete, self).run()
64 if self.args.profile not in self.host.bridge.getProfilesList(): 65 if self.args.profile not in self.host.bridge.getProfilesList():
65 log.error("Profile %s doesn't exist." % self.args.profile) 66 log.error("Profile %s doesn't exist." % self.args.profile)
66 self.host.quit(1) 67 self.host.quit(1)
68 message = u"Are you sure to delete profile [{}] ?".format(self.args.profile)
69 if not self.args.force:
70 res = raw_input("{} (y/N)? ".format(message))
71 if res not in ("y", "Y"):
72 self.disp(_(u"Profile deletion cancelled"))
73 self.host.quit(2)
74
67 self.host.bridge.asyncDeleteProfile(self.args.profile, callback=lambda dummy: None) 75 self.host.bridge.asyncDeleteProfile(self.args.profile, callback=lambda dummy: None)
68 76
69 77
70 class ProfileInfo(base.CommandBase): 78 class ProfileInfo(base.CommandBase):
71 def __init__(self, host): 79 def __init__(self, host):