[GRASS-SVN] r47092 - grass-addons/grass7/gui/wxpython/wx.wms

svn_grass at osgeo.org svn_grass at osgeo.org
Sun Jul 10 20:22:46 EDT 2011


Author: sudeepsingh
Date: 2011-07-10 17:22:46 -0700 (Sun, 10 Jul 2011)
New Revision: 47092

Modified:
   grass-addons/grass7/gui/wxpython/wx.wms/parse.py
   grass-addons/grass7/gui/wxpython/wx.wms/wmsmenu.py
Log:
Major Change in the Backend Code of GUI, now Auto Generated by wxGlade, removed redundant prints from parse.py

Modified: grass-addons/grass7/gui/wxpython/wx.wms/parse.py
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.wms/parse.py	2011-07-10 19:55:00 UTC (rev 47091)
+++ grass-addons/grass7/gui/wxpython/wx.wms/parse.py	2011-07-11 00:22:46 UTC (rev 47092)
@@ -8,6 +8,9 @@
  soup = BeautifulSoup(xmltext)
  #layers = soup.findAll('layer', queryable="1")
  layers = soup.findAll('layer')
+ '''
+ for attr, value in soup.find('layer').attrs:
+ 	print attr, "       =          ", value '''
  namelist = []
  for layer in layers:
 	soupname = BeautifulSoup(str(layer))
@@ -15,5 +18,8 @@
 	if len(names) > 0:
 		namelist += names[0]
  return namelist
-	
-
+'''
+f = open('wmsmaris.xml','r')
+a=f.read()
+print a
+#parsexml(a) '''

Modified: grass-addons/grass7/gui/wxpython/wx.wms/wmsmenu.py
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.wms/wmsmenu.py	2011-07-10 19:55:00 UTC (rev 47091)
+++ grass-addons/grass7/gui/wxpython/wx.wms/wmsmenu.py	2011-07-11 00:22:46 UTC (rev 47092)
@@ -1,106 +1,108 @@
-#!/usr/bin/python
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# generated by wxGlade 0.6.3 on Mon Jul 11 04:58:20 2011
 
+import wx
 from wxPython.wx import *
 from urllib2 import Request, urlopen, URLError, HTTPError
-import wx
 from parse import parsexml
 from WMSMapDisplay import NewImageFrame
 
-class WMSGUI(wx.Frame):
-  
-    def __init__(self, parent, title):
-        super(WMSGUI, self).__init__(parent, title=title, 
-            size=(390, 350))
-            
-        self.InitUI()
-        self.Centre()
-        self.Show()     
-        
-    def InitUI(self):
-    	
-    
-        self.panel = wx.Panel(self)
+# begin wxGlade: extracode
+# end wxGlade
 
-        self.font = wx.SystemSettings_GetFont(wx.SYS_SYSTEM_FONT)
-        self.font.SetPointSize(9)
 
-        self.vbox = wx.BoxSizer(wx.VERTICAL)
 
-        self.hbox1 = wx.BoxSizer(wx.HORIZONTAL)
-        self.st1 = wx.StaticText(self.panel, label='URL')
-        self.st1.SetFont(self.font)
-        self.hbox1.Add(self.st1, flag=wx.RIGHT, border=8)
-        self.tc = wx.TextCtrl(self.panel)
-        self.hbox1.Add(self.tc, proportion=1)
-        self.vbox.Add(self.hbox1, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10)
+class wmsFrame(wx.Frame):
+    def __init__(self, *args, **kwds):
+        # begin wxGlade: wmsFrame.__init__
+        kwds["style"] = wx.DEFAULT_FRAME_STYLE
+        wx.Frame.__init__(self, *args, **kwds)
+        self.URL = wx.StaticText(self, -1, "URL")
+        self.urlInput = wx.TextCtrl(self, -1, "")
+        self.Layer = wx.StaticText(self, -1, "Layer")
+        self.layerSelected = wx.TextCtrl(self, -1, "")
+        self.Layers = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE|wx.TE_READONLY)
+        self.GetCapabilities = wx.Button(self, -1, "GetCapabilities")
+        self.GetMaps = wx.Button(self, -1, "GetMaps")
+        self.static_line_1 = wx.StaticLine(self, -1)
 
-        self.vbox.Add((-1, 10))
+        self.__set_properties()
+        self.__do_layout()
 
-        self.hbox2 = wx.BoxSizer(wx.HORIZONTAL)
-        self.st2 = wx.StaticText(self.panel, label='Enter Layer Name')
-        self.st2.SetFont(self.font)
-        self.hbox2.Add(self.st2)
-        
-        #Create a Text box to take layer input
-	self.inputlayer = wx.TextCtrl ( self.panel, 100, style = wx.TE_PROCESS_ENTER )
-	EVT_TEXT_ENTER ( self.panel, 100, self.OnInputLayer )
-	self.hbox2.Add(self.inputlayer, proportion=1)
-	#Layer input ends here
-	
-        self.vbox.Add(self.hbox2, flag=wx.LEFT | wx.TOP, border=10)
+        self.Bind(wx.EVT_BUTTON, self.OnGetCapabilities, self.GetCapabilities)
+        self.Bind(wx.EVT_BUTTON, self.OnGetMaps, self.GetMaps)
+        # end wxGlade
+        self.urlInput.SetValue('http://www.gisnet.lv/cgi-bin/topo')
 
-        self.vbox.Add((-1, 10))
+    def __set_properties(self):
+        # begin wxGlade: wmsFrame.__set_properties
+        self.SetTitle("wmsFrame")
+        self.urlInput.SetMinSize((300, 27))
+        self.layerSelected.SetMinSize((150, 27))
+        self.Layers.SetMinSize((400, 250))
+        # end wxGlade
 
-        self.hbox3 = wx.BoxSizer(wx.HORIZONTAL)
-        self.tc2 = wx.TextCtrl(self.panel, style=wx.TE_MULTILINE | wx.TE_READONLY)
-        self.hbox3.Add(self.tc2, proportion=1, flag=wx.EXPAND)
-        self.vbox.Add(self.hbox3, proportion=1, flag=wx.LEFT|wx.RIGHT|wx.EXPAND, 
-            border=10)
+    def __do_layout(self):
+        # begin wxGlade: wmsFrame.__do_layout
+        sizer_1 = wx.BoxSizer(wx.VERTICAL)
+        sizer_2 = wx.BoxSizer(wx.VERTICAL)
+        sizer_4 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_5 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_3 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_3.Add(self.URL, 0, 0, 0)
+        sizer_3.Add(self.urlInput, 0, 0, 0)
+        sizer_2.Add(sizer_3, 1, wx.EXPAND, 0)
+        sizer_5.Add(self.Layer, 0, 0, 0)
+        sizer_5.Add(self.layerSelected, 0, wx.ALL, 0)
+        sizer_2.Add(sizer_5, 1, wx.EXPAND, 0)
+        sizer_2.Add(self.Layers, 0, wx.ALL, 0)
+        sizer_4.Add(self.GetCapabilities, 0, 0, 0)
+        sizer_4.Add(self.GetMaps, 0, 0, 0)
+        sizer_2.Add(sizer_4, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
+        sizer_1.Add(sizer_2, 1, wx.ALL|wx.EXPAND, 0)
+        sizer_1.Add(self.static_line_1, 0, wx.EXPAND, 0)
+        self.SetSizer(sizer_1)
+        sizer_1.Fit(self)
+        self.Layout()
+        # end wxGlade
+    
 
-        self.vbox.Add((-1, 25))
+    def OnGetCapabilities(self, event): # wxGlade: wmsFrame.<event_handler>
+        #url = 'http://www.gisnet.lv/cgi-bin/topo?request=GetCapabilities&service=wms'
+    	url = self.urlInput.GetValue()
+    	
+    	url = url + '?request=GetCapabilities&service=wms'
+    	print url
+	req = Request(url)
+	try:
+	    response = urlopen(req)
+	    xml = response.read()
+	    #self.statusbar.SetStatusText(xml) 
+	    reslist = parsexml(xml)
+	    st = ''
+	    for res in reslist:
+	    	   st = st + res + '\n'
+	    self.Layers.SetValue(st) 
+	    #print xml
+	except HTTPError, e:
+	    print 'The server couldn\'t fulfill the request.'
+	    print 'Error code: ', e.code
+	except URLError, e:
+	    print 'We failed to reach a server.'
+	    print 'Reason: ', e.reason
+	else:
+	    print 'Successful'
+        event.Skip()
 
-        self.hbox4 = wx.BoxSizer(wx.HORIZONTAL)
-        self.cb1 = wx.CheckBox(self.panel, label='A')
-        self.cb1.SetFont(self.font)
-        self.hbox4.Add(self.cb1)
-        self.cb2 = wx.CheckBox(self.panel, label='B')
-        self.cb2.SetFont(self.font)
-        self.hbox4.Add(self.cb2, flag=wx.LEFT, border=10)
-        self.cb3 = wx.CheckBox(self.panel, label='C')
-        self.cb3.SetFont(self.font)
-        self.hbox4.Add(self.cb3, flag=wx.LEFT, border=10)
-        self.vbox.Add(self.hbox4, flag=wx.LEFT, border=10)
-
-        self.vbox.Add((-1, 25))
-
-        self.hbox5 = wx.BoxSizer(wx.HORIZONTAL)
+    def OnGetMaps(self, event): # wxGlade: wmsFrame.<event_handler>
+        layername = self.layerSelected.GetValue()
+        url = self.urlInput.GetValue()
+    	self.url_in = url
+        getMap_request_url = self.url_in+'?service=WMS&request=GetMap&version=1.1.1&format=image/png&width=800&height=600&srs=EPSG:3059&layers='+layername+'&bbox=584344,397868,585500,398500'
         
-        self.btn1 = wx.Button(self.panel, label='Get Map', size=(150, 30))
-        self.hbox5.Add(self.btn1)
-        self.btn2 = wx.Button(self.panel, label='GetCapabilities', size=(150, 30))
-        self.hbox5.Add(self.btn2, flag=wx.LEFT|wx.BOTTOM, border=5)
-        self.vbox.Add(self.hbox5, flag=wx.ALIGN_CENTER|wx.CENTER, border=10)
         
-        self.btn1.Bind(wx.EVT_BUTTON, self.OnGetMap)
-	self.btn2.Bind(wx.EVT_BUTTON, self.OnGetCapabilities)
-	
-	
-	
-        self.panel.SetSizer(self.vbox)
         
-        self.tc.SetValue('http://www.gisnet.lv/cgi-bin/topo?request=GetCapabilities&service=wms')
-        #service=WMS&request=GetMap http://www.gisnet.lv/cgi-bin/topo?service=WMS&request=GetMap&version=1.1.1&format=image/png&width=800&height=600&srs=EPSG:4326&layers=Atlants&bbox=-180,0,0,90
-
-    def OnInputLayer(self, event):
-	print 'yoyo'	
-
-    def OnGetMap(self, event):
-        layername = self.inputlayer.GetValue()
-        
-        getMap_request_url = 'http://www.gisnet.lv/cgi-bin/topo?service=WMS&request=GetMap&version=1.1.1&format=image/png&width=800&height=600&srs=EPSG:3059&layers='+layername+'&bbox=584344,397868,585500,398500'
-        
-        
-        
 	print getMap_request_url
 	
 	req = Request(getMap_request_url)
@@ -124,33 +126,22 @@
 	else:
 	    print 'Successful'
 
-    def OnGetCapabilities(self, event):
-    	#url = 'http://www.gisnet.lv/cgi-bin/topo?request=GetCapabilities&service=wms'
-    	url = self.tc.GetValue()
-	req = Request(url)
-	try:
-	    response = urlopen(req)
-	    xml = response.read()
-	    #self.statusbar.SetStatusText(xml) 
-	    reslist = parsexml(xml)
-	    st = ''
-	    for res in reslist:
-	    	   st = st + res + '\n'
-	    self.tc2.SetValue(st) 
-	    print xml
-	except HTTPError, e:
-	    print 'The server couldn\'t fulfill the request.'
-	    print 'Error code: ', e.code
-	except URLError, e:
-	    print 'We failed to reach a server.'
-	    print 'Reason: ', e.reason
-	else:
-	    print 'Successful'
+        event.Skip()
 
+# end of class wmsFrame
 
 def DisplayWMSMenu():
-	app = wx.App()
-   	WMSGUI(None, title='WMS')
-     	app.MainLoop()
-	
-	
+     	app = wx.PySimpleApp(0)
+    	wx.InitAllImageHandlers()
+    	wms_Frame = wmsFrame(None, -1, "")
+   	app.SetTopWindow(wms_Frame)
+    	wms_Frame.Show()
+    	app.MainLoop()
+
+if __name__ == "__main__":
+    app = wx.PySimpleApp(0)
+    wx.InitAllImageHandlers()
+    wms_Frame = wmsFrame(None, -1, "")
+    app.SetTopWindow(wms_Frame)
+    wms_Frame.Show()
+    app.MainLoop()



More information about the grass-commit mailing list