Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wxGUI wx.metadata: Fix launch g.gui.metadata, g.gui.cswbrowser #222

Merged
merged 46 commits into from
Jul 2, 2020

Conversation

tmszi
Copy link
Member

@tmszi tmszi commented Jun 22, 2020

  1. wxGUI g.gui.metadata:

g_gui_metadata

with csw dialog:

g_gui_metadata_with_csw_dialog

Exporting metadata reports to format PDF:

I changed the api to get static map img from google maps api to osm api (sometimes the service https://osm-static-maps.herokuapp.com is unavailable for a short time). Currently only static map img url query zoom param argument is not correctly derived.

Example raster Basins maps (nc_basic_spm_grass7 location) url to get static map img (Geographic Location section in the pdf doc):
https://osm-static-maps.herokuapp.com/?geojson=[{'type':'Feature','geometry':{'type':'Polygon','coordinates':[[[-78.77462049,35.68792712],[-78.60889171,35.6875073],[-78.60830318,35.80918894],[-78.77428134,35.80960938],[-78.77462049,35.68792712]]]}}]&center=-78.69152414,35.74858701&zoom=12&size=200x200

  1. wxGUI g.gui.cswbrowser:

g_gui_cswbrowser

Additional info:

Tested with:

wx.version()
4.0.7.post2 gtk3 (phoenix) wxWidgets 3.0.4'

tmszi added 30 commits June 19, 2020 20:07
…AddSpacer method (minim. vertical space between widgets)
@tmszi
Copy link
Member Author

tmszi commented Jun 26, 2020

I fixed all the errors during the installation of the add-on. It is currently possible to install the add-on correctly.


#from pydispatch import dispatcher
# from pydispatch import dispatcher
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# from pydispatch import dispatcher
# from pydispatch import dispatcher
#%module
#% description: Graphical ISO/INSPIRE metadata editor.
#% keyword: general
#% keyword: GUI
#% keyword: metadata
#%end

Silence: "WARNING: Bug in UI description. Missing module description"

--> might be extended

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fixed it.

@neteler
Copy link
Member

neteler commented Jun 26, 2020

Thanks for your enormous efforts to update this suite!

Just two minor warnings I got, which might be fixed as well:

python3 -t -m py_compile /home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/wx.metadata/mdlib/mdeditorfactory.py
/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/wx.metadata/mdlib/mdeditorfactory.py:608: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if value is None or value is '':
python3 -t -m py_compile /home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/wx.metadata/mdlib/mdutil.py
/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/wx.metadata/mdlib/mdutil.py:159: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if md.identification.identtype is '':


from grass.pygrass.utils import set_path
set_path(modulename='wx.metadata', dirname='mdlib')
from mdlib.cswlib import CSWBrowserPanel, CSWConnectionPanel

import wx
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
import wx
import wx
#%module
#% description: Graphical CSW metadata browser.
#% keyword: general
#% keyword: GUI
#% keyword: metadata
#%end

Silence: "WARNING: Bug in UI description. Missing module description"

--> might be extended

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fixed it.

@neteler
Copy link
Member

neteler commented Jun 26, 2020

I started with testing and got some issues:

My setup:

  • python3 dependency.py runs without error
  • Fedora 32
  • Python 3.8.3

Tests with nc_spm_08_grass7 data (zip):

# r.info.iso:
r.info.iso elevation
date of creation: unknown date format
Metadata file has been exported
Traceback (most recent call last):
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/scripts/r.info.iso", line 79, in <module>
    main()
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/scripts/r.info.iso", line 73, in main
    md.readXML(xml_file)
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/wx.metadata/mdlib/mdgrass.py", line 485, in readXML
    self.md = util.MD_MetadataMOD(etree.parse(xml_file))
AttributeError: module 'owslib.util' has no attribute 'MD_MetadataMOD'


# t.info.iso:
g.extension r.sun.daily
g.region raster=elevation  res=1000 -pa
r.sun.daily elevation=elevation start_day=30 end_day=40 \
            beam_rad_basename=beam beam_rad=beam_sum nprocs=4 -t
# show information about newly created space time dataset
t.info beam

t.info.iso beam
Traceback (most recent call last):
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/scripts/t.info", line 128, in <module>
    main()
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/scripts/t.info", line 110, in main
    dataset = tgis.dataset_factory(type_, id_)
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/python/grass/temporal/factory.py", line 36, in dataset_factory
    sp = SpaceTimeRasterDataset(id)
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/python/grass/temporal/space_time_datasets.py", line 1049, in __init__
    AbstractSpaceTimeDataset.__init__(self, ident)
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/python/grass/temporal/abstract_space_time_dataset.py", line 52, in __init__
    self.reset(ident)
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/python/grass/temporal/space_time_datasets.py", line 1115, in reset
    self.base = STRDSBase(ident=ident)
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/python/grass/temporal/base.py", line 934, in __init__
    STDSBase.__init__(self, "strds_base", ident, name, mapset,
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/python/grass/temporal/base.py", line 871, in __init__
    DatasetBase.__init__(self, table, ident, name, mapset, creator,
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/python/grass/temporal/base.py", line 592, in __init__
    self.set_id(ident)
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/python/grass/temporal/base.py", line 617, in set_id
    name, mapset = ident.split("@")
ValueError: too many values to unpack (expected 2)
Traceback (most recent call last):
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/scripts/t.info.iso", line 82, in <module>
    sys.exit(main())
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/scripts/t.info.iso", line 73, in main
    md = GrassMD(id_, type=type_)
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/wx.metadata/mdlib/mdgrass.py", line 80, in __init__
    self.parseTemporal()
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/wx.metadata/mdlib/mdgrass.py", line 92, in parseTemporal
    tinfo = Module('t.info',
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/python/grass/pygrass/modules/interface/module.py", line 592, in __init__
    self.__call__(*args, **kargs)
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/python/grass/pygrass/modules/interface/module.py", line 650, in __call__
    return self.run()
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/python/grass/pygrass/modules/interface/module.py", line 771, in run
    self.wait()
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/python/grass/pygrass/modules/interface/module.py", line 792, in wait
    raise CalledModuleError(returncode=self.popen.returncode,
grass.exceptions.CalledModuleError: Module run t.info t.info input=beam@user1@user1 type=strds -g ended with error
Process ended with non-zero return code 1. See errors in the (error) output.


# v.info.iso:
v.info.iso schools_wake
Metadata file exists:
/home/mneteler/grassdata/nc_spm_08_grass7/user1/metadata/vector_schools_wake.xml
Metadata file has been overwritten
Traceback (most recent call last):
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/scripts/v.info.iso", line 78, in <module>
    sys.exit(main())
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/scripts/v.info.iso", line 72, in main
    md.readXML(xml_file)
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/wx.metadata/mdlib/mdgrass.py", line 485, in readXML
    self.md = util.MD_MetadataMOD(etree.parse(xml_file))
AttributeError: module 'owslib.util' has no attribute 'MD_MetadataMOD'

@neteler
Copy link
Member

neteler commented Jun 26, 2020

More testing:

GUI

g.gui.cswbrowser

Wish: change to "Busy" cursor when clicking on the "search" button (I guess somewhere near wx.metadata/mdlib/cswlib.py):

     wx.BeginBusyCursor()
     ... search ...
     wx.EndBusyCursor()

Bug: when clicking on one of the datasets listed under "results":

(g.gui.cswbrowser:306043): Gtk-CRITICAL **: 11:28:28.938: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkSpinButton
Traceback (most recent call last):
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/wx.metadata/mdlib/cswlib.py", line 376, in OnRecord
    metadata = render_template('en', self.context,
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/wx.metadata/mdlib/cswutil.py", line 55, in render_template
    template = env.get_template(template_file)
  File "/usr/lib/python3.8/site-packages/jinja2/environment.py", line 883, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/usr/lib/python3.8/site-packages/jinja2/environment.py", line 857, in _load_template
    template = self.loader.load(self, name, globals)
  File "/usr/lib/python3.8/site-packages/jinja2/loaders.py", line 115, in load
    source, filename, uptodate = self.get_source(environment, name)
  File "/usr/lib/python3.8/site-packages/jinja2/loaders.py", line 197, in get_source
    raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: record_metadata_dc.html

The missing file is indeed installed in etc/wx.metadata/config/record_metadata_dc.html but apparently not found.
Seems the related code is here:

path = 'record_metadata_dc.html'

@neteler
Copy link
Member

neteler commented Jun 26, 2020

More testing:

g.gui.metadata

(following https://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support#GRASS_metadata_map_editor and https://www.youtube.com/watch?v=7V5NyVdO05o)

Initial layout issue

When opening g.gui.metadata then the metadata profile cannot be well seen:

image

After a window resize is becomes right:

image

Usage

Next step is to select a map from the layer tree and click on "Template". This will open a new dialog.

Here I get (not sure what it means to me):

GMessage('Predefined values of metadata are missing in database')

Next one gets into the editing mode to populate the metadata fields. Here also the layout isn't fully right (resizing the window fixes it by apparently refreshing it):

image

to then become the expected:

image

In the terminal I got this error:

/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/scripts/g.gui.metadata:981: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.splitter.SplitVertically(self.editor, self.ntbRight, sashPosition=0.65)
Traceback (most recent call last):
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/wx.metadata/mdlib/cswlib.py", line 1162, in onServiceInfo
    metadata = render_template('en', self.context,
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/wx.metadata/mdlib/cswutil.py", line 55, in render_template
    template = env.get_template(template_file)
  File "/usr/lib/python3.8/site-packages/jinja2/environment.py", line 883, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/usr/lib/python3.8/site-packages/jinja2/environment.py", line 857, in _load_template
    template = self.loader.load(self, name, globals)
  File "/usr/lib/python3.8/site-packages/jinja2/loaders.py", line 115, in load
    source, filename, uptodate = self.get_source(environment, name)
  File "/usr/lib/python3.8/site-packages/jinja2/loaders.py", line 197, in get_source
    raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: service_metadata.html

(I'll continue later with testing)

@tmszi
Copy link
Member Author

tmszi commented Jun 30, 2020

Thanks for your enormous efforts to update this suite!

Just two minor warnings I got, which might be fixed as well:

You are welcome. I fixed it.

@tmszi
Copy link
Member Author

tmszi commented Jun 30, 2020

I started with testing and got some issues:

My setup:

* `python3 dependency.py` runs without error

* Fedora 32

* Python 3.8.3

I fixed it (bugs related with launching r.info.iso, v.info.iso, t.info.iso module).

@tmszi
Copy link
Member Author

tmszi commented Jun 30, 2020

More testing:

GUI

g.gui.cswbrowser

* sidenote: many registered URLs are outdated, that's a separate TODO, see #229
  
  * maybe helpful: https://live.osgeo.org/en/quickstart/pycsw_quickstart.html

* to test, select "Finland: National CSW (Paikkatietohakemisto)"

* keyword: "elevation"

* result: 85 results

Wish: change to "Busy" cursor when clicking on the "search" button (I guess somewhere near wx.metadata/mdlib/cswlib.py):

     wx.BeginBusyCursor()
     ... search ...
     wx.EndBusyCursor()

I Implemented it (busy cursor).

Bug: when clicking on one of the datasets listed under "results":

(g.gui.cswbrowser:306043): Gtk-CRITICAL **: 11:28:28.938: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkSpinButton
Traceback (most recent call last):
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/wx.metadata/mdlib/cswlib.py", line 376, in OnRecord
    metadata = render_template('en', self.context,
  File "/home/mneteler/software/grass78_git/dist.x86_64-pc-linux-gnu/etc/wx.metadata/mdlib/cswutil.py", line 55, in render_template
    template = env.get_template(template_file)
  File "/usr/lib/python3.8/site-packages/jinja2/environment.py", line 883, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/usr/lib/python3.8/site-packages/jinja2/environment.py", line 857, in _load_template
    template = self.loader.load(self, name, globals)
  File "/usr/lib/python3.8/site-packages/jinja2/loaders.py", line 115, in load
    source, filename, uptodate = self.get_source(environment, name)
  File "/usr/lib/python3.8/site-packages/jinja2/loaders.py", line 197, in get_source
    raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: record_metadata_dc.html

The missing file is indeed installed in etc/wx.metadata/config/record_metadata_dc.html but apparently not found.
Seems the related code is here:

path = 'record_metadata_dc.html'

I can't reproduce it. I got following error only.

g_gui_cswbrowser

@neteler
Copy link
Member

neteler commented Jul 1, 2020

@tmszi - what about merging for now and then continue in a separate PR? That might help with testing by others being less familiar with locally applying PR changes... (just an idea).

@tmszi
Copy link
Member Author

tmszi commented Jul 2, 2020

@tmszi - what about merging for now and then continue in a separate PR? That might help with testing by others being less familiar with locally applying PR changes... (just an idea).

Good idea, I merged it.

@neteler
Copy link
Member

neteler commented Jul 2, 2020

Good idea, I merged it.

It is still open and not yet merged ... :-) on purpose?

@tmszi
Copy link
Member Author

tmszi commented Jul 2, 2020

Good idea, I merged it.

It is still open and not yet merged ... :-) on purpose?

Yes, you are right. I just noticed (as you alerted me) that the only allowed merge option is squash and merge. I tried rebase and merge via cmd and than push. It did not print any warning that the option is not allowed. Should I do it through the squash and merge option?

@neteler
Copy link
Member

neteler commented Jul 2, 2020

Yes, please.

@tmszi tmszi merged commit 8b8bcd4 into OSGeo:master Jul 2, 2020
@tmszi tmszi deleted the fix_g_gui_metadata branch September 26, 2020 08:48
landam pushed a commit to landam/grass-addons that referenced this pull request Nov 19, 2020
…#222)

* wx.metadata/g.gui.metadata: fix wx.FileDialog widget window style

* wx.metadata/g.gui.metadata: fix event handler function binding

* wx.metadata/g.gui.metadata: fix CustomTreeCtrl widget GetSelections method

* wx.metadata/mdlib: fix removeNonAscii function return value

* wx.metadata/mdlib: fix encode string

* wx.metadata/mdlib: fix wx.BoxSizer widget Add method params

* wx.metadata/g.gui.metadata: remove add left wx.Panel widget into wx.BoxSizer widget

* wx.metadata/g.gui.metadata: update wx.SplitterWindow widget size

* wx.metadata/mdlib: increase plus/minus wx.Button widget size (show label)

* wx.metadata/g.gui.metadata, mdlib: fix wx.BoxSizer widget add spacer with Add method

* wx.metadata/mdlib: fix wx.ListCtrl widget wxPyDeprecationWarning

* wx.metadata/mdlib: fix wx.ListCtrl widget set tooltip

* wx.metadata/mdlib: fix decode string

* wx.metadata/mdlib: fix add web service layer

* wx.metadata/mdlib: fix constraints builder dialog layout

* wx.metadata/mdlib: fix constraints builder dialog constraints validation

* wx.metadata/mdlib: fix slice stop index

* wx.metadata/mdlib: remove unused code line

* wx.metadata/mdlib: fix result list wx.ListCtrl widget vertical expand

* wx.metadata/g.gui.metadata: set class config attr (req for the CswPublisher class init)

* wx.metadata/g.gui.metadata, mdlib: replace add space Add method with AddSpacer method (minim. vertical space between widgets)

* wx.metadata/g.gui.metadata: fix not overflow duplicated item widget from ScrolledPanel widget during scrolling

* wx.metadata/mdlib: fix compare two metadata items (remove metadata item)

* wx.metadata/g.gui.metadata.py: remove calling non exist method

* wx.metadata/mdlib: fix pdf doc logo path

* wx.metadata/mdlib: replace google api for generate static map img with osm api (https://github.com/jperelli/osm-static-maps)

* wx.metadata/mdlib: fix write output pdf doc

* wx.metadata/g.gui.metadata.py: fix wx.TreeCtrl widget wxPyDeprecationWarning

* wx.metadata/mdlib: set static map img service url geojson query param with arg (rectangle polygon)

* wx.metadata/mdlib: fix script file header, import py modules according flake8

* wx.metadata/mdlib: set static map img url debug info

* wx.metadata/db.csw.admin: fix missing manual html file error during compilation

* wx.metadata/mdlib: fix transform static map bounds coords to the wgs84

* wx.metadata/db.csw.admin, g.gui.cswbrowser, g.gui.metadata, t.info.iso, v.info.iso: fix import mdlib

* wx.metadata/mdlib: fix missing wxgui path

* wx.metadata/mdlib: fix static map zoom max value

* wx.metadata: improve code of checking add-on py libs dependencies

* wx.metadata/g.gui.cswbrowser, g.gui.metadata: add basic module description

* wx.metadata/mdlib: fix module name

* wx.metadata/mdlib: fix map name

* wx.metadata/mdlib, t.info.iso, v.info.iso: fix flake8-strict errors

* wx.metadata/g.gui.cswbrowser, mdlib: set busy cursor after click on the search btn widget

* wx.metadata/mdlib: fix wx.ListCtrl widget wxPyDeprecationWarning

* wx.metadata/g.gui.cswbrowser, mdlib: fix insert 'unknown' type, wx.ListCtrl widget result item

* wx.metadata/r.info.iso: fix flake8-strict errors

* wx.metadata/t.info.iso: fix write result to output file name destination
landam pushed a commit to landam/grass-addons that referenced this pull request Dec 10, 2020
…#222)

* wx.metadata/g.gui.metadata: fix wx.FileDialog widget window style

* wx.metadata/g.gui.metadata: fix event handler function binding

* wx.metadata/g.gui.metadata: fix CustomTreeCtrl widget GetSelections method

* wx.metadata/mdlib: fix removeNonAscii function return value

* wx.metadata/mdlib: fix encode string

* wx.metadata/mdlib: fix wx.BoxSizer widget Add method params

* wx.metadata/g.gui.metadata: remove add left wx.Panel widget into wx.BoxSizer widget

* wx.metadata/g.gui.metadata: update wx.SplitterWindow widget size

* wx.metadata/mdlib: increase plus/minus wx.Button widget size (show label)

* wx.metadata/g.gui.metadata, mdlib: fix wx.BoxSizer widget add spacer with Add method

* wx.metadata/mdlib: fix wx.ListCtrl widget wxPyDeprecationWarning

* wx.metadata/mdlib: fix wx.ListCtrl widget set tooltip

* wx.metadata/mdlib: fix decode string

* wx.metadata/mdlib: fix add web service layer

* wx.metadata/mdlib: fix constraints builder dialog layout

* wx.metadata/mdlib: fix constraints builder dialog constraints validation

* wx.metadata/mdlib: fix slice stop index

* wx.metadata/mdlib: remove unused code line

* wx.metadata/mdlib: fix result list wx.ListCtrl widget vertical expand

* wx.metadata/g.gui.metadata: set class config attr (req for the CswPublisher class init)

* wx.metadata/g.gui.metadata, mdlib: replace add space Add method with AddSpacer method (minim. vertical space between widgets)

* wx.metadata/g.gui.metadata: fix not overflow duplicated item widget from ScrolledPanel widget during scrolling

* wx.metadata/mdlib: fix compare two metadata items (remove metadata item)

* wx.metadata/g.gui.metadata.py: remove calling non exist method

* wx.metadata/mdlib: fix pdf doc logo path

* wx.metadata/mdlib: replace google api for generate static map img with osm api (https://github.com/jperelli/osm-static-maps)

* wx.metadata/mdlib: fix write output pdf doc

* wx.metadata/g.gui.metadata.py: fix wx.TreeCtrl widget wxPyDeprecationWarning

* wx.metadata/mdlib: set static map img service url geojson query param with arg (rectangle polygon)

* wx.metadata/mdlib: fix script file header, import py modules according flake8

* wx.metadata/mdlib: set static map img url debug info

* wx.metadata/db.csw.admin: fix missing manual html file error during compilation

* wx.metadata/mdlib: fix transform static map bounds coords to the wgs84

* wx.metadata/db.csw.admin, g.gui.cswbrowser, g.gui.metadata, t.info.iso, v.info.iso: fix import mdlib

* wx.metadata/mdlib: fix missing wxgui path

* wx.metadata/mdlib: fix static map zoom max value

* wx.metadata: improve code of checking add-on py libs dependencies

* wx.metadata/g.gui.cswbrowser, g.gui.metadata: add basic module description

* wx.metadata/mdlib: fix module name

* wx.metadata/mdlib: fix map name

* wx.metadata/mdlib, t.info.iso, v.info.iso: fix flake8-strict errors

* wx.metadata/g.gui.cswbrowser, mdlib: set busy cursor after click on the search btn widget

* wx.metadata/mdlib: fix wx.ListCtrl widget wxPyDeprecationWarning

* wx.metadata/g.gui.cswbrowser, mdlib: fix insert 'unknown' type, wx.ListCtrl widget result item

* wx.metadata/r.info.iso: fix flake8-strict errors

* wx.metadata/t.info.iso: fix write result to output file name destination
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GUI wxGUI related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug] wx.metadata: update wxPython code (ISO/INSPIRE Metadata Support addons)
3 participants