

def parse(self):
    '\n        We need to expand the default parsing to get all\n        the cases, see the module doc.\n        '
    super(ObjManipCommand, self).parse()
    obj_defs = ([], [])
    obj_attrs = ([], [])
    for (iside, arglist) in enumerate((self.lhslist, self.rhslist)):
        for objdef in arglist:
            (aliases, option, attrs) = ([], None, [])
            if (':' in objdef):
                (objdef, option) = [part.strip() for part in objdef.rsplit(':', 1)]
            if (';' in objdef):
                (objdef, aliases) = [part.strip() for part in objdef.split(';', 1)]
                aliases = [alias.strip() for alias in aliases.split(';') if alias.strip()]
            if ('/' in objdef):
                (objdef, attrs) = [part.strip() for part in objdef.split('/', 1)]
                attrs = [part.strip().lower() for part in attrs.split('/') if part.strip()]
            obj_defs[iside].append({
                'name': objdef,
                'option': option,
                'aliases': aliases,
            })
            obj_attrs[iside].append({
                'name': objdef,
                'attrs': attrs,
            })
    self.lhs_objs = obj_defs[0]
    self.rhs_objs = obj_defs[1]
    self.lhs_objattr = obj_attrs[0]
    self.rhs_objattr = obj_attrs[1]

dataset/ETHPy150Open evennia/evennia/evennia/commands/default/building.py ObjManipCommand.parse/original