'implement the command'

def func(self):

    if (not self.args):
        string = 'Usage:    @home    <obj>    [=    <home_location>]'
        self.caller.msg(string)
        return
    obj = self.caller.search(self.lhs, global_search=True)
    if (not obj):
        return
    if (not self.rhs):
        home = obj.home
        if (not home):
            string = 'This    object    has    no    home    location    set!'
        else:
            string = ("%s's    current    home    is    %s(%s)." % (obj, home, home.dbref))
    else:
        new_home = self.caller.search(self.rhs, global_search=True)
        if (not new_home):
            return
        old_home = obj.home
        obj.home = new_home
        if old_home:
            string = ("%s's    home    location    was    changed    from    %s(%s)    to    %s(%s)." % (obj, old_home, old_home.dbref, new_home, new_home.dbref))
        else:
            string = ("%s'    home    location    was    set    to    %s(%s)." % (obj, new_home, new_home.dbref))
    self.caller.msg(string)
