Python Scripting : AttributeError : 'SpaceTextEditor ' object has no attribute 'context' I am trying to write a python script using the info panel. 

The first part of the code is unwrapping a mesh which is executing successfully. 

The second part is to change the viewport shading to MATERIAL which is used for rendering. But when I try to run the script I get this error . 



Thirdly, I am trying to import a .png image. But its not being displayed in the UV Editor. 

The code is shown below:

import bpy
   for obj in bpy.data.objects:
     if(obj.type == 'MESH'):
       bpy.context.scene.objects.active = obj
       bpy.ops.mesh.uv_texture_add()
       bpy.ops.object.mode_set(mode='EDIT')
       bpy.ops.mesh.select_all(action='TOGGLE') 
       bpy.ops.uv.unwrap(method='ANGLE_BASED', margin=0.001)
       bpy.context.space_data.context = 'MATERIAL'
       bpy.ops.material.new()
       bpy.ops.image.open(filepath="//finger1.png", directory="C:\\Users\\KM\\Desktop\\blender\\Test 1\\", files=[{"name":"finger1.png", "name":"finger1.png"}], relative_path=True, show_multiview=False)


Anything regarding this would be helpful. Thanks in advance.
I am a big advocate of avoiding bpy.ops as much as possible.  I wrote an example at http://web.purplefrog.com/~thoth/blender/python-cookbook/load-image-texture.html which might help you understand how to use python to create a material using an image texture:

Here is the most important bit:

def material_for_texture(fname):
    img = bpy.data.images.load(fname)

    tex = bpy.data.textures.new(fname, 'IMAGE')
    tex.image = img

    mat = bpy.data.materials.new(fname)
    mat.texture_slots.add()
    ts = mat.texture_slots[0]
    ts.texture = tex
    ts.texture_coords = 'ORCO'

    return mat

fname = "/var/tmp/blender/mohawk-seal0001.png"
obj = bpy.context.active_object
mat = material_for_texture(fname)
if len(obj.data.materials)&lt;1:
    obj.data.materials.append(mat)
else:
    obj.data.materials[0] = mat