def dropkey(self, user, machine):
        if machine == 'None': machine = None # @bug

        fn = pjoin(self.keydir, joinkey(user, machine))

        unlink(fn)
        msg = self.commit_msg_del % (user, fn)
        self.logger.info(msg)
    def addkey(self, user, data):
        nums = [i[1] for i in self.listkeys(user, True)]
        next = nextinseq(nums)

        fn = pjoin(self.keydir, joinkey(user, next))

        with open(fn, 'w') as fh:
            fh.write(data)

        msg = self.commit_msg_add % (user, fn)
        self.logger.info(msg)
    def dropkey(self, user, machine):
        if machine == 'None': machine = None # @bug

        fn = pjoin(self.keydir, joinkey(user, machine))

        try:
            self.gitadm.pull()
            self.gitadm.reset()
            self.gitadm.rm(fn)
            msg = self.commit_msg_add % (user, fn)
            self.gitadm.commit(self.commit_msg_del % (user, fn))
            self.gitadm.push()

            self.logger.info(msg)
        except:
            raise
    def addkey(self, user, data):
        nums = [i[1] for i in self.listkeys(user, True)]
        next = nextinseq(nums)

        fn = pjoin(self.keydir, joinkey(user, next))

        try:
            self.gitadm.pull()
            self.gitadm.reset()
            self.gitadm.write(fn, data)
            self.gitadm.add(fn)
            msg = self.commit_msg_add % (user, fn)
            self.gitadm.commit(msg)
            self.gitadm.push()

            self.logger.info(msg)
        except:
            raise #@todo
            try: self.gitadm.rm(fn)
            except: pass
    def _keypath(self, name, machine):
        ''' return the absolute path to the user's public key '''

        return pjoin(self.gitadm.repo.working_dir,
                     self.keydir,
                     joinkey(name, machine))
 def _keypath(self, name, machine):
     return pjoin( self.keydir, joinkey(name, machine))