[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