[GRASS-SVN] r65932 - in grass-addons/grass7/gui/wxpython/wx.metadata: db.csw.admin db.csw.harvest db.csw.run g.gui.cswbrowser g.gui.metadata mdlib r.info.iso t.info.iso v.info.iso
svn_grass at osgeo.org
svn_grass at osgeo.org
Fri Aug 14 08:15:10 PDT 2015
Author: krejcmat
Date: 2015-08-14 08:15:10 -0700 (Fri, 14 Aug 2015)
New Revision: 65932
Modified:
grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.admin/db.csw.admin.html
grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.admin/db.csw.admin.py
grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.harvest/db.csw.harvest.html
grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.harvest/db.csw.harvest.py
grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.run/db.csw.run.html
grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.run/db.csw.run.py
grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/g.gui.cswbrowser.html
grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/g.gui.cswbrowser.py
grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/htmlRequest.html
grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/htmlResponse.html
grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.metadata/g.gui.metadata.html
grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.metadata/g.gui.metadata.py
grass-addons/grass7/gui/wxpython/wx.metadata/mdlib/cswlib.py
grass-addons/grass7/gui/wxpython/wx.metadata/mdlib/mdeditorfactory.py
grass-addons/grass7/gui/wxpython/wx.metadata/mdlib/mdpdffactory.py
grass-addons/grass7/gui/wxpython/wx.metadata/r.info.iso/r.info.iso.html
grass-addons/grass7/gui/wxpython/wx.metadata/r.info.iso/r.info.iso.py
grass-addons/grass7/gui/wxpython/wx.metadata/t.info.iso/t.info.iso.py
grass-addons/grass7/gui/wxpython/wx.metadata/v.info.iso/v.info.iso.html
grass-addons/grass7/gui/wxpython/wx.metadata/v.info.iso/v.info.iso.py
Log:
wx.metadata addons: fix path to libs, polish code
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.admin/db.csw.admin.html
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.admin/db.csw.admin.html 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.admin/db.csw.admin.html 2015-08-14 15:15:10 UTC (rev 65932)
@@ -15,35 +15,39 @@
In configure file must be setup few parameters for proper work of pycsw library.
<ul>
-<li>server.home<br>
-Path to folder with installed pycsw</li>
-<li>database.homez<br>
-Path to database with data of catalog. By default is set to SQLite database. E.g GRASS GIS sqlite database.</li>
-<li>server.url<br>
-For using local serever this parameter should by set to <a href="http://localhost:8000/">http://localhost:8000/</a></li>
+ <li>server.home<br>
+ Path to folder with installed pycsw
+ </li>
+ <li>database.homez<br>
+ Path to database with data of catalog. By default is set to SQLite database. E.g GRASS GIS sqlite database.
+ </li>
+ <li>server.url<br>
+ For using local serever this parameter should by set to <a
+ href="http://localhost:8000/">http://localhost:8000/</a></li>
</ul>
<div class="code"><pre>
v.harvest.iso source=http://www.rndt.gov.it/RNDT/CSW destionantion=http://localhost:8000/
-</pre></div>
+</pre>
+</div>
<h2>SEE ALSO</h2>
<em>
- <a href="r.info.html">r.info</a>,
- <a href="v.info.iso.html">v.info.iso</a>,
- <a href="g.gui.metadata.html">g.gui.metadata</a>
- <a href="g.gui.cswbrowser.html">g.gui.cswbrowser</a>
- <a href="db.csw.harvest">db.csw.harvest</a>
- <a href="db.csw.run">db.csw.run</a>
+ <a href="r.info.html">r.info</a>,
+ <a href="v.info.iso.html">v.info.iso</a>,
+ <a href="g.gui.metadata.html">g.gui.metadata</a>
+ <a href="g.gui.cswbrowser.html">g.gui.cswbrowser</a>
+ <a href="db.csw.harvest">db.csw.harvest</a>
+ <a href="db.csw.run">db.csw.run</a>
</em>
<p>
-See also related <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
+ See also related <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
<h2>AUTHOR</h2>
Matej Krejci, <a href="http://geo.fsv.cvut.cz/gwiki/osgeorel">OSGeoREL</a>
at the Czech Technical University in Prague, developed
during <a href="http://trac.osgeo.org/grass/wiki/GSoC/2014/MetadataForGRASS">Google
-Summer of Code 2015</a> (mentors: Martin Landa)
+ Summer of Code 2015</a> (mentors: Martin Landa)
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.admin/db.csw.admin.py
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.admin/db.csw.admin.py 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.admin/db.csw.admin.py 2015-08-14 15:15:10 UTC (rev 65932)
@@ -14,7 +14,7 @@
"""
-#%module
+# %module
#% description: CSW database manager
#% keyword: csw
#% keyword: metadata
@@ -118,23 +118,22 @@
import os
import ConfigParser
-from grass.pygrass.modules import Module
-from grass.script import parse_key_val
from grass.script import core as grass
-sys.path.insert(1, os.path.join(os.path.dirname(sys.path[0]), 'etc', 'mdlib'))
-from subprocess import PIPE
+
+sys.path.insert(1, os.path.join(os.path.dirname(sys.path[0]), 'etc', 'wx.metadata', 'mdlib'))
+
import getopt
from cswutil import *
-import shutil
+
try:
from pycsw.core import admin, config
except:
- sys.exit('pycsw library is missing. Check requirements on the manual page < https://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support >')
+ sys.exit(
+ 'pycsw library is missing. Check requirements on the manual page < https://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support >')
-
class CswAdmin():
def __init__(self):
self.COMMAND = None
@@ -246,7 +245,7 @@
try:
OPTS, ARGS = getopt.getopt(argv, 'c:f:ho:p:ru:x:s:t:y')
except getopt.GetoptError as err:
- grass.error( '\nERROR: %s' % err)
+ grass.error('\nERROR: %s' % err)
#print usage()
for o, a in OPTS:
@@ -311,6 +310,8 @@
elif self.COMMAND == 'delete_records':
admin.delete_records(self.CONTEXT, self.DATABASE, self.TABLE)
+
+
'''#TODO
def initDatabase(self):
driverDB = Module('db.connect',
@@ -319,8 +320,8 @@
stdout_=PIPE)
self.database = parse_key_val(driverDB.outputs.stdout, sep=': ')
conf = 'default.cfg'
- modif = os.path.join(os.getenv('GRASS_ADDON_BASE') ,'etc','config','default.cfg')
- defaultConf = os.path.join(os.getenv('GRASS_ADDON_BASE') ,'etc','config','default-sample.cfg')
+ modif = os.path.join(os.getenv('GRASS_ADDON_BASE') ,'wx.metadata','etc','config','default.cfg')
+ defaultConf = os.path.join(os.getenv('GRASS_ADDON_BASE'),'wx.metadata' ,'etc','config','default-sample.cfg')
print self.database
SCP = ConfigParser.SafeConfigParser()
@@ -364,6 +365,8 @@
#% guisection: Auto Config
#%end
'''
+
+
def main():
defaultConf = options['configure']
load_records = options['load_records']
@@ -381,7 +384,7 @@
csw = CswAdmin()
#if flags['a']:
- #csw.initDatabase()
+ #csw.initDatabase()
args = csw.argParser(defaultConf,
load_records,
loadRecurs,
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.harvest/db.csw.harvest.html
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.harvest/db.csw.harvest.html 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.harvest/db.csw.harvest.html 2015-08-14 15:15:10 UTC (rev 65932)
@@ -10,28 +10,29 @@
<h2>EXAMPLES</h2>
<p>
-Harvesting of remote cataloge to local:
+ Harvesting of remote cataloge to local:
<div class="code"><pre>
db.csw.harvest source=http://www.rndt.gov.it/RNDT/CSW destionantion=http://localhost:8000/
-</pre></div>
+</pre>
+</div>
<h2>SEE ALSO</h2>
<em>
- <a href="r.info.html">r.info</a>,
- <a href="v.info.iso.html">v.info.iso</a>,
- <a href="g.gui.metadata.html">g.gui.metadata</a>
- <a href="g.gui.cswbrowser.html">g.gui.cswbrowser</a>
- <a href="db.csw.admin">db.csw.admin</a>
- <a href="db.csw.run">db.csw.run</a>
+ <a href="r.info.html">r.info</a>,
+ <a href="v.info.iso.html">v.info.iso</a>,
+ <a href="g.gui.metadata.html">g.gui.metadata</a>
+ <a href="g.gui.cswbrowser.html">g.gui.cswbrowser</a>
+ <a href="db.csw.admin">db.csw.admin</a>
+ <a href="db.csw.run">db.csw.run</a>
</em>
<p>
-See also related <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
+ See also related <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
<h2>AUTHOR</h2>
Matej Krejci, <a href="http://geo.fsv.cvut.cz/gwiki/osgeorel">OSGeoREL</a>
at the Czech Technical University in Prague, developed
during <a href="http://trac.osgeo.org/grass/wiki/GSoC/2014/MetadataForGRASS">Google
-Summer of Code 2015</a> (mentors: Martin Landa)
+ Summer of Code 2015</a> (mentors: Martin Landa)
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.harvest/db.csw.harvest.py
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.harvest/db.csw.harvest.py 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.harvest/db.csw.harvest.py 2015-08-14 15:15:10 UTC (rev 65932)
@@ -18,7 +18,7 @@
"""
-#%module
+# %module
#% description: CSW database manager
#% keyword: csw
#% keyword: metadata
@@ -46,23 +46,27 @@
#% type: integer
#%end
-import sys,os
-sys.path.insert(1, os.path.join(os.path.dirname(sys.path[0]), 'etc', 'mdlib'))
+import sys
+import os
+
+sys.path.insert(1, os.path.join(os.path.dirname(sys.path[0]), 'etc', 'wx.metadata', 'mdlib'))
from grass.script import core as grass
+
try:
from owslib.csw import CatalogueServiceWeb
from owslib.ows import ExceptionReport
except:
- sys.exit('owslib python library is missing. Check requirements on the manual page < https://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support >')
+ sys.exit(
+ 'owslib python library is missing. Check requirements on the manual page < https://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support >')
#from __future__ import absolute_import
#from __future__ import print_function
-def harvest(source,dst):
- maxrecords=options['max']
- if options['max']==0 or None:
- maxrecords=10
+def harvest(source, dst):
+ maxrecords = options['max']
+ if options['max'] == 0 or None:
+ maxrecords = 10
stop = 0
flag = 0
@@ -80,28 +84,28 @@
print(src.results)
if src.results['nextrecord'] == 0 \
- or src.results['returned'] == 0 \
- or src.results['nextrecord'] > src.results['matches']: # end the loop, exhausted all records
+ or src.results['returned'] == 0 \
+ or src.results['nextrecord'] > src.results['matches']: # end the loop, exhausted all records
stop = 1
break
# harvest each record to destination CSW
for i in list(src.records):
source = '%s?service=CSW&version=2.0.2&request=GetRecordById&id=%s' % \
- (sys.argv[1], i)
+ (sys.argv[1], i)
dest.harvest(source=source, \
- resourcetype='http://www.isotc211.org/2005/gmd')
+ resourcetype='http://www.isotc211.org/2005/gmd')
#print dest.request
#print dest.response
flag = 1
-def _get_csw(catalog_url,timeout=10):
+def _get_csw(catalog_url, timeout=10):
"""function to init owslib.csw.CatalogueServiceWeb"""
# connect to the server
try:
- catalog = CatalogueServiceWeb(catalog_url,timeout=timeout)
+ catalog = CatalogueServiceWeb(catalog_url, timeout=timeout)
return catalog
except ExceptionReport, err:
msg = 'Error connecting to service: %s' % err
@@ -109,16 +113,16 @@
msg = 'Value Error: %s' % err
except Exception, err:
msg = 'Unknown Error: %s' % err
- grass.error( 'CSW Connection error: %s' % msg)
+ grass.error('CSW Connection error: %s' % msg)
return False
+
def main():
-
if not _get_csw(options['source']):
return
- harvest(options['source'],options['destination'])
+ harvest(options['source'], options['destination'])
if __name__ == "__main__":
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.run/db.csw.run.html
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.run/db.csw.run.html 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.run/db.csw.run.html 2015-08-14 15:15:10 UTC (rev 65932)
@@ -8,16 +8,16 @@
<h2>SEE ALSO</h2>
<em>
- <a href="r.info.html">r.info</a>,
- <a href="v.info.iso.html">v.info.iso</a>,
- <a href="g.gui.metadata.html">g.gui.metadata</a>
- <a href="db.csw.harvest">db.csw.harvest</a>
- <a href="db.csw.admin">db.csw.admin</a>
- <a href="db.csw.run">db.csw.run</a>
+ <a href="r.info.html">r.info</a>,
+ <a href="v.info.iso.html">v.info.iso</a>,
+ <a href="g.gui.metadata.html">g.gui.metadata</a>
+ <a href="db.csw.harvest">db.csw.harvest</a>
+ <a href="db.csw.admin">db.csw.admin</a>
+ <a href="db.csw.run">db.csw.run</a>
</em>
<p>
-See also related <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
+ See also related <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
<h2>AUTHOR</h2>
@@ -26,7 +26,7 @@
Krejci, <a href="http://geo.fsv.cvut.cz/gwiki/osgeorel">OSGeoREL</a>
at the Czech Technical University in Prague, developed
during <a href="http://trac.osgeo.org/grass/wiki/GSoC/2014/MetadataForGRASS">Google
-Summer of Code 2014</a> (mentors: Margherita Di Leo, Martin Landa)
+ Summer of Code 2014</a> (mentors: Margherita Di Leo, Martin Landa)
<p>
-<i>Last changed: $Date$</i>
+ <i>Last changed: $Date$</i>
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.run/db.csw.run.py
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.run/db.csw.run.py 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/db.csw.run/db.csw.run.py 2015-08-14 15:15:10 UTC (rev 65932)
@@ -41,7 +41,7 @@
# WSGIScriptAlias /pycsw-wsgi /var/www/pycsw/csw.wsgi
#
# <Directory /var/www/pycsw>
-# Order deny,allow
+# Order deny,allow
# Allow from all
# </Directory>
#
@@ -76,17 +76,21 @@
#%end
from StringIO import StringIO
-import os, sys
+import os
+import sys
+import contextlib
from grass.script import core as grass
-import contextlib
+
try:
from pycsw import server
except:
- sys.exit('pycsw library is missing. Check requirements on the manual page < https://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support >')
-app_path=None
+ sys.exit(
+ 'pycsw library is missing. Check requirements on the manual page < https://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support >')
+app_path = None
+
@contextlib.contextmanager
def application(env, start_response):
"""WSGI wrapper"""
@@ -112,7 +116,7 @@
gzip = False
if ('HTTP_ACCEPT_ENCODING' in env and
- env['HTTP_ACCEPT_ENCODING'].find('gzip') != -1):
+ env['HTTP_ACCEPT_ENCODING'].find('gzip') != -1):
# set for gzip compressed response
gzip = True
@@ -147,10 +151,11 @@
return [contents]
+
def main():
- path=options['path']
+ path = options['path']
port = int(options['port'])
- path=os.path.dirname(path)
+ path = os.path.dirname(path)
app_path = os.path.dirname(path)
sys.path.append(app_path)
@@ -159,8 +164,8 @@
try:
httpd = make_server('', port, application)
- grass.message( "Serving on port %d..." % port)
- except Exception,e:
+ grass.message("Serving on port %d..." % port)
+ except Exception, e:
grass.error(str(e))
sys.stdout.flush()
sys.exit()
@@ -168,6 +173,7 @@
httpd.serve_forever()
sys.stdout.flush()
+
if __name__ == "__main__":
options, flags = grass.parser()
main()
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/g.gui.cswbrowser.html
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/g.gui.cswbrowser.html 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/g.gui.cswbrowser.html 2015-08-14 15:15:10 UTC (rev 65932)
@@ -1,10 +1,10 @@
<h2>DESCRIPTION</h2>
<em>g.gui.cswbrowser</em> support searching and browsing metadata catalog based on
- <a href="http://www.opengeospatial.org/standards/cat">Catalogue Service(CSW)</a> standard .
+<a href="http://www.opengeospatial.org/standards/cat">Catalogue Service(CSW)</a> standard .
<p>
-The module allows to setting up connection to csw by uri and search metadata with using advanced filter.
+ The module allows to setting up connection to csw by uri and search metadata with using advanced filter.
<h2>NOTES</h2>
@@ -30,27 +30,34 @@
<h3>Bounding box</h3>
<ul>
- <li>Bounding box<br>
- Bounding box defined spatial extent for limitation of area. Button "Map extends" allows to set
- up values from current GRASS region.</li>
- <li>Keywords<br>
- This filter allows to use basic or advance keyword filtering. In the simple case user can define
- single keywords or multiple keywords with button "+". Logic operator between keywords is AND(&&).
- Second, advanced is based on OGC list of expressions which means that can be set filtr with logic
- relations between keywords or sets of keywords. Dialog for settings kewords text string is under
- "Advanced" checkbox. Syntax of constraints is based on python list syntax. Each keywords must be
- in braces<'>or<">.</li>
- <li><ul>
- <li>OR condition<br>
- a || b || c
- ["a","b","c"]</li>
- <li>AND condition<br>
- a && b && c
- [["a","b","c"]]</li>
- <li>composition<br>
- (a && b) || c || d || e
- [["a","b"],["c"],["d"],["e"]] or [["a","b"],"c","d","e"]</li>
- </ul></li>
+ <li>Bounding box<br>
+ Bounding box defined spatial extent for limitation of area. Button "Map extends" allows to set
+ up values from current GRASS region.
+ </li>
+ <li>Keywords<br>
+ This filter allows to use basic or advance keyword filtering. In the simple case user can define
+ single keywords or multiple keywords with button "+". Logic operator between keywords is AND(&&).
+ Second, advanced is based on OGC list of expressions which means that can be set filtr with logic
+ relations between keywords or sets of keywords. Dialog for settings kewords text string is under
+ "Advanced" checkbox. Syntax of constraints is based on python list syntax. Each keywords must be
+ in braces<'>or<">.
+ </li>
+ <li>
+ <ul>
+ <li>OR condition<br>
+ a || b || c
+ ["a","b","c"]
+ </li>
+ <li>AND condition<br>
+ a && b && c
+ [["a","b","c"]]
+ </li>
+ <li>composition<br>
+ (a && b) || c || d || e
+ [["a","b"],["c"],["d"],["e"]] or [["a","b"],"c","d","e"]
+ </li>
+ </ul>
+ </li>
</ul>
<h3>Browsing of metadata</h3>
@@ -62,16 +69,16 @@
<h2>SEE ALSO</h2>
<em>
- <a href="r.info.html">r.info</a>,
- <a href="v.info.iso.html">v.info.iso</a>,
- <a href="g.gui.metadata.html">g.gui.metadata</a>,
- <a href="db.csw.harvest">db.csw.harvest</a>,
- <a href="db.csw.admin">db.csw.admin</a>,
- <a href="db.csw.run">db.csw.run</a>
+ <a href="r.info.html">r.info</a>,
+ <a href="v.info.iso.html">v.info.iso</a>,
+ <a href="g.gui.metadata.html">g.gui.metadata</a>,
+ <a href="db.csw.harvest">db.csw.harvest</a>,
+ <a href="db.csw.admin">db.csw.admin</a>,
+ <a href="db.csw.run">db.csw.run</a>
</em>
<p>
-See also related <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
+ See also related <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
<h2>AUTHOR</h2>
@@ -79,7 +86,7 @@
Matej Krejci, <a href="http://geo.fsv.cvut.cz/gwiki/osgeorel">OSGeoREL</a>
at the Czech Technical University in Prague, developed
during <a href="http://trac.osgeo.org/grass/wiki/GSoC/2014/MetadataForGRASS">Google
-Summer of Code 2015</a> (mentors: Martin Landa)
+ Summer of Code 2015</a> (mentors: Martin Landa)
<p>
-<i>Last changed: $Date$</i>
+ <i>Last changed: $Date$</i>
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/g.gui.cswbrowser.py
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/g.gui.cswbrowser.py 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/g.gui.cswbrowser.py 2015-08-14 15:15:10 UTC (rev 65932)
@@ -10,13 +10,15 @@
@author Matej Krejci <matejkrejci gmail.com> (GSoC 2015)
"""
-import sys, os
+import sys
+import os
-sys.path.insert(1, os.path.join(os.path.dirname(sys.path[0]),'etc','wx.metadata','mdlib'))
+sys.path.insert(1, os.path.join(os.path.dirname(sys.path[0]), 'etc', 'wx.metadata', 'mdlib'))
import wx
-from cswlib import CSWBrowserPanel,CSWConnectionPanel
+from cswlib import CSWBrowserPanel, CSWConnectionPanel
import grass.script as grass
+
class CswBrowserMainDialog(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title="Metadata browser", size=(1024, 760))
@@ -35,12 +37,14 @@
self.mainsizer.Add(self.mainNotebook, 1, wx.EXPAND, )
self.SetSizer(self.mainsizer)
+
def main():
app = wx.App()
a = CswBrowserMainDialog()
a.Show()
app.MainLoop()
+
if __name__ == '__main__':
grass.parser()
main()
\ No newline at end of file
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/htmlRequest.html
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/htmlRequest.html 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/htmlRequest.html 2015-08-14 15:15:10 UTC (rev 65932)
@@ -13,12 +13,23 @@
</head>
<body>
<div class="highlight"><pre><span class="cp"><?xml version="1.0" ?></span>
-<span class="nt"><csw:GetRecords</span> <span class="na">maxRecords=</span><span class="s">"20"</span> <span class="na">outputFormat=</span><span class="s">"application/xml"</span> <span class="na">outputSchema=</span><span class="s">"http://www.opengis.net/cat/csw/2.0.2"</span> <span class="na">resultType=</span><span class="s">"results"</span> <span class="na">service=</span><span class="s">"CSW"</span> <span class="na">version=</span><span class="s">"2.0.2"</span> <span class="na">xmlns:csw=</span><span class="s">"http://www.opengis.net/cat/csw/2.0.2"</span> <span class="na">xmlns:xsi=</span><span class="s">"http://www.w3.org/2001/XMLSchema-instance"</span> <span class="na">xsi:schemaLocation=</span><span class="s">"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"</span><span class="nt">></span>
- <span class="nt"><csw:Query</span> <span class="na">typeNames=</span><span class="s">"csw:Record"</span><span class="nt">></span>
+<span class="nt"><csw:GetRecords</span> <span class="na">maxRecords=</span><span
+ class="s">"20"</span> <span class="na">outputFormat=</span><span class="s">"application/xml"</span> <span
+ class="na">outputSchema=</span><span class="s">"http://www.opengis.net/cat/csw/2.0.2"</span> <span
+ class="na">resultType=</span><span class="s">"results"</span> <span
+ class="na">service=</span><span class="s">"CSW"</span> <span class="na">version=</span><span
+ class="s">"2.0.2"</span> <span class="na">xmlns:csw=</span><span class="s">"http://www.opengis.net/cat/csw/2.0.2"</span> <span
+ class="na">xmlns:xsi=</span><span
+ class="s">"http://www.w3.org/2001/XMLSchema-instance"</span> <span
+ class="na">xsi:schemaLocation=</span><span class="s">"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"</span><span
+ class="nt">></span>
+ <span class="nt"><csw:Query</span> <span class="na">typeNames=</span><span
+ class="s">"csw:Record"</span><span class="nt">></span>
<span class="nt"><csw:ElementSetName></span>full<span class="nt"></csw:ElementSetName></span>
<span class="nt"></csw:Query></span>
<span class="nt"></csw:GetRecords></span>
-</pre></div>
+</pre>
+</div>
</body>
</html>
\ No newline at end of file
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/htmlResponse.html
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/htmlResponse.html 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.cswbrowser/htmlResponse.html 2015-08-14 15:15:10 UTC (rev 65932)
@@ -12,18 +12,33 @@
</style>
</head>
<body>
-<div class="highlight"><pre><span class="cp"><?xml version="1.0" encoding="utf-8"?></span>
-<span class="nt"><csw:GetRecordsResponse</span> <span class="na">xmlns:csw=</span><span class="s">"http://www.opengis.net/cat/csw/2.0.2"</span> <span class="na">xmlns:dc=</span><span class="s">"http://purl.org/dc/elements/1.1/"</span> <span class="na">xmlns:ogc=</span><span class="s">"http://www.opengis.net/ogc"</span> <span class="na">xmlns:dct=</span><span class="s">"http://purl.org/dc/terms/"</span> <span class="na">xmlns:ows=</span><span class="s">"http://www.opengis.net/ows"</span> <span class="na">xmlns:xsi=</span><span class="s">"http://www.w3.org/2001/XMLSchema-instance"</span><span class="nt">></span>
+<div class="highlight">
+<pre><span class="cp"><?xml version="1.0" encoding="utf-8"?></span>
+<span class="nt"><csw:GetRecordsResponse</span> <span class="na">xmlns:csw=</span><span class="s">"http://www.opengis.net/cat/csw/2.0.2"</span> <span
+ class="na">xmlns:dc=</span><span class="s">"http://purl.org/dc/elements/1.1/"</span> <span class="na">xmlns:ogc=</span><span
+ class="s">"http://www.opengis.net/ogc"</span> <span class="na">xmlns:dct=</span><span class="s">"http://purl.org/dc/terms/"</span> <span
+ class="na">xmlns:ows=</span><span class="s">"http://www.opengis.net/ows"</span> <span class="na">xmlns:xsi=</span><span
+ class="s">"http://www.w3.org/2001/XMLSchema-instance"</span><span class="nt">></span>
<span class="nt"><csw:RequestId</span> <span class="nt">/></span>
<span class="nt"><csw:SearchStatus</span> <span class="nt">/></span>
-<span class="nt"><csw:SearchResults</span> <span class="na">elementSet=</span><span class="s">"full"</span> <span class="na">recordSchema=</span><span class="s">"http://schemas.opengis.net/csw/2.0.2/record.xsd"</span> <span class="na">numberOfRecordsMatched=</span><span class="s">"17527"</span> <span class="na">numberOfRecordsReturned=</span><span class="s">"20"</span> <span class="na">nextRecord=</span><span class="s">"40"</span><span class="nt">></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:SearchResults</span> <span class="na">elementSet=</span><span class="s">"full"</span> <span
+ class="na">recordSchema=</span><span
+ class="s">"http://schemas.opengis.net/csw/2.0.2/record.xsd"</span> <span class="na">numberOfRecordsMatched=</span><span
+ class="s">"17527"</span> <span class="na">numberOfRecordsReturned=</span><span class="s">"20"</span> <span
+ class="na">nextRecord=</span><span class="s">"40"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>p_AR:00001:20120112:171634<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>PFVP Provincia di Arezzo - Zone di rispetto venatorio<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2005-12-28<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>Istituite dalle Province su richiesta delle ATC sul territorio destinato alla caccia programmata possono essere previste in due tipologie:<span class="ni">
</span>
- - zone vaste in cui prevista la possibilit di prelievo sulle specie non in indirizzo:<span class="ni">
</span>
- - zone di limitata estensione istituite soprattutto con riguardo alla piccola selvaggina stanziale.<span class="nt"></dct:abstract></span>
+<span class="nt"><dct:abstract></span>Istituite dalle Province su richiesta delle ATC sul territorio destinato alla caccia programmata possono essere previste in due tipologie:<span
+ class="ni">
</span>
+ - zone vaste in cui prevista la possibilit di prelievo sulle specie non in indirizzo:<span
+ class="ni">
</span>
+ - zone di limitata estensione istituite soprattutto con riguardo alla piccola selvaggina stanziale.<span
+ class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>pianificazione<span class="nt"></dc:subject></span>
<span class="nt"><dc:subject></span>gestione ambientale<span class="nt"></dc:subject></span>
@@ -42,11 +57,15 @@
<span class="nt"><ows:UpperCorner></span>12.3714 43.513237<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>r_molise:{E1CCB7E3-AE4F-48E0-A418-A6205DB72B83}<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>MOLISEDB.GIS.W_G_S381114<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2012-04-03<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>La feature class rappresenta un foglio della Carta Tecnica Regionale 1:5000. Il dato stato ricevuto dalla Regione Molise in formato shapefile.<span class="nt"></dct:abstract></span>
+<span class="nt"><dct:abstract></span>La feature class rappresenta un foglio della Carta Tecnica Regionale 1:5000. Il dato stato ricevuto dalla Regione Molise in formato shapefile.<span
+ class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>map<span class="nt"></dc:subject></span>
<span class="nt"><dc:subject></span>Utilizzo del territorio<span class="nt"></dc:subject></span>
@@ -64,11 +83,15 @@
<span class="nt"><ows:UpperCorner></span>14.874149 41.899003<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>r_molise:{B9315A15-C9C8-4080-A42B-D8998B24DD31}<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>MOLISEDB.GIS.W_G_S394083<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2012-04-06<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>La feature class rappresenta un foglio della Carta Tecnica Regionale 1:5000. Il dato stato ricevuto dalla Regione Molise in formato shapefile.<span class="nt"></dct:abstract></span>
+<span class="nt"><dct:abstract></span>La feature class rappresenta un foglio della Carta Tecnica Regionale 1:5000. Il dato stato ricevuto dalla Regione Molise in formato shapefile.<span
+ class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>map<span class="nt"></dc:subject></span>
<span class="nt"><dc:subject></span>Utilizzo del territorio<span class="nt"></dc:subject></span>
@@ -86,11 +109,15 @@
<span class="nt"><ows:UpperCorner></span>14.957496 41.724031<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>r_molise:{677D9AFF-0950-4067-B9A3-AFD8371C5FFA}<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>MOLISEDB.GIS.MO_DBP01G_Centri_Molise<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2012-03-08<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>Feature Class dei centri abitati DBPrior 10k livello 2 per intera Regione Molise. Dato consegnato dalla Regione Molise.<span class="nt"></dct:abstract></span>
+<span class="nt"><dct:abstract></span>Feature Class dei centri abitati DBPrior 10k livello 2 per intera Regione Molise. Dato consegnato dalla Regione Molise.<span
+ class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>land use classification<span class="nt"></dc:subject></span>
<span class="nt"><dc:subject></span>Utilizzo del territorio<span class="nt"></dc:subject></span>
@@ -107,12 +134,17 @@
<span class="nt"><ows:UpperCorner></span>15.080393 42.034867<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
-<span class="nt"><dc:identifier></span>r_umbria:00019:20100607:143032<span class="nt"></dc:identifier></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><dc:identifier></span>r_umbria:00019:20100607:143032<span
+ class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Rete geodetica Regione Umbria<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2010-06-07<span class="nt"></dct:modified></span>
<span class="nt"><dct:abstract></span>La rete geodetica planoaltimetrica della Regione Umbria<span class="ni">
</span>
-Costituisce un raffittimento della rete fondamentale IGM95 e nella sua configurazione definitiva costituita da 294 nuovi vertici che si aggiungono agli 87 vertici IGM95 esistenti, per un totale di 381 punti uniformemente distribuiti sul territorio regionale.<span class="nt"></dct:abstract></span>
+Costituisce un raffittimento della rete fondamentale IGM95 e nella sua configurazione definitiva costituita da 294 nuovi vertici che si aggiungono agli 87 vertici IGM95 esistenti, per un totale di 381 punti uniformemente distribuiti sul territorio regionale.<span
+ class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>Sistemi di coordinate<span class="nt"></dc:subject></span>
<span class="nt"><dc:subject></span>geoscientificInformation<span class="nt"></dc:subject></span>
@@ -129,11 +161,15 @@
<span class="nt"><ows:UpperCorner></span>13.2641895503866 43.6173443846477<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>r_molise:{F9F2F9E0-3898-4C3E-AE17-FE276C809F4E}<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>MOLISEDB.GIS.MM_Tmax_Ottobre<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2012-03-14<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>La feature class MM_Tmax_Ottobre, una feature class poligonale che rappresenta le aree con temperature massime misurate nel mese di Ottobre omogenee. Delle Temperature Massime sono considerati la massima, la media e la minima mensile. Ogni area stata calcolata per interpolazione a partire dai dati rilevati dalle singole stazioni di misura.<span class="nt"></dct:abstract></span>
+<span class="nt"><dct:abstract></span>La feature class MM_Tmax_Ottobre, una feature class poligonale che rappresenta le aree con temperature massime misurate nel mese di Ottobre omogenee. Delle Temperature Massime sono considerati la massima, la media e la minima mensile. Ogni area stata calcolata per interpolazione a partire dai dati rilevati dalle singole stazioni di misura.<span
+ class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>Condizioni atmosferiche<span class="nt"></dc:subject></span>
<span class="nt"><dc:subject></span>climatologyMeteorologyAtmosphere<span class="nt"></dc:subject></span>
@@ -149,11 +185,16 @@
<span class="nt"><ows:UpperCorner></span>15.161064 42.069535<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
-<span class="nt"><dc:identifier></span>r_umbria:00001:20091013:152425<span class="nt"></dc:identifier></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><dc:identifier></span>r_umbria:00001:20091013:152425<span
+ class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Carta fitoclimatica<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2009-12-01<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>Contiene le unit fitoclimatiche dell'Umbria che rientrano in due Regioni (Temperata Semioceanica di Transizione e Temperata Semioceanica) con l'individuazione sul territorio regionale dei 7 Piani bioclimatici (Collinare Submediterraneo, Basso-Collinare, Alto-Collinare, Collinare Subcontinentale, Basso-Montano, Alto-Montano, Subalpino-Alpino) e delle relative varianti.<span class="nt"></dct:abstract></span>
+<span class="nt"><dct:abstract></span>Contiene le unit fitoclimatiche dell'Umbria che rientrano in due Regioni (Temperata Semioceanica di Transizione e Temperata Semioceanica) con l'individuazione sul territorio regionale dei 7 Piani bioclimatici (Collinare Submediterraneo, Basso-Collinare, Alto-Collinare, Collinare Subcontinentale, Basso-Montano, Alto-Montano, Subalpino-Alpino) e delle relative varianti.<span
+ class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>Regioni biogeografiche<span class="nt"></dc:subject></span>
<span class="nt"><dc:subject></span>biota<span class="nt"></dc:subject></span>
@@ -169,16 +210,23 @@
<span class="nt"><ows:LowerCorner></span>11.8918873189186 42.3644489025728<span class="nt"></ows:LowerCorner></span>
<span class="nt"><ows:UpperCorner></span>13.2641895503866 43.6173443846477<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
-<span class="nt"><dc:URI</span> <span class="na">protocol=</span><span class="s">"WWW:DOWNLOAD-1.0-http--download"</span><span class="nt">></span>http://www.umbriaterritorio.it/CarteTematichePDF/004_.pdf<span class="nt"></dc:URI></span>
+<span class="nt"><dc:URI</span> <span class="na">protocol=</span><span class="s">"WWW:DOWNLOAD-1.0-http--download"</span><span
+ class="nt">></span>http://www.umbriaterritorio.it/CarteTematichePDF/004_.pdf<span
+ class="nt"></dc:URI></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>agea:403:20091007:081436<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Refresh Provincia Belluno 2009<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2009-07-01<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>copertura del suolo per usi agricoli della Provincia Belluno rappresentata nella proiezione conforme di Gauss-Boaga<span class="ni">
</span>
+<span class="nt"><dct:abstract></span>copertura del suolo per usi agricoli della Provincia Belluno rappresentata nella proiezione conforme di Gauss-Boaga<span
+ class="ni">
</span>
<span class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
-<span class="nt"><dc:subject></span>copertura del suolo per usi agricoli<span class="nt"></dc:subject></span>
+<span class="nt"><dc:subject></span>copertura del suolo per usi agricoli<span
+ class="nt"></dc:subject></span>
<span class="nt"><dc:subject></span>Orto immagini<span class="nt"></dc:subject></span>
<span class="nt"><dc:subject></span>farming<span class="nt"></dc:subject></span>
<span class="nt"><dc:language></span>ita<span class="nt"></dc:language></span>
@@ -194,11 +242,15 @@
<span class="nt"><ows:UpperCorner></span>12.74959784 46.68037467<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>agea:386:20090911:093825<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Ortofotocarta Mantova 2008<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2008-07-01<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Mantova alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span class="ni">
</span>
+<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Mantova alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span
+ class="ni">
</span>
<span class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>Orto immagini<span class="nt"></dc:subject></span>
@@ -218,11 +270,15 @@
<span class="nt"><ows:UpperCorner></span>11.42766438 45.42804199<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>agea:329:20090911:084441<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Ortofotocarta Alessandria 2009<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2009-07-01<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Alessandria alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span class="ni">
</span>
+<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Alessandria alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span
+ class="ni">
</span>
<span class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>ortofoto<span class="nt"></dc:subject></span>
@@ -242,11 +298,15 @@
<span class="nt"><ows:UpperCorner></span>9.21425034 45.20541861<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>agea:00389:20090911:094023<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Ortofotocarta Vibo Valentia 2009<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2009-07-01<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Vibo Valentia alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span class="ni">
</span>
+<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Vibo Valentia alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span
+ class="ni">
</span>
<span class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>Orto immagini<span class="nt"></dc:subject></span>
@@ -266,11 +326,16 @@
<span class="nt"><ows:UpperCorner></span>16.43470805 38.82446257<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
-<span class="nt"><dc:identifier></span>r_campan:16050018:20090527:103952<span class="nt"></dc:identifier></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><dc:identifier></span>r_campan:16050018:20090527:103952<span
+ class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Parchi Nazionali<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2009-07-31<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>Perimetrazioni dei Parchi Regionali presenti in Regione Campania<span class="nt"></dct:abstract></span>
+<span class="nt"><dct:abstract></span>Perimetrazioni dei Parchi Regionali presenti in Regione Campania<span
+ class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>Siti protetti<span class="nt"></dc:subject></span>
<span class="nt"><dc:subject></span>parchi nazionali<span class="nt"></dc:subject></span>
@@ -286,11 +351,15 @@
<span class="nt"><ows:UpperCorner></span>15.698097 40.873218<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>agea:00377:20090911:093144<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Ortofotocarta Trento 2008<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2008-07-01<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Trento alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span class="ni">
</span>
+<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Trento alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span
+ class="ni">
</span>
<span class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>Orto immagini<span class="nt"></dc:subject></span>
@@ -310,11 +379,15 @@
<span class="nt"><ows:UpperCorner></span>11.96285745 46.53297967<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>agea:00373:20090911:092903<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Ortofotocarta Terni 2008<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2008-07-01<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Terni alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span class="ni">
</span>
+<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Terni alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span
+ class="ni">
</span>
<span class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>fotografia aerea (immagine)<span class="nt"></dc:subject></span>
@@ -334,11 +407,15 @@
<span class="nt"><ows:UpperCorner></span>12.89633447 42.94310311<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>agea:00342:20090911:090542<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Ortofotocarta Piacenza 2008<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2008-07-01<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Piacenza alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span class="ni">
</span>
+<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Piacenza alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span
+ class="ni">
</span>
<span class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>ortofoto<span class="nt"></dc:subject></span>
@@ -358,11 +435,15 @@
<span class="nt"><ows:UpperCorner></span>10.08347854 45.13907144<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>agea:00330:20090911:084602<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Ortofotocarta Novara 2008<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2008-07-01<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Novara alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span class="ni">
</span>
+<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Novara alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span
+ class="ni">
</span>
<span class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>Orto immagini<span class="nt"></dc:subject></span>
@@ -382,11 +463,15 @@
<span class="nt"><ows:UpperCorner></span>9.82710733 40.86492774<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>agea:332:20090911:085547<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Ortofotocarta Asti 2009<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2009-07-01<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Asti alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span class="ni">
</span>
+<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Asti alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span
+ class="ni">
</span>
<span class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>Orto immagini<span class="nt"></dc:subject></span>
@@ -406,11 +491,15 @@
<span class="nt"><ows:UpperCorner></span>8.51258103 45.13293242<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>agea:377:20090911:093146<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Ortofotocarta Gorizia 2008<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2008-07-01<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Gorizia alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span class="ni">
</span>
+<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Gorizia alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span
+ class="ni">
</span>
<span class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>ortofoto<span class="nt"></dc:subject></span>
@@ -430,11 +519,15 @@
<span class="nt"><ows:UpperCorner></span>13.64284038 46.05129914<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>agea:00367:20090911:092454<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Ortofotocarta Salerno 2008<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2008-07-01<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Salerno alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span class="ni">
</span>
+<span class="nt"><dct:abstract></span>Ortofotocarta della Provincia Salerno alla scala 1:10.000 rappresentata nella proiezione conforme di Gauss-Boaga. Una sezione rappresenta la sedicesima parte di un foglio della serie IGM 1:50.000<span
+ class="ni">
</span>
<span class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
<span class="nt"><dc:subject></span>Orto immagini<span class="nt"></dc:subject></span>
@@ -454,14 +547,19 @@
<span class="nt"><ows:UpperCorner></span>15.80638769 40.84875212<span class="nt"></ows:UpperCorner></span>
<span class="nt"></ows:BoundingBox></span>
<span class="nt"></csw:Record></span>
-<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
+<span class="nt"><csw:Record</span> <span class="na">xmlns:ns2=</span><span class="s">"http://www.cnipa.gov.it/RNDT/Service"</span> <span
+ class="na">xmlns:srv=</span><span class="s">"http://www.isotc211.org/2005/srv"</span> <span
+ class="na">xmlns:gmd=</span><span class="s">"http://www.isotc211.org/2005/gmd"</span> <span
+ class="na">xmlns:gco=</span><span class="s">"http://www.isotc211.org/2005/gco"</span><span class="nt">></span>
<span class="nt"><dc:identifier></span>agea:419:20091012:090325<span class="nt"></dc:identifier></span>
<span class="nt"><dc:title></span>Refresh Provincia Cuneo 2009<span class="nt"></dc:title></span>
<span class="nt"><dct:modified></span>2009-07-01<span class="nt"></dct:modified></span>
-<span class="nt"><dct:abstract></span>copertura del suolo per usi agricoli della Provincia Cuneo rappresentata nella proiezione conforme di Gauss-Boaga<span class="ni">
</span>
+<span class="nt"><dct:abstract></span>copertura del suolo per usi agricoli della Provincia Cuneo rappresentata nella proiezione conforme di Gauss-Boaga<span
+ class="ni">
</span>
<span class="nt"></dct:abstract></span>
<span class="nt"><dc:type></span>Dataset<span class="nt"></dc:type></span>
-<span class="nt"><dc:subject></span>copertura del suolo per usi agricoli<span class="nt"></dc:subject></span>
+<span class="nt"><dc:subject></span>copertura del suolo per usi agricoli<span
+ class="nt"></dc:subject></span>
<span class="nt"><dc:subject></span>Orto immagini<span class="nt"></dc:subject></span>
<span class="nt"><dc:subject></span>farming<span class="nt"></dc:subject></span>
<span class="nt"><dc:language></span>ita<span class="nt"></dc:language></span>
@@ -479,7 +577,8 @@
<span class="nt"></csw:Record></span>
<span class="nt"></csw:SearchResults></span>
<span class="nt"></csw:GetRecordsResponse></span>
-</pre></div>
+</pre>
+</div>
</body>
</html>
\ No newline at end of file
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.metadata/g.gui.metadata.html
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.metadata/g.gui.metadata.html 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.metadata/g.gui.metadata.html 2015-08-14 15:15:10 UTC (rev 65932)
@@ -1,17 +1,21 @@
<h2>DESCRIPTION</h2>
-<em>g.gui.metadata</em> support advanced tools for metadata management according to <a href="http://www.iso.org/iso/catalogue_detail.htm?csnumber=26020">ISO
-19115</a>.
+<em>g.gui.metadata</em> support advanced tools for metadata management according to <a
+ href="http://www.iso.org/iso/catalogue_detail.htm?csnumber=26020">ISO
+ 19115</a>.
<p>
-Metadata editor includes graphical interface for conversion metadata from r.info and v.info to ISO based metadata, editing metadata files and creating metadata templates. In addition, the graphical module allows validating of INSPIRE and GRASS Basic profile.
+ Metadata editor includes graphical interface for conversion metadata from r.info and v.info to ISO based metadata,
+ editing metadata files and creating metadata templates. In addition, the graphical module allows validating of
+ INSPIRE and GRASS Basic profile.
<h2>NOTES</h2>
-For dependencies and installation instructions see <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
+For dependencies and installation instructions see <a
+ href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
-<h3>Naming of metadata files and storage</h3>
+<h3>Naming of metadata files and storage</h3>
Default location for exported metadata files is
@@ -20,8 +24,8 @@
maps <em>vector</em>. File ends with <em>.xml</em> extension.
<p>
-For example default metadata file name for vector map
-"roads" is <em>vector_roads.xml</em>.
+ For example default metadata file name for vector map
+ "roads" is <em>vector_roads.xml</em>.
<h3>Metadata profile</h3>
@@ -47,7 +51,8 @@
The basis of this editor is similar to r|v.info.iso. After selection of map, the editor convert native metadata of map to ISO based. By exported xml file is metadata editor initialized.
There are three options to select:
<b>basic</b>,
-<b>inspire</b> or <b>load custom</b>. Last one allows to load metadata profile from file. For example in case of using predefined template. The intersection of GRASS Basic profile(all available metadata for selected map) and loaded custom profile will proced with this selection.
+<b>inspire</b> or <b>load
+ custom</b>. Last one allows to load metadata profile from file. For example in case of using predefined template. The intersection of GRASS Basic profile(all available metadata for selected map) and loaded custom profile will proced with this selection.
<h4> External metadata editor</h4>
@@ -57,16 +62,21 @@
<h3>Defining templates</h3>
<p>
-This function allows to create pattern of metadata profile. In other words it support defining fixed values to template. With using created template, the editor does not initialize texts inputs of defined values. These attributes is able to see only in Tree Browser in editor. Direct link on this function is multiple editing mode (see below).
+ This function allows to create pattern of metadata profile. In other words it support defining fixed values to
+ template. With using created template, the editor does not initialize texts inputs of defined values. These
+ attributes is able to see only in Tree Browser in editor. Direct link on this function is multiple editing mode (see
+ below).
<p>
-If check-box of metadata attribute is checked, the OWSLib object in template will be replaced by value. Unchecked attributes will not change this 'part' of the template.
+ If check-box of metadata attribute is checked, the OWSLib object in template will be replaced by value. Unchecked
+ attributes will not change this 'part' of the template.
<p>
-The yellow background of text fields indicates metadata attributes, which are not possible get from GRASS map information.
+ The yellow background of text fields indicates metadata attributes, which are not possible get from GRASS map
+ information.
<h3>Editing metadata of multiple map selection</h3>
-This option can be used by selection of multiple maps in data catalog. To use pre-defined templete for this editing mode is suitable
+This option can be used by selection of multiple maps in data catalog. To use pre-defined templete for this editing mode is suitable
<h3>Validation of metadata profile </h3>
@@ -84,21 +94,20 @@
This function allows to automatically generate metadata reports to PDF document. Missed values are filled by "Unknown" string.
-
This tools supports ato generating report
<h2>SEE ALSO</h2>
<em>
- <a href="r.info.html">r.info</a>,
- <a href="v.info.iso.html">v.info.iso</a>,
- <a href="g.gui.metadata.html">g.gui.metadata</a>
- <a href="db.csw.harvest">db.csw.harvest</a>
- <a href="db.csw.admin">db.csw.admin</a>
- <a href="db.csw.run">db.csw.run</a>
+ <a href="r.info.html">r.info</a>,
+ <a href="v.info.iso.html">v.info.iso</a>,
+ <a href="g.gui.metadata.html">g.gui.metadata</a>
+ <a href="db.csw.harvest">db.csw.harvest</a>
+ <a href="db.csw.admin">db.csw.admin</a>
+ <a href="db.csw.run">db.csw.run</a>
</em>
<p>
-See also related <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
+ See also related <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
<h2>AUTHOR</h2>
@@ -107,7 +116,7 @@
Krejci, <a href="http://geo.fsv.cvut.cz/gwiki/osgeorel">OSGeoREL</a>
at the Czech Technical University in Prague, developed
during <a href="http://trac.osgeo.org/grass/wiki/GSoC/2014/MetadataForGRASS">Google
-Summer of Code 2014</a> (mentors: Margherita Di Leo, Martin Landa)
+ Summer of Code 2014</a> (mentors: Margherita Di Leo, Martin Landa)
<p>
-<i>Last changed: $Date$</i>
+ <i>Last changed: $Date$</i>
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.metadata/g.gui.metadata.py
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.metadata/g.gui.metadata.py 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/g.gui.metadata/g.gui.metadata.py 2015-08-14 15:15:10 UTC (rev 65932)
@@ -21,17 +21,19 @@
@author Matej Krejci <matejkrejci gmail.com> (GSoC 2014)
"""
-#%module
-#% description: Tool for creating and modifying map's metadata.
+# %module
+# % description: Tool for creating and modifying map's metadata.
#% keyword: general
#% keyword: GUI
#% keyword: metadata
#%end
-import sys,os
-sys.path.insert(1, os.path.join(os.path.dirname(sys.path[0]),'etc', 'mdlib'))
+import sys
+import os
+sys.path.insert(1, os.path.join(os.path.dirname(sys.path[0]), 'etc', 'wx.metadata' 'mdlib'))
+
from lxml import etree
import wx
from wx.lib.buttons import ThemedGenBitmapTextButton as BitmapBtnTxt
@@ -55,8 +57,9 @@
#===============================================================================
# MAIN FRAME
#===============================================================================
-MAINFRAME=None
+MAINFRAME = None
+
class MdMainFrame(wx.Frame):
'''Main frame of metadata editor
'''
@@ -81,33 +84,35 @@
self.second = False
self.secondAfterChoice = False
self.secondMultiEdit = False
- self.md=None
+ self.md = None
self.templateEditor = False
self.sb = self.CreateStatusBar()
self.cres = 0 # resizeFrame
self.nameTMPteplate = None
self.batch = False
- self.mdCreator=None
- self.editStatus=None
+ self.mdCreator = None
+ self.editStatus = None
self.onInitEditor()
- dispatcher.connect(self.initNewMD,signal= 'NEW_MD.create',sender=dispatcher.Any)
- dispatcher.connect(self.onEditingMode,signal= 'EDITING_MODE.update',sender=dispatcher.Any)
- dispatcher.connect(self.setStatusbarText,signal= 'STATUS_BAR_TEXT.update',sender=dispatcher.Any)
- dispatcher.connect(self.onRefreshTreeBrowser,signal= 'REFRESH_TREE_BROWSER.update',sender=dispatcher.Any)
- dispatcher.connect(self.onChangeEditMapProfile,signal= 'ISO_PROFILE.update',sender=dispatcher.Any)
- dispatcher.connect(self.onUpdateGrassMetadata,signal= 'GRASS_METADATA.update',sender=dispatcher.Any)
+ dispatcher.connect(self.initNewMD, signal='NEW_MD.create', sender=dispatcher.Any)
+ dispatcher.connect(self.onEditingMode, signal='EDITING_MODE.update', sender=dispatcher.Any)
+ dispatcher.connect(self.setStatusbarText, signal='STATUS_BAR_TEXT.update', sender=dispatcher.Any)
+ dispatcher.connect(self.onRefreshTreeBrowser, signal='REFRESH_TREE_BROWSER.update', sender=dispatcher.Any)
+ dispatcher.connect(self.onChangeEditMapProfile, signal='ISO_PROFILE.update', sender=dispatcher.Any)
+ dispatcher.connect(self.onUpdateGrassMetadata, signal='GRASS_METADATA.update', sender=dispatcher.Any)
def initConfigurePanel(self):
- self.configPanelLeft=wx.Panel(self.leftPanel, id=wx.ID_ANY)
+ self.configPanelLeft = wx.Panel(self.leftPanel, id=wx.ID_ANY)
self.SetMinSize((240, -1))
self.mapGrassEdit = True
- self.rbGrass = wx.RadioButton(self.configPanelLeft, id=wx.ID_ANY, label='Metadata map editor', style=wx.RB_GROUP)
+ self.rbGrass = wx.RadioButton(self.configPanelLeft, id=wx.ID_ANY, label='Metadata map editor',
+ style=wx.RB_GROUP)
self.rbExternal = wx.RadioButton(self.configPanelLeft, id=wx.ID_ANY, label='Metadata external editor')
- self.comboBoxProfile = wx.ComboBox(self.configPanelLeft, choices=['INSPIRE', 'GRASS BASIC', 'TEMPORAL','Load Custom'])
- dispatcher.connect( self.onSetProfile, signal='SET_PROFILE.update', sender=dispatcher.Any )
+ self.comboBoxProfile = wx.ComboBox(self.configPanelLeft,
+ choices=['INSPIRE', 'GRASS BASIC', 'TEMPORAL', 'Load Custom'])
+ dispatcher.connect(self.onSetProfile, signal='SET_PROFILE.update', sender=dispatcher.Any)
self.comboBoxProfile.SetStringSelection('INSPIRE')
self.Bind(wx.EVT_RADIOBUTTON, self.onSetRadioType, id=self.rbGrass.GetId())
@@ -143,59 +148,59 @@
bitmaSettings = wx.Image(
os.path.join(os.environ['GISBASE'], 'gui', 'icons', 'grass', 'settings.png'),
wx.BITMAP_TYPE_PNG).ConvertToBitmap()
- #-------------------------------------------------------------------- EDIT
+ #-------------------------------------------------------------------- EDIT
self.toolbar.AddSeparator()
bitmapEdit = wx.Image(
os.path.join(os.environ['GISBASE'], 'gui', 'icons', 'grass', 'edit.png'),
wx.BITMAP_TYPE_PNG).ConvertToBitmap()
- #-------------------------------------------------------------------- EDIT
- self.bttEdit = BitmapBtnTxt(self.toolbar, -1, bitmapEdit,size=(40, -1))
+ #-------------------------------------------------------------------- EDIT
+ self.bttEdit = BitmapBtnTxt(self.toolbar, -1, bitmapEdit, size=(40, -1))
self.toolbar.AddControl(control=self.bttEdit)
self.bttEdit.Disable()
- #-------------------------------------------------------------------- NEW SESION
+ #-------------------------------------------------------------------- NEW SESION
#self.toolbar.AddSeparator()
self.bttNew = BitmapBtnTxt(self.toolbar, -1, bitmapNew, '', size=(40, -1))
self.toolbar.AddControl(control=self.bttNew)
self.bttNew.Disable()
- #-------------------------------------------------------------------- NEW TEMPLATE
+ #-------------------------------------------------------------------- NEW TEMPLATE
self.bttCreateTemplate = BitmapBtnTxt(self.toolbar, -1, bitmapNew, "template", size=(100, -1))
self.toolbar.AddControl(control=self.bttCreateTemplate)
self.bttCreateTemplate.Disable()
self.toolbar.AddSeparator()
- #----------------------------------------------------------------- OPEN TEMPLATE
+ #----------------------------------------------------------------- OPEN TEMPLATE
self.bttLoad = BitmapBtnTxt(self.toolbar, -1, bitmapLoad, "profile", size=(100, -1))
self.toolbar.AddControl(control=self.bttLoad)
self.bttLoad.Disable()
- #---------------------------------------------------------------------- OPEN XML
+ #---------------------------------------------------------------------- OPEN XML
self.bttLoadXml = BitmapBtnTxt(self.toolbar, -1, bitmapLoad, "xml")
self.toolbar.AddControl(control=self.bttLoadXml)
self.bttLoadXml.Disable()
self.toolbar.AddSeparator()
- #-------------------------------------------------------------------------- export xml
+ #-------------------------------------------------------------------------- export xml
self.bttSave = BitmapBtnTxt(self.toolbar, -1, bitmapSave, "xml")
self.bttSave.Disable()
self.toolbar.AddControl(control=self.bttSave)
- #-------------------------------------------------------------------------- export template
+ #-------------------------------------------------------------------------- export template
self.bttSaveTemplate = BitmapBtnTxt(self.toolbar, -1, bitmapSave, "template", size=(100, -1))
self.bttSaveTemplate.Disable()
self.toolbar.AddControl(control=self.bttSaveTemplate)
- #-------------------------------------------------------------------------- update grass
+ #-------------------------------------------------------------------------- update grass
self.bttUpdateGRASS = BitmapBtnTxt(self.toolbar, -1, bitmapSave, "GRASS", size=(100, -1))
self.bttUpdateGRASS.Disable()
self.toolbar.AddControl(control=self.bttUpdateGRASS)
- #-------------------------------------------------------------------------- export pdf
+ #-------------------------------------------------------------------------- export pdf
self.bttExportPdf = BitmapBtnTxt(self.toolbar, -1, bitmapSave, "pdf", size=(100, -1))
self.bttExportPdf.Disable()
self.toolbar.AddControl(control=self.bttExportPdf)
self.toolbar.AddSeparator()
- #-------------------------------------------------------------------------- publish csw
+ #-------------------------------------------------------------------------- publish csw
self.bttExportCSW = BitmapBtnTxt(self.toolbar, -1, bitmapSave, "csw", size=(100, -1))
self.bttExportCSW.Disable()
self.toolbar.AddControl(control=self.bttExportCSW)
self.toolbar.AddSeparator()
- #-------------------------------------------------------------------------- Config
+ #-------------------------------------------------------------------------- Config
self.bttConfig = BitmapBtnTxt(self.toolbar, -1, bitmaSettings, "", size=(40, -1))
self.toolbar.AddControl(control=self.bttConfig)
self.toolbar.AddSeparator()
@@ -212,16 +217,16 @@
self.bttExportCSW.Bind(wx.EVT_BUTTON, self.onExportCSW)
self.bttCreateTemplate.Bind(wx.EVT_BUTTON, self.onCreateTemplate)
self.bttExportPdf.Bind(wx.EVT_BUTTON, self.onExportPdf)
- self.bttConfig.Bind(wx.EVT_BUTTON,self.onSettings)
+ self.bttConfig.Bind(wx.EVT_BUTTON, self.onSettings)
- def onExportCSW(self,evt):
+ def onExportCSW(self, evt):
self.cswDialog = wx.Dialog(self, id=wx.ID_ANY,
- title='Geometry creator',
- style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER,
- size=wx.DefaultSize,
- pos=wx.DefaultPosition)
+ title='Geometry creator',
+ style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER,
+ size=wx.DefaultSize,
+ pos=wx.DefaultPosition)
- self.cswPanel=CswPublisher(self.cswDialog,self)
+ self.cswPanel = CswPublisher(self.cswDialog, self)
self.cswDialog.SetSize((1024, 760))
self.cswPanel.publishBtt.Bind(wx.EVT_BUTTON, self._onExportCsw)
@@ -232,29 +237,29 @@
self.cswDialog.ShowModal()
self.cswDialog.Destroy()
- def _onExportCsw(self,evt):
+ def _onExportCsw(self, evt):
self.exportXMLTemp()
XMLhead, XMLtail = os.path.split(self.xmlPath)
- outPath=tempfile.gettempdir()
- path=os.path.join(outPath,XMLtail)
+ outPath = tempfile.gettempdir()
+ path = os.path.join(outPath, XMLtail)
self.cswPanel.publishCSW(str(path))
- def onExportPdf(self,evt):
+ def onExportPdf(self, evt):
XMLhead, XMLtail = os.path.split(self.xmlPath)
dlg = wx.FileDialog(self,
message="Set output file",
defaultDir=self.mdDestination,
- defaultFile=XMLtail.split('.')[0]+'.pdf',
+ defaultFile=XMLtail.split('.')[0] + '.pdf',
wildcard="*.pdf",
style=wx.SAVE | wx.FD_OVERWRITE_PROMPT)
if dlg.ShowModal() == wx.ID_OK:
- outPath=dlg.GetDirectory()
- outFileName=dlg.GetFilename()
+ outPath = dlg.GetDirectory()
+ outFileName = dlg.GetFilename()
- self.exportPDF(outPath=outPath,outFileName=outFileName)
- if mdutil.yesNo(self,'Do you want to open report?'):
- webbrowser.open(os.path.join(outPath,outFileName))
+ self.exportPDF(outPath=outPath, outFileName=outFileName)
+ if mdutil.yesNo(self, 'Do you want to open report?'):
+ webbrowser.open(os.path.join(outPath, outFileName))
def onSettings(self, evt):
dlg = wx.DirDialog(self,
@@ -297,7 +302,8 @@
try: # if multiediting mode ON
if self.numOfMap > 1:
XMLhead, XMLtail = os.path.split(self.xmlPath)
- self.batch = mdutil.yesNo(self, 'Do you want to save metadata of: <%s> without editing ? ' % XMLtail, 'Multiple editing')
+ self.batch = mdutil.yesNo(self, 'Do you want to save metadata of: <%s> without editing ? ' % XMLtail,
+ 'Multiple editing')
if self.batch:
self.onSaveXML()
except:
@@ -348,7 +354,7 @@
if dlg.ShowModal() == wx.ID_OK:
self.onExportTemplate(outPath=dlg.GetDirectory(),
- outFileName=dlg.GetFilename())
+ outFileName=dlg.GetFilename())
def onLoadTemplate(self, evt):
dlg = wx.FileDialog(self,
@@ -365,7 +371,7 @@
self.updateXMLorTemplate()
dlg.Destroy()
- def onSaveXML(self, evt=None,path=None):
+ def onSaveXML(self, evt=None, path=None):
self.XMLhead, self.XMLtail = os.path.split(self.xmlPath)
if not self.batch: # if normal saving with user-task-dialog
dlg = wx.FileDialog(self,
@@ -378,19 +384,19 @@
if dlg.ShowModal() == wx.ID_OK:
self.exportXML(outPath=dlg.GetDirectory(), outFileName=dlg.GetFilename())
if self.bttSave.GetLabelText() == 'next':
- self.editMapMetadata( multipleEditing=True)
+ self.editMapMetadata(multipleEditing=True)
else:
if self.bttSave.GetLabelText() == 'next':
ask = mdutil.yesNo(self, 'File is not saved. Do you want to save it? ', 'Save dialog')
if ask:
self.onSaveXML()
- self.editMapMetadata( multipleEditing=True)
+ self.editMapMetadata(multipleEditing=True)
else:
GMessage('File not saved')
dlg.Destroy()
else:
- self.exportXML( outPath=None, outFileName=None)
- self.editMapMetadata( multipleEditing=True)
+ self.exportXML(outPath=None, outFileName=None)
+ self.editMapMetadata(multipleEditing=True)
def onUpdateGrassMetadata(self):
'''Update r.support and v.support
@@ -456,28 +462,28 @@
def exportPDF(self, outPath, outFileName):
self.initNewMD()
- pdfFile=os.path.join(outPath,outFileName)
+ pdfFile = os.path.join(outPath, outFileName)
- if self.mdCreator is None and self.extendEdit: #if editing map from grass database
- profileName=os.path.basename(self.jinjaPath)
- xmlFile=os.path.basename(self.xmlPath)
- doc = PdfCreator(self.md, pdfFile, map=None, type=None,filename=xmlFile,profile=profileName)
- else: #if editing map from external editor
- filename,type,map,profile=self.mdCreator.getMapInfo()
- doc = PdfCreator(self.md, pdfFile, map, type,filename,profile)
+ if self.mdCreator is None and self.extendEdit: #if editing map from grass database
+ profileName = os.path.basename(self.jinjaPath)
+ xmlFile = os.path.basename(self.xmlPath)
+ doc = PdfCreator(self.md, pdfFile, map=None, type=None, filename=xmlFile, profile=profileName)
+ else: #if editing map from external editor
+ filename, type, map, profile = self.mdCreator.getMapInfo()
+ doc = PdfCreator(self.md, pdfFile, map, type, filename, profile)
try:
- path=doc.createPDF()
- GMessage('Metadata report has been exported to < %s >'%path)
+ path = doc.createPDF()
+ GMessage('Metadata report has been exported to < %s >' % path)
except:
- GError('Export pdf error %s'% sys.exc_info()[0])
+ GError('Export pdf error %s' % sys.exc_info()[0])
def exportXMLTemp(self):
XMLhead, XMLtail = os.path.split(self.xmlPath)
- outPath=tempfile.gettempdir()
+ outPath = tempfile.gettempdir()
self.editor.exportToXml(self.jinjaPath,
- outPath=outPath,
- xmlOutName=XMLtail,
- msg=False)
+ outPath=outPath,
+ xmlOutName=XMLtail,
+ msg=False)
def exportXML(self, outPath, outFileName):
'''Save metadta xml file
@@ -525,7 +531,7 @@
def initNewMD(self):
'''Init new md OWSLib object
'''
- self.md=self.editor.saveMDfromGUI()
+ self.md = self.editor.saveMDfromGUI()
self.ntbRight.md = self.editor.md
def resizeFrame(self, x1=1, y1=0):
@@ -547,7 +553,7 @@
def onEditingMode(self, editStatus):
self.resizeFrame()
- self.editStatus=editStatus
+ self.editStatus = editStatus
self.Layout()
if editStatus:
self.MdDataCatalogPanelLeft.Show()
@@ -562,17 +568,17 @@
self.sb.SetStatusText('')
self.MdDataCatalogPanelLeft.UnselectAll()
- def chckProfileSelection(self,type):
- parent=self.MdDataCatalogPanelLeft.GetSelection()
+ def chckProfileSelection(self, type):
+ parent = self.MdDataCatalogPanelLeft.GetSelection()
while True:
- text=self.MdDataCatalogPanelLeft.GetItemText(parent)
+ text = self.MdDataCatalogPanelLeft.GetItemText(parent)
if text == 'Temporal maps':
- baseType='temporal'
+ baseType = 'temporal'
break
- elif text == 'Spatial maps':
- baseType='spatial'
+ elif text == 'Spatial maps':
+ baseType = 'spatial'
break
- parent=self.MdDataCatalogPanelLeft.GetItemParent(parent)
+ parent = self.MdDataCatalogPanelLeft.GetItemParent(parent)
if baseType == type:
return True
else:
@@ -596,10 +602,10 @@
# if editing just one map
if self.numOfMap == 1 and multipleEditing is False:
- if self.profileChoice == 'INSPIRE' :
+ if self.profileChoice == 'INSPIRE':
if self.chckProfileSelection('spatial'):
self.mdCreator = mdgrass.GrassMD(self.ListOfMapTypeDict[-1][self.ListOfMapTypeDict[-1].keys()[0]],
- self.ListOfMapTypeDict[-1].keys()[0])
+ self.ListOfMapTypeDict[-1].keys()[0])
self.mdCreator.createGrassInspireISO()
self.jinjaPath = self.mdCreator.profilePathAbs
else:
@@ -609,7 +615,7 @@
elif self.profileChoice == 'GRASS BASIC':
if self.chckProfileSelection('spatial'):
self.mdCreator = mdgrass.GrassMD(self.ListOfMapTypeDict[-1][self.ListOfMapTypeDict[-1].keys()[0]],
- self.ListOfMapTypeDict[-1].keys()[0])
+ self.ListOfMapTypeDict[-1].keys()[0])
self.mdCreator.createGrassBasicISO()
self.jinjaPath = self.mdCreator.profilePathAbs
else:
@@ -619,7 +625,7 @@
elif self.profileChoice == 'TEMPORAL':
if self.chckProfileSelection('temporal'):
self.mdCreator = mdgrass.GrassMD(self.ListOfMapTypeDict[-1][self.ListOfMapTypeDict[-1].keys()[0]],
- self.ListOfMapTypeDict[-1].keys()[0])
+ self.ListOfMapTypeDict[-1].keys()[0])
self.mdCreator.createTemporalISO()
self.jinjaPath = self.mdCreator.profilePathAbs
else:
@@ -630,7 +636,7 @@
self.onInitEditor()
# if editing multiple maps or just one but with loading own custom profile
if self.profileChoice == 'Load Custom' and self.numOfMap != 0:
- # load profile. IF - just one map, ELSE - multiple editing
+ # load profile. IF - just one map, ELSE - multiple editing
if multipleEditing is False:
dlg = wx.FileDialog(self, "Select profile", os.getcwd(), "", "*.xml", wx.OPEN)
if dlg.ShowModal() == wx.ID_OK:
@@ -670,7 +676,8 @@
if self.batch and multipleEditing:
XMLhead, XMLtail = os.path.split(self.xmlPath)
- self.batch = mdutil.yesNo(self, 'Do you want to save metadata of : %s without editing ? ' % XMLtail, 'Multiple editing')
+ self.batch = mdutil.yesNo(self, 'Do you want to save metadata of : %s without editing ? ' % XMLtail,
+ 'Multiple editing')
if self.batch:
self.batch = True
@@ -682,7 +689,7 @@
'''
if self.firstAfterChoice and not self.secondMultiEdit:
self.splitter = SplitterWindow(self, style=wx.SP_3D |
- wx.SP_LIVE_UPDATE | wx.SP_BORDER)
+ wx.SP_LIVE_UPDATE | wx.SP_BORDER)
self.Hsizer.Add(self.splitter, proportion=1, flag=wx.EXPAND)
self.firstAfterChoice = False
@@ -708,7 +715,7 @@
self.secondAfterChoice = True
self.onInitEditor()
- def onInitEditor(self,):
+ def onInitEditor(self, ):
'''Initialize editor
@var first: True= First initialize main frame
@var firstAfterChoice: True=Init editor editor after set configuration and click onEdit in toolbar
@@ -817,11 +824,12 @@
self.resizeFrame(300, 0)
self.Layout()
+
+
#===============================================================================
# DATA CATALOG
#===============================================================================
class MdDataCatalog(datacatalog.LocationMapTree):
-
'''Data catalog for selecting GRASS maps for editing
'''
@@ -829,14 +837,14 @@
"""Test Tree constructor."""
super(MdDataCatalog, self).__init__(parent=parent,
style=wx.TR_MULTIPLE | wx.TR_HIDE_ROOT | wx.TR_HAS_BUTTONS |
- wx.TR_FULL_ROW_HIGHLIGHT | wx.TR_COLUMN_LINES)
+ wx.TR_FULL_ROW_HIGHLIGHT | wx.TR_COLUMN_LINES)
tgis.init(True)
self.dbif = tgis.SQLDatabaseInterfaceConnection()
self.dbif.connect()
self.InitTreeItems()
self.map = None
self.mapType = None
- self.baseType=None
+ self.baseType = None
def __del__(self):
"""Close the database interface and stop the messenger and C-interface
@@ -849,9 +857,9 @@
def InitTreeItems(self):
"""Add locations and layers to the tree"""
- self.rootTmp=self.root
- var=self.AppendItem(self.root,'Spatial maps')
- self.root=var
+ self.rootTmp = self.root
+ var = self.AppendItem(self.root, 'Spatial maps')
+ self.root = var
gisenv = grass.gisenv()
location = gisenv['LOCATION_NAME']
@@ -860,7 +868,7 @@
self.initTemporalTree(location=location, mapset=self.mapset)
- def initGrassTree(self,location , mapset):
+ def initGrassTree(self, location, mapset):
"""Add locations, mapsets and layers to the tree."""
self.ChangeEnvironment(location)
@@ -893,7 +901,7 @@
self.AppendItem(vartype, mlayer)
- def initTemporalTree(self,location , mapset ):
+ def initTemporalTree(self, location, mapset):
varloc = self.AppendItem(self.rootTmp, 'Temporal maps')
tDict = tgis.tlist_grouped('stds', group_type=True, dbif=self.dbif)
# nested list with '(map, mapset, etype)' items
@@ -906,22 +914,12 @@
mapsets = tgis.get_tgis_c_library_interface().available_mapsets()
allDatasets = [i for i in sorted(allDatasets,
key=lambda l: mapsets.index(l[1]))]
- #print allDatasets
- #if not location:
- # location = GetListOfLocations(self.gisdbase)
- #if not self.mapset:
- # mapsets = ['*']
first = True
- #for loc in location:
- #location = loc
- #self.ChangeEnvironment(location)
- loc=location
+ loc = location
varloc = self.AppendItem(varloc, loc)
- #self.ChangeEnvironment(loc)
- # add all mapsets
+
self.AppendItem(varloc, mapset)
-
# get list of all maps in location
for ml in allDatasets:
# add mapset
@@ -953,9 +951,9 @@
self.ListOfMapTypeDict = list()
maps = list()
if evt is not None:
- item=evt.Item
+ item = evt.Item
else:
- item=self.GetSelection()
+ item = self.GetSelection()
if self.GetChildrenCount(item) == 0: # is selected map
#check temporal selection
@@ -991,27 +989,26 @@
status += map + ' '
if len(maps) > 1:
- dispatcher.send( signal='SET_PROFILE.update',profile='Load Custom')
+ dispatcher.send(signal='SET_PROFILE.update', profile='Load Custom')
MAINFRAME.bttUpdateGRASS.Disable()
MAINFRAME.bttCreateTemplate.Disable()
else:
MAINFRAME.bttCreateTemplate.Enable(True)
- dispatcher.send( signal='STATUS_BAR_TEXT.update',text=status)
+ dispatcher.send(signal='STATUS_BAR_TEXT.update', text=status)
+
#===============================================================================
# NOTEBOOK ON THE RIGHT SIDE-xml browser+validator
#===============================================================================
class NotebookRight(wx.Notebook):
-
'''Include pages with xml tree browser and validator of metadata
'''
def __init__(self, parent, path):
-
wx.Notebook.__init__(self, parent=parent, id=wx.ID_ANY)
# first panel
self.notebookValidator = wx.Panel(self, wx.ID_ANY)
@@ -1043,7 +1040,7 @@
pass
def onRefreshXmlBrowser(self, evt=None):
- dispatcher.send( signal='REFRESH_TREE_BROWSER.update')
+ dispatcher.send(signal='REFRESH_TREE_BROWSER.update')
def refreshXmlBrowser(self, path):
treeBCK = self.tree
@@ -1056,8 +1053,8 @@
def validate(self, evt):
self.md = None
- dispatcher.send( signal='NEW_MD.create')
- dispatcher.send( signal='ISO_PROFILE.update')
+ dispatcher.send(signal='NEW_MD.create')
+ dispatcher.send(signal='ISO_PROFILE.update')
self.validator.validate(self.md, self.profile)
@@ -1076,13 +1073,14 @@
#panelSizer2 = wx.BoxSizer(wx.VERTICAL)
# self.notebook_panel2.SetSizer(panelSizer2)
# panelSizer2.Add(self.notebook_panel2,flag=wx.EXPAND, proportion=1)
+
+
#===============================================================================
# HELP
#===============================================================================
class MDHelp(wx.Panel):
-
"""
class MyHtmlPanel inherits wx.Panel and adds a button and HtmlWindow
"""
@@ -1099,13 +1097,14 @@
self.mainSizer = wx.BoxSizer(wx.VERTICAL)
self.SetSizer(self.mainSizer)
self.mainSizer.Add(self.html1, proportion=1, flag=wx.EXPAND)
+
+
#===============================================================================
# TREE EDITOR
#===============================================================================
class TreeBrowser(wx.TreeCtrl):
-
'''Filling text tree by xml file.
@note: to enable editing mode of init xml uncomment blocks below
'''
@@ -1180,13 +1179,13 @@
else:
self.CollapseAllChildren(evt.Item)
+
#===============================================================================
# INSPIRE VALIDATOR PANEL
#===============================================================================
class MdValidator(wx.Panel):
-
'''wx panel of notebook which supports validating two natively implemented profiles
'''
@@ -1194,8 +1193,8 @@
wx.Panel.__init__(self, parent=parent, id=wx.ID_ANY)
self.text = wx.TextCtrl(parent, id=wx.ID_ANY, size=(0, 55),
style=wx.VSCROLL |
- wx.TE_MULTILINE | wx.TE_NO_VSCROLL |
- wx.TAB_TRAVERSAL | wx.RAISED_BORDER | wx.HSCROLL)
+ wx.TE_MULTILINE | wx.TE_NO_VSCROLL |
+ wx.TAB_TRAVERSAL | wx.RAISED_BORDER | wx.HSCROLL)
self._layout()
def _layout(self):
@@ -1233,21 +1232,23 @@
# CSW
#===============================================================================
class CswPublisher(CSWConnectionPanel):
- def __init__(self,parent,main):
- super(CswPublisher, self).__init__(parent, main,cswBrowser=False)
- self.publishBtt=wx.Button(self.panelLeft,label='Publish')
+ def __init__(self, parent, main):
+ super(CswPublisher, self).__init__(parent, main, cswBrowser=False)
+ self.publishBtt = wx.Button(self.panelLeft, label='Publish')
self.configureSizer.AddSpacer(40, 10, 1, wx.EXPAND)
self.configureSizer.Add(self.publishBtt, 0, wx.EXPAND)
self.publishBtt.SetBackgroundColour((255, 127, 80))
+
#----------------------------------------------------------------------
def main():
global MAINFRAME
app = wx.App(False)
- MAINFRAME=MdMainFrame()
+ MAINFRAME = MdMainFrame()
app.MainLoop()
+
if __name__ == '__main__':
grass.parser()
main()
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/mdlib/cswlib.py
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/mdlib/cswlib.py 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/mdlib/cswlib.py 2015-08-14 15:15:10 UTC (rev 65932)
@@ -100,7 +100,6 @@
self.constString = ''
sizeConst = 55
self.splitterBrowser = SplitterWindow(self, style=wx.SP_3D | wx.SP_LIVE_UPDATE | wx.SP_BORDER)
- # self.connectionFilePath = os.path.join('config', 'connections_resources.xml')
self.context=StaticContext()
self.connectionFilePath = os.path.join(self.context.addonsPath, 'connections_resources.xml')
self.pnlLeft = wx.Panel(self.splitterBrowser, id=wx.ID_ANY)
@@ -110,15 +109,12 @@
self.numResultsLbl = wx.StaticText(self.pnlLeft, -1, 'Max')
self.catalogLbl = wx.StaticText(self.pnlLeft, -1, 'Catalog')
self.findResNumLbl = wx.StaticText(self.pnlLeft, -1, '')
- # self.advancedFilter = wx.Button(self.pnlLeft,-1,'Advanced')
self.advanceChck = wx.CheckBox(self.pnlLeft, label='Advanced')
self.advanceChck.Bind(wx.EVT_CHECKBOX, self.OnKeywordDialog)
self.stbFind = wx.StaticBox(self.pnlLeft, -1, 'Filter')
self.stbSearch = wx.StaticBox(self.pnlLeft, -1, 'Search settings')
- # self.abstractCtrl = wx.TextCtrl(self.pnlRight, style=wx.TE_MULTILINE | wx.HSCROLL)
-
self.catalogCmb = wx.ComboBox(self.pnlLeft, id=-1, pos=wx.DefaultPosition)
self.keywordCtr = wx.TextCtrl(self.pnlLeft)
self.catalogCmb.Bind(wx.EVT_COMBOBOX, self.OnSetCatalog)
@@ -235,9 +231,7 @@
self.constString = self.constrPnl.constrCtrl.GetValue()
if self.constString == '':
return
- # print self.constString
constString = 'self.constraints=' + self.constString
- # print(constString)
try:
exec (constString)
except:
@@ -270,7 +264,6 @@
self.Fit()
def OnShowReguest(self, evt):
- # if self.webBrowser.GetValue:
request_html = encodeString(highlight_xml(self.context, self.catalog.request))
path = 'htmlRequest.html'
@@ -282,8 +275,6 @@
self.htmlView.SetPage((renderXML(self.context, self.catalog.request)))
def OnShowResponse(self, evt):
- # if self.webBrowser.GetValue:
- # print self.catalog.response
response_html = encodeString(highlight_xml(self.context, self.catalog.response))
path ='htmlResponse.html'
f = open(path, 'w')
@@ -494,7 +485,6 @@
"""function to init owslib.csw.CatalogueServiceWeb"""
# connect to the server
try:
- # QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
self.catalog = CatalogueServiceWeb(self.catalog_url,
timeout=self.timeout)
return True
@@ -675,8 +665,7 @@
return self.idResults[index]['link']
def set_item_data(self, index, field, value):
- """set identifier for a QTreeWidgetItem"""
- # self.resultList.SetStringItem(, self._get_field_value(field), value)
+ """set identifier"""
try:
self.idResults[index]
@@ -688,7 +677,6 @@
if field == "identifier":
self.idResults[index]['identifier'] = value
if field == "link":
- # print value
self.idResults[index]['link'] = value
else:
d = {}
@@ -703,8 +691,6 @@
"""display search results"""
self.refreshResultList()
- # print "display"
- # self.resultList.SetItem(index,0,'ahoj')
position = self.catalog.results['returned'] + self.startfrom
msg = 'Showing %s - %s of %s result(s)' % ( self.startfrom + 1,
@@ -712,12 +698,10 @@
self.catalog.results['matches'],
)
- # % (self.startfrom + 1,position)
self.findResNumLbl.SetLabel(msg)
index = 0
for rec in self.catalog.records:
- # tem = QTreeWidgetItem(self.treeRecords)
if self.catalog.records[rec].type:
item = wx.ListItem()
self.resultList.InsertStringItem(index, normalize_text(self.catalog.records[rec].type))
@@ -727,11 +711,8 @@
self.resultList.SetStringItem(index, 1, normalize_text(self.catalog.records[rec].title))
if self.catalog.records[rec].identifier:
- # self.resultList.SetStringItem(index,1,normalize_text(self.catalog.records[rec].identifier))
self.set_item_data(index, 'identifier',
self.catalog.records[rec].identifier)
- # print index
-
if index % 2:
self.resultList.SetItemBackgroundColour(index, "LIGHT GREY")
index += 1
@@ -745,8 +726,6 @@
).start()
def updateCatalogBox(self, evt=None):
- # print('update')
-
if self.catalogCmb.GetCount() == 0:
msg = 'No services/connections defined.'
self.htmlView.SetPage('<p><h3>%s</h3></p>' % msg)
@@ -764,7 +743,6 @@
upSearchSizer.Add(self.qtypeCb, 1, wx.EXPAND)
-
self.leftSearchSizer.Add(upSearchSizer, 1 ,wx.EXPAND )
self.rightSearchSizer.Add(wx.StaticText(self), 0)
mainSearchSizer.Add(self.leftSearchSizer, wx.EXPAND)
@@ -987,8 +965,6 @@
root.remove(bad)
tree.write(self.connectionFilePath)
- # n=self.connectionLBox.GetSelection()
- # self.connectionLBox.Remove(n)
self.updateConnectionList()
def publishCSW(self,path):
@@ -1070,7 +1046,6 @@
def addDefaultConnections(self, path=None):
"""add default connections from file"""
- # print path
if path is not None:
self.connectionFilePath = path
if yesNo(self, "Do you want to remove temporary connections?", "Remove tmp connections"):
@@ -1127,7 +1102,6 @@
self.parent.BrowserPanel.catalogCmb.Append(value)
self.connectionLBox.Append(value)
more, value, index = self.config.GetNextGroup(index)
- # print value
n = self.connectionLBox.GetCount()
self.connectionLBox.SetString(n + 1, first)
if self.connectionLBox.GetCount() == 0:
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/mdlib/mdeditorfactory.py
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/mdlib/mdeditorfactory.py 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/mdlib/mdeditorfactory.py 2015-08-14 15:15:10 UTC (rev 65932)
@@ -54,7 +54,6 @@
# MD filework
#=========================================================================
-
class MdFileWork():
''' initializer of metadata in OWSLib and export OWSLib object to xml by jinja template system
@@ -162,8 +161,6 @@
# CREATE BOX (staticbox+button(optional)
#=========================================================================
-
-
class MdBox(wx.Panel):
'''widget(static box) which include metadata items (MdItem)
@@ -221,8 +218,6 @@
self.rmBoxButt = wx.Button(self, id=ID_ANY, size=(30, 30), label='-')
self.boxButtonSizer.Add(self.rmBoxButt, 0)
self.rmBoxButt.Bind(EVT_BUTTON, self.removeBox)
-
-
def addDuplicatedItem(self, item):
self.stBoxSizer.Add(item, flag=wx.EXPAND, proportion=1)
@@ -1579,7 +1574,7 @@
self.md = self.mdo.initMD()
# most of objects from OWSLib is initialized in configure file
#dirpath = os.path.dirname(os.path.realpath(__file__))
- path = os.path.join(os.path.join(sys.path[0],'..'), 'config','wx.metadata','init_md.txt')
+ path = os.path.join(os.getenv('GRASS_ADDON_BASE'), 'etc','wx.metadata',,'config','init_md.txt'))
mdInitData = open(path, 'r')
mdExec = mdInitData.read()
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/mdlib/mdpdffactory.py
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/mdlib/mdpdffactory.py 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/mdlib/mdpdffactory.py 2015-08-14 15:15:10 UTC (rev 65932)
@@ -11,8 +11,10 @@
from grass.script import core as grass
sys.path.insert(1, os.path.join(os.path.dirname(sys.path[0]), 'etc', 'pdf'))
+sys.path.insert(1, os.path.join(os.path.dirname(sys.path[0]),'etc','wx.metadata','mdlib'))
+
class MyTheme(DefaultTheme):
doc = {
'leftMargin': 25,
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/r.info.iso/r.info.iso.html
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/r.info.iso/r.info.iso.html 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/r.info.iso/r.info.iso.html 2015-08-14 15:15:10 UTC (rev 65932)
@@ -1,19 +1,19 @@
<h2>DESCRIPTION</h2>
-<em>r.info.iso</em> creates metadata of raster maps according
+<em>r.info.iso</em> creates metadata of raster maps according
to <a href="http://www.iso.org/iso/catalogue_detail.htm?csnumber=26020">ISO
-19115</a>.
+ 19115</a>.
<p>
-The module also allows conversion of metadata from native GRASS GIS format
-to ISO-based format.
+ The module also allows conversion of metadata from native GRASS GIS format
+ to ISO-based format.
<h2>NOTES</h2>
For dependencies and installation instructions see
<a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
-<h3>Naming of metadata files and storage</h3>
+<h3>Naming of metadata files and storage</h3>
Default location for exported metadata files is
@@ -24,8 +24,8 @@
maps <em>vector</em>. File ends with <em>.xml</em> extension.
<p>
-For example default metadata file name for raster map
-"elevation" is <em>cell_elevation.xml</em>.
+ For example default metadata file name for raster map
+ "elevation" is <em>cell_elevation.xml</em>.
<h3>Metadata profile</h3>
@@ -44,25 +44,27 @@
<div class="code"><pre>
r.info.iso map=elevation
-</pre></div>
+</pre>
+</div>
<p>
-Export metadata using <i>inspire</i> profile:
+ Export metadata using <i>inspire</i> profile:
<div class="code"><pre>
r.info.iso map=elevation profile=inspire
-</pre></div>
+</pre>
+</div>
<h2>SEE ALSO</h2>
<em>
- <a href="r.info.html">r.info</a>,
- <a href="v.info.iso.html">v.info.iso</a>,
- <a href="g.gui.metadata.html">g.gui.metadata</a>
+ <a href="r.info.html">r.info</a>,
+ <a href="v.info.iso.html">v.info.iso</a>,
+ <a href="g.gui.metadata.html">g.gui.metadata</a>
</em>
<p>
-See also related <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
+ See also related <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
<h2>AUTHOR</h2>
@@ -70,7 +72,7 @@
Matej Krejci, <a href="http://geo.fsv.cvut.cz/gwiki/osgeorel">OSGeoREL</a>
at the Czech Technical University in Prague, developed
during <a href="http://trac.osgeo.org/grass/wiki/GSoC/2014/MetadataForGRASS">Google
-Summer of Code 2014</a> (mentors: Margherita Di Leo, Martin Landa)
+ Summer of Code 2014</a> (mentors: Margherita Di Leo, Martin Landa)
<p>
-<i>Last changed: $Date$</i>
+ <i>Last changed: $Date$</i>
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/r.info.iso/r.info.iso.py
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/r.info.iso/r.info.iso.py 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/r.info.iso/r.info.iso.py 2015-08-14 15:15:10 UTC (rev 65932)
@@ -11,7 +11,7 @@
@author Matej Krejci <matejkrejci gmail.com> (GSoC 2014)
"""
-#%module
+# %module
#% description: Creates metadata based on ISO standard for specified raster map.
#% keyword: raster
#% keyword: metadata
@@ -40,12 +40,14 @@
from grass.script import parser, fatal
from grass.pygrass.utils import get_lib_path
+
def load_mdlib():
path = get_lib_path(modname='mdlib', libname='mdgrass')
if path is None:
fatal("Not able to find the metadata library directory")
sys.path.append(path)
+
def main():
# load metadata library
load_mdlib()
@@ -78,6 +80,7 @@
md.readXML(xml_file)
print md.validate_basic()
+
if __name__ == "__main__":
options, flags = parser()
main()
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/t.info.iso/t.info.iso.py
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/t.info.iso/t.info.iso.py 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/t.info.iso/t.info.iso.py 2015-08-14 15:15:10 UTC (rev 65932)
@@ -10,7 +10,7 @@
@author Matej Krejci <matejkrejci gmail.com> (GSoC 2015)
"""
-#%module
+# %module
#% description: Lists information about space time datasets and maps.
#% keyword: temporal
#% keyword: metadata
@@ -39,8 +39,8 @@
import grass.script as grass
from grass.script import parser, fatal
from grass.pygrass.utils import get_lib_path
-from core.gcmd import GError, GMessage,GException
+
def load_mdlib():
path = get_lib_path(modname='mdlib', libname='mdgrass')
if path is None:
@@ -80,11 +80,10 @@
md = GrassMD(id_, type=type_)
md.createTemporalISO()
md.saveXML(path=destination,
- xml_out_name=name,
- overwrite=os.getenv('GRASS_OVERWRITE', False))
+ xml_out_name=name,
+ overwrite=os.getenv('GRASS_OVERWRITE', False))
-
if __name__ == "__main__":
options, flags = parser()
main()
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/v.info.iso/v.info.iso.html
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/v.info.iso/v.info.iso.html 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/v.info.iso/v.info.iso.html 2015-08-14 15:15:10 UTC (rev 65932)
@@ -2,18 +2,18 @@
<em>v.info.iso</em> creates metadata of vector maps according
to <a href="http://www.iso.org/iso/catalogue_detail.htm?csnumber=26020">ISO
-19115</a>.
+ 19115</a>.
<p>
-The module also allows conversion of metadata from native GRASS GIS format
-to ISO-based format.
+ The module also allows conversion of metadata from native GRASS GIS format
+ to ISO-based format.
<h2>NOTES</h2>
For dependencies and installation instructions see
<a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
-<h3>Naming of metadata files and storage</h3>
+<h3>Naming of metadata files and storage</h3>
Default location for exported metadata files is
@@ -24,8 +24,8 @@
maps <em>vector</em>. File ends with <em>.xml</em> extension.
<p>
-For example default metadata file name for raster map
-"basins" is <em>vector_basins.xml</em>.
+ For example default metadata file name for raster map
+ "basins" is <em>vector_basins.xml</em>.
<h3>Metadata profile</h3>
@@ -45,25 +45,27 @@
<div class="code"><pre>
v.info.iso map=basins
-</pre></div>
+</pre>
+</div>
<p>
-Export metadata using <i>inspire</i> profile:
+ Export metadata using <i>inspire</i> profile:
<div class="code"><pre>
v.info.iso map=basins profile=inspire
-</pre></div>
+</pre>
+</div>
<h2>SEE ALSO</h2>
<em>
- <a href="v.info.html">v.info</a>,
- <a href="r.info.iso.html">r.info.iso</a>,
- <a href="g.gui.metadata.html">g.gui.metadata</a>
+ <a href="v.info.html">v.info</a>,
+ <a href="r.info.iso.html">r.info.iso</a>,
+ <a href="g.gui.metadata.html">g.gui.metadata</a>
</em>
<p>
-See also related <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
+ See also related <a href="http://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support">wiki page</a>.
<h2>AUTHOR</h2>
@@ -71,7 +73,7 @@
Matej Krejci, <a href="http://geo.fsv.cvut.cz/gwiki/osgeorel">OSGeoREL</a>
at the Czech Technical University in Prague, developed
during <a href="http://trac.osgeo.org/grass/wiki/GSoC/2014/MetadataForGRASS">Google
-Summer of Code 2014</a> (mentors: Margherita Di Leo, Martin Landa)
+ Summer of Code 2014</a> (mentors: Margherita Di Leo, Martin Landa)
<p>
-<i>Last changed: $Date$</i>
+ <i>Last changed: $Date$</i>
Modified: grass-addons/grass7/gui/wxpython/wx.metadata/v.info.iso/v.info.iso.py
===================================================================
--- grass-addons/grass7/gui/wxpython/wx.metadata/v.info.iso/v.info.iso.py 2015-08-14 14:01:58 UTC (rev 65931)
+++ grass-addons/grass7/gui/wxpython/wx.metadata/v.info.iso/v.info.iso.py 2015-08-14 15:15:10 UTC (rev 65932)
@@ -11,7 +11,7 @@
@author Matej Krejci <matejkrejci gmail.com> (GSoC 2014)
"""
-#%module
+# %module
#% description: Creates metadata based on ISO standard for specified vector map.
#% keyword: vector
#% keyword: metadata
@@ -39,12 +39,14 @@
from grass.script import parser, fatal
from grass.pygrass.utils import get_lib_path
+
def load_mdlib():
path = get_lib_path(modname='mdlib', libname='mdgrass')
if path is None:
fatal("Not able to find the metadata library directory")
sys.path.append(path)
+
def main():
# load metadata library
load_mdlib()
@@ -77,6 +79,7 @@
md.readXML(xml_file)
print md.validate_basic()
+
if __name__ == "__main__":
options, flags = parser()
main()
More information about the grass-commit
mailing list