Package madrona :: Package common :: Package management :: Package commands :: Module install_cleangeometry
[hide private]

Source Code for Module madrona.common.management.commands.install_cleangeometry

 1  from django.core.management.base import BaseCommand, AppCommand 
 2  from django.db import connection, transaction 
 3  import os 
 4   
5 -class Command(BaseCommand):
6 help = "Installs a cleangeometry function in postgres required for processing incoming geometries." 7
8 - def handle(self, **options):
9 path = os.path.abspath(os.path.join(__file__, '../../../sql/cleangeometry.sql')) 10 11 sql = open(path,'r').read() 12 # http://stackoverflow.com/questions/1734814/why-isnt-psycopg2- 13 # executing-any-of-my-sql-functions-indexerror-tuple-index-o 14 sql = sql.replace('%','%%') 15 16 cursor = connection.cursor() 17 cursor.db.enter_transaction_management() 18 19 cursor.execute(sql) 20 print cursor.statusmessage 21 print "TESTING" 22 23 cursor.execute("select cleangeometry(st_geomfromewkt('SRID=4326;POLYGON ((30 10, 10 20, 20 40, 40 40, 30 10))'))") 24 assert cursor.fetchall() == [('0103000020E610000001000000050000000000000000003E4000000000000024400000000000002440000000000000344000000000000034400000000000004440000000000000444000000000000044400000000000003E400000000000002440',)] 25 cursor.db.commit() 26 cursor.db.leave_transaction_management() 27 print "CLEANGEOMETRY function installed successfully"
28