[Tutor] Break stament issue

Susana Iraiis Delgado Rodriguez susana.delgado_s at utzmg.edu.mx
Wed Jun 15 19:47:25 CEST 2011


Hello members!!

Steven, I already changed the settings in the IDE to avoid the trouble when
I type the code.
In the other hand I added the pass statement so the script keep working even
though it finds an error, but the scripts ignore the pass statement. Console
prints:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "mapnik_punto_sin_duda.py", line 44, in <module>
    lyr.datasource = mapnik.Shapefile(base=ruta,file=archivo[0])
  File "C:\mapnik-0.7.1\python\2.6\site-packages\mapnik\__init__.py", line
282,
in Shapefile
    return CreateDatasource(keywords)
RuntimeError: wrong file code : -1997790976

2011/6/14 James Reynolds <eire1130 at gmail.com>

>
>
> On Tue, Jun 14, 2011 at 2:59 PM, Susana Iraiis Delgado Rodriguez <
> susana.delgado_s at utzmg.edu.mx> wrote:
>
>> Hello members!
>>
>> I'm doing a script that needs to loop to get some information, in order to
>> do that I'm using modules from OGR and Mapnik. These to get data from
>> shapefiles, but some of the files have 0 elements, I wrote a line to
>> validate it, but it hasn't worked, so I added a break to keep working. When
>> I run the scipt I got the next error:
>> Traceback (most recent call last):
>>   File "<pyshell#0>", line 1, in <module>
>>     import mapnik_punto_sin_duda
>>   File "C:\Python26\mapnik_punto_sin_duda.py", line 23
>>     break
>>    ^
>> IndentationError: unexpected indent
>>
>> But I've read about this stamentet's use and I don't understand the reason
>> I'm failing, the complete script is:
>> import mapnik
>> import os,fnmatch
>> from mapnik import LineSymbolizer,PolygonSymbolizer,PointSymbolizer
>> from osgeo import ogr,gdal,osr
>>
>> #Registra todos los drivers de GDAL
>> file_list = []
>> #Crear variable para buscar dentro de carpetas en el sistema
>> folders = None
>> #Se asigna el directorio raiz donde se van buscar los archivos, se hace un
>> recorrido en la raiz
>> for root, folders, files in os.walk( "c:\\" ):
>>         #Agregar a la lista los elementos que traiga os.path.join, los
>> archivos que terminen en extension .shp
>>         for filename in fnmatch.filter(files, '*.shp'):
>>                 file_list.append(os.path.join(root, filename))
>> #Recorrer la lista que se creo
>> for row, filepath in enumerate(file_list, start=1):
>> #Dividir la ruta en dos: directorio y nombre de archivo
>>         dir(LineSymbolizer().stroke)
>>         shapeData = ogr.Open(filepath)
>>         shp = 'Error al abrir el archivo' +filepath
>>         if shapeData is None:
>>                 print shp
>>                 break
>>         else:
>>                 layer = shapeData.GetLayer()
>>                 defn = layer.GetLayerDefn()
>>                 geo = defn.GetGeomType()
>>                 (ruta, filename) = os.path.split(filepath)
>>                 archivo = os.path.splitext(filename)
>>                 i = archivo[0]+'.png'
>>
>>                 m = mapnik.Map(800,500,"+proj=latlong +datum=WGS84")
>>                 m.background = mapnik.Color('#EBEBEB')
>>                 s = mapnik.Style()
>>                 r=mapnik.Rule()
>>
>>                 if geo == 3:
>>                         print "Trabajando mapa "+ruta+"\\"+filename+" con
>> geometria "+ str(geo)
>>
>> r.symbols.append(mapnik.PolygonSymbolizer(mapnik.Color('#EB784B')))
>>
>> r.symbols.append(mapnik.LineSymbolizer(mapnik.Color('rgb(170%,170%,170%)'),0.9))
>>                         s.rules.append(r)
>>                         m.append_style('My Style',s)
>>                         lyr = mapnik.Layer('world',"+proj=latlong
>> +datum=WGS84")
>>                         lyr.datasource =
>> mapnik.Shapefile(base=ruta,file=archivo[0])
>>                         lyr.styles.append('My Style')
>>                         m.layers.append(lyr)
>>                         m.zoom_to_box(lyr.envelope())
>>                         mapnik.render_to_file(m,i, 'png')
>>                         print "La imagen " +i+ " fue creada."
>>                 elif geo == 2:
>>                         print "Trabajando mapa "+ruta+"\\"+filename+" con
>> geometria "+ str(geo)
>>
>> r.symbols.append(mapnik.LineSymbolizer(mapnik.Color('#EB784B'),0.9))
>>                         s.rules.append(r)
>>                         m.append_style('My Style',s)
>>                         lyr = mapnik.Layer('world',"+proj=latlong
>> +datum=WGS84")
>>                         lyr.datasource =
>> mapnik.Shapefile(base=ruta,file=archivo[0])
>>                         lyr.styles.append('My Style')
>>                         m.layers.append(lyr)
>>                         m.zoom_to_box(lyr.envelope())
>>                         mapnik.render_to_file(m,i, 'png')
>>                         print "La imagen " +i+ " fue creada."
>>                 elif geo == 1:
>>                         print "Trabajando mapa "+ruta+"\\"+filename+" con
>> geometria "+ str(geo)
>>                         blue =
>> mapnik.PointSymbolizer('C:\Python26\icono.png','png',50,50)
>>                         blue.allow_overlap = True
>>                         s=mapnik.Style()
>>                         r=mapnik.Rule()
>>                         r.symbols.append(blue)
>>                         s.rules.append(r)
>>                         #s.rules.append(blue)
>>                         m.append_style('My Style',s)
>>                         lyr = mapnik.Layer('world',"+proj=latlong
>> +datum=WGS84")
>>                         lyr.datasource =
>> mapnik.Shapefile(base=ruta,file=archivo[0])
>>                         lyr.styles.append('My Style')
>>                         m.layers.append(lyr)
>>                         m.zoom_to_box(lyr.envelope())
>>                         mapnik.render_to_file(m,i, 'png')
>>                         print "La imagen " +i+ " fue creada."
>>                 else:
>>                         print "Algo fallo y no entro a ninguna de las
>> geometrias"
>> print "Listo"
>>
>>
>> _______________________________________________
>> Tutor maillist  -  Tutor at python.org
>> To unsubscribe or change subscription options:
>> http://mail.python.org/mailman/listinfo/tutor
>>
>>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> well i'm not 100% what's going on because it appears to line up when I copy
> it to my IDE, but you are mixing tabs or # of space indents, you will raise
> that error, as an example:
> a= None
> if a is None:
>     print 'a'
>      print True
>
> The print 'a' line is four spaces (my default) and the print True is five.
> When run it raises the following:
>
>     print True
>>     ^
>> IndentationError: unexpected indent
>
>
> On a side note, if what you want to do is keep working while you work on
> the rest of it, you should use the pass statement. At least that is what I
> do.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20110615/838d0b59/attachment.html>


More information about the Tutor mailing list