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

svn_grass at osgeo.org svn_grass at osgeo.org
Mon Jul 11 08:04:47 EDT 2011


Author: sudeepsingh
Date: 2011-07-11 05:04:47 -0700 (Mon, 11 Jul 2011)
New Revision: 47093

Added:
   grass-addons/grass7/gui/wxpython/wx.wms/serverList.txt
Modified:
   grass-addons/grass7/gui/wxpython/wx.wms/wmsmenu.py
Log:
GUI changed, Dropdown list added to manage servers, new servers can be added and exisitng servers and be choosen, servers information stored in serverList.txt file

Added: grass-addons/grass7/gui/wxpython/wx.wms/serverList.txt
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.wms/serverList.txt	                        (rev 0)
+++ grass-addons/grass7/gui/wxpython/wx.wms/serverList.txt	2011-07-11 12:04:47 UTC (rev 47093)
@@ -0,0 +1,2 @@
+GisNetServer http://www.gisnet.lv/cgi-bin/topo
+VIZ_Globe http://viz.globe.gov/viz-bin/wmt.cgi

Modified: grass-addons/grass7/gui/wxpython/wx.wms/wmsmenu.py
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.wms/wmsmenu.py	2011-07-11 00:22:46 UTC (rev 47092)
+++ grass-addons/grass7/gui/wxpython/wx.wms/wmsmenu.py	2011-07-11 12:04:47 UTC (rev 47093)
@@ -19,7 +19,7 @@
         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.ServerList = wx.ComboBox(self, -1, choices=[], style=wx.CB_DROPDOWN|wx.CB_SIMPLE)
         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)
@@ -30,15 +30,29 @@
         self.__set_properties()
         self.__do_layout()
 
+        self.Bind(wx.EVT_TEXT_ENTER, self.OnServerListEnter, self.ServerList)
+        self.Bind(wx.EVT_COMBOBOX, self.OnServerList, self.ServerList)
         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')
-
+        
+        #Sudeep's Code Starts
+        #self.urlInput.SetValue('http://www.gisnet.lv/cgi-bin/topo')
+        f = open('serverList.txt','r')
+        lines = f.readlines()
+        self.servers = {}
+        for line in lines:
+            row = line.split()
+            if(len(row) == 2) :
+	            self.servers[row[0]] = row[1]
+            name = row[0]+" "+row[1][7:45]
+            self.ServerList.Append(name)
+        f.close()
+        self.selectedURL="No server selected"
+        #Sudeep's Code Ends
     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
@@ -51,7 +65,7 @@
         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_3.Add(self.ServerList, 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)
@@ -69,10 +83,11 @@
     
 
     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'
+        #Sudeep's Code Starts
+        #url = 'http://www.gisnet.lv/cgi-bin/topo?request=GetCapabilities&service=wms&version=1.1.1'
+    	#url = self.urlInput.GetValue()
+    	url = self.selectedURL
+    	url = url + '?request=GetCapabilities&service=wms&version=1.1.1'
     	print url
 	req = Request(url)
 	try:
@@ -88,17 +103,20 @@
 	except HTTPError, e:
 	    print 'The server couldn\'t fulfill the request.'
 	    print 'Error code: ', e.code
-	except URLError, e:
+	except URLError, e: 
 	    print 'We failed to reach a server.'
 	    print 'Reason: ', e.reason
 	else:
 	    print 'Successful'
+	    #Sudeep's Code Ends
         event.Skip()
 
     def OnGetMaps(self, event): # wxGlade: wmsFrame.<event_handler>
+        #Sudeep's Code Starts
         layername = self.layerSelected.GetValue()
-        url = self.urlInput.GetValue()
-    	self.url_in = url
+        #url = self.urlInput.GetValue()
+    	
+    	self.url_in = self.selectedURL
         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'
         
         
@@ -125,11 +143,48 @@
 	    print 'Reason: ', e.reason
 	else:
 	    print 'Successful'
+        #Sudeep's Code Ends
+        event.Skip()
 
+    def OnServerListEnter(self, event): # wxGlade: wmsFrame.<event_handler>
+        print "Event handler `OnServerListEnter' not implemented"
+        #Sudeep's Code Starts
+        print self.ServerList.CurrentSelection
+        newUrl = self.ServerList.GetValue()
+        self.ServerList.Append(newUrl)
+        
+        url = newUrl.split()
+        if(len(url)==2):
+            self.servers[url[0]] = url[1]
+            f = open('serverList.txt','a')
+            f.write(newUrl+"\n")
+            f.close()
+            self.selectedURL = url[1]
+            print self.selectedURL
+            print self.servers
+  
+        else:
+            print "Format not recognized, Format: Severname URL"
+        #Sudeep's Code Ends
         event.Skip()
 
+    def OnServerList(self, event): # wxGlade: wmsFrame.<event_handler>
+        print "Event handler `OnServerList' not implemented"
+        #Sudeep's Code Starts
+        print self.ServerList.CurrentSelection
+        url = self.ServerList.GetValue()
+        urlarr = url.split()
+        if(len(urlarr)==2):
+            self.selectedURL = self.servers[urlarr[0]]
+            print self.selectedURL
+        else:
+            print "Wrong format of URL selected"
+        #Sudeep's Code Ends
+        event.Skip()
+
 # end of class wmsFrame
 
+#Sudeep's Code Starts
 def DisplayWMSMenu():
      	app = wx.PySimpleApp(0)
     	wx.InitAllImageHandlers()
@@ -137,6 +192,7 @@
    	app.SetTopWindow(wms_Frame)
     	wms_Frame.Show()
     	app.MainLoop()
+#Sudeep's Code Ends
 
 if __name__ == "__main__":
     app = wx.PySimpleApp(0)



More information about the grass-commit mailing list