def take_action(self, parsed_args):
        client = self.get_client()
        extra_values = v2_0.parse_args_to_dict(self.values_specs)
        if extra_values:
            raise exceptions.CommandError(
                ', --'.join(extra_values) % _("Invalid argument(s): --%s"))
        tenant_id = parsed_args.tenant_id or parsed_args.pos_tenant_id
        if parsed_args.dry_run:
            data = client.validate_auto_allocated_topology_requirements(
                tenant_id)
        else:
            data = client.get_auto_allocated_topology(tenant_id)
        if self.resource in data:
            for k, v in data[self.resource].items():
                if isinstance(v, list):
                    value = ""
                    for _item in v:
                        if value:
                            value += "\n"
                        if isinstance(_item, dict):
                            value += jsonutils.dumps(_item)
                        else:
                            value += str(_item)
                    data[self.resource][k] = value
                elif v == "dry-run=pass":
                    return ("dry-run",), ("pass",)
                elif v is None:
                    data[self.resource][k] = ''
            return zip(*sorted(data[self.resource].items()))
        else:
            return None
dataset/ETHPy150Open openstack/python-neutronclient/neutronclient/neutron/v2_0/auto_allocated_topology.py/ShowAutoAllocatedTopology.take_action/swapped operands of `%`