How to apply generic color to multiple objects?

then a script may be

import bpy
from random import random

for o in bpy.data.objects:
if(o.type == ‘MESH’):
if((o.color[:4] == (1,1,1,1)) or (o.color[:4] == (0,0,0,0))):
o.color = (random(),random(),random(),1)

    if(bpy.context.scene.render.engine == 'BLENDER_RENDER'):
        o.material_slots.data.active_material.use_object_color = True
        
    if(bpy.context.scene.render.engine == 'CYCLES'):
        o.material_slots.data.active_material_index = 0
        o.material_slots.data.active_material.diffuse_color = o.color[:3]

happy bl