def edit_handler(self):
        if self.rhs:
            self.msg("{rYou may specify a value, or use the edit switch, "
                     "but not both.{n")
            return
        if self.args:
            obj = self.caller.search(self.args)
        else:
            obj = self.caller.location or self.msg("{rYou can't describe oblivion.{n")
        if not obj:
            return

        def load(caller):
            return obj.db.desc or ""

        def save(caller, buf):
            """
            Save line buffer to the desc prop. This should
            return True if successful and also report its status to the user.
            """
            obj.db.desc = buf
            caller.msg("Saved.")
            return True

        # launch the editor
        EvEditor(self.caller, loadfunc=load, savefunc=save, key="desc")
        return
dataset/ETHPy150Open evennia/evennia/evennia/commands/default/building.py/CmdDesc.edit_handler/original