How to use a pivot point to mirror mesh with script
After reading gandalf3 comment all works!

import bpy

def areas_tuple():
    res = {}      
    count = 0                                                             
    for area in bpy.context.screen.areas:
        res[area.type] = count                                            
        count += 1
    return res   

def get_region(area):
    res = None
    for region in area.regions:
        if region.type == 'VIEW_3D':
            res = region
            break 
    return region

areas = areas_tuple()
view3d = bpy.context.screen.areas[areas['VIEW_3D']].spaces[0]
view3d.pivot_point='CURSOR'
view3d.cursor_location = (0.0, 0.0, 0.0)

bpy.ops.object.mode_set(mode = 'EDIT')
bpy.ops.mesh.select_all(action='SELECT')
override = {
    'window': bpy.context.window,
    'screen': bpy.context.screen,
    'area': area,
    'region': get_region(area)
    } 

bpy.ops.transform.mirror(
    override,
    constraint_axis=(True, False, False),
    constraint_orientation='GLOBAL',
    proportional='DISABLED')
bpy.ops.mesh.flip_normals()