示例#1
0
 def do_open(self, cmd):
     self.wallet = Wallet(cmd)
     self._updatePrompt()
示例#2
0
class KWalletShell(cmd.Cmd):
    def __init__(self):
        #super(cmd.Cmd,  self ).__init__("")
        cmd.Cmd.__init__(self)
        self.wallet = None
        self.folder = None

    def prettypath(self, wallet=None, folder=None, entry=None ):
        p=""
        if self.wallet:
            p= wallet.name
            if folder:
                p+="::"+folder.name
                if entry:
                    p+=":"+entry.name
        return p



    def _updatePrompt(self):
        self.prompt=self.prettypath(self.wallet , self.folder) + "> "


    def do_lsf(self, cmd):
        for f in self.wallet:
            print self.prettypath(self.wallet, f)

    def help_lsf(self):
        return "list all folders in the wallet"

    def do_ch_folder(self, cmd):
        self.folder = self.wallet.openFolder(cmd)
        self._updatePrompt()

    def help_ch_folder(self):
        return "change folder to first parameter"

    def do_open(self, cmd):
        self.wallet = Wallet(cmd)
        self._updatePrompt()

    def help_open(self):
        return "opens the specified wallet, if wallet does not exists, you ask to create it"

    def do_lsw(self,cmd):
        print "dfsadf", cmd
        for wallet in kwallet.get_walletsName():
            print wallet

    def help_lsw(self):
        return "list all avaiables wallets"

    def do_exit(self,cmd):
        import sys

        del self.folder, self.wallet
        sys.exit(0)
        
    def help_exit(self):
        return "close this shell"


    def do_lse(self, cmd):
        l = self.folder
        for e in l:
            print self.prettypath(self.wallet, self.folder, e)
        else:
            print "No Entries in folder"

    def help_lse(self):
        return "list all entries in the current folder"

    def do_get(self, entry):
        if entry in self.folder:
            entry = self.folder.openEntry(entry)
            print '%s=%s' %(
                self.prettypath(self.wallet, self.folder, e),
                entry.value)

    def help_get(self):
        return "get the value behind the given entry in the current folder and wallet"

    def do_ch_pwd(self,cmd):
        self.wallet.changePassword()

    def help_ch_pwd(self):
        return "change the password for the current wallet"

    def do_set(self, entry):
        if entry in self.folder:
            print "overriding existing value!"

        entry = self.folder.openEntry(entry)
        entry.value = input_default(
            self.prettypath(self.wallet,self.folder, entry)+"="
            , entry.value)


    def help_set(self):
        return "set or override the value for the entry in teh current folder and wallet"