/[thuban]/branches/WIP-pyshapelib-bramz/ChangeLog
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1965 by bh, Wed Nov 19 19:48:59 2003 UTC revision 2156 by joey, Sat Apr 10 19:14:08 2004 UTC
# Line 1  Line 1 
1    2004-04-10  Martin Schulze  <[email protected]>
2    
3            * Extensions/wms/parser.py (WMSCapabilitiesParser.grok): Adjusted
4            string handling.  It's "foo".lower() and not lower(foo) without
5            lower imported from strings or something.
6    
7            * Extensions/wms/wms.py (WMSLayer): Incorporated WMSCapabilities
8            from capabilities.py and parser.py.  Implement priority list for
9            supported graphics formats, take care of wbmp != bmp.  PNG, TIFF
10            and GIF are supported here, but not yet by main Thuban.  Hence,
11            support for them may be removed later.  Special contribution to
12            usability: get wxWidgets to change the cursor when we're waiting
13            for data from the network so the user won't start to worry.  This
14            causes a redrawing error/warning, though.
15    
16            * Extensions/wms/parser.py (WMSCapabilitiesParser.grok): Unlink
17            the DOM object.
18    
19    
20    2004-04-01  Martin Schulze  <[email protected]>
21    
22            * Extensions/wms/capabilities.py: Adjusted documentation
23            (WMSCapabilities.__init__): Improved documentation, fixed syntax
24            (WMSCapabilities.saveCapabilities): Only catch IOError when
25            handling files
26            (WMSCapabilities.loadCapabilities): Only catch IOError when
27            handling files
28            __main__: corrected variable naming
29            (WMSCapabilities.fetchCapabilities,loadCapabilities): Make this
30            class a specialisation of WMSCapabilitiesParser as well.  Also
31            execute grok() after loading or fetching capabilities, if that
32            went well, so that subsequent calls can already access the data.
33            (WMSCapabilities.getVersion): Export the used version of the
34            GetCapabilities request, so we can use it for subsequent calls,
35            i.e. for GetMap requests.
36            (WMSCapabilities.fetchCapabilities): Added proper error handling
37            when the GetCapabilities request failed, so that the surrounding
38            program can act accordingly.
39    
40    2004-03-30  Martin Schulze  <[email protected]>
41    
42            * Extensions/wms/parser.py (WMSCapabilitiesParser.getLayerSRS):
43            Adjusted the getLayerSRS method to return the list of SRSes
44            extracted from <SRS> elements instead of <BoundingBox> elements.
45            Added a bit of documentation as well.
46            (WMSCapabilitiesParser.checkLayerSRS): Removed integrity test
47            since it was only implemented due to a misunderstanding.
48    
49            * Extensions/wms/test/test_parser.py
50            (TestWMSCapabilitiesParser.test_LayerSRS): Adjust the tests to
51            reflect the corrected interpretation of the standard: i.e. a layer
52            does not have to define a BoundingBox for all SRSes it supports.
53            Hence the <SRS></SRS> specification is authoritative, not the list
54            of BoundingBoxes.
55            (TestWMSCapabilitiesParser.test_BoundingBoxes): Added a new test
56            to ensure None is returned for a non-existing SRS.
57            (TestWMSCapabilitiesParser.test_grok): Removed test_grok method
58            since it is not applicable anymore.  Listing more SRSes in <SRS>
59            elements is valid according to the specs.
60    
61    2004-03-26  Bernhard Reiter <[email protected]>
62    
63            * README: Nicer formatting of text. Improved descriptions.
64            Reflected wxWidgets name change.
65            
66            * Thuban/UI/about.py: Extended copyright to 2004 and added
67            information about the thuban-devel mailinglist.
68    
69    2004-03-24  Martin Schulze  <[email protected]>
70    
71            * Extensions/wms/capabilities.py: Renamed the class to contain
72            'WMS', also added a linebreak where required
73    
74            * Extensions/wms/parser.py: Finally added the XML parser for the
75            GetCapabilities response.
76    
77            * Extensions/wms/test/sample.xml: Adjusted the sample file so that
78            <SRS> elements match the <BoundingBox> elements, except for the
79            layer 'beschriftung'.
80    
81            * Extensions/wms/test/test_parser.py: Encode non-ascii strings
82            since Python uses unicode strings internally, otherwise
83            comparisons will fail.  Removed tests for getLayerBBoxSRS() since
84            the SRS will be calculated anyway and this method is obsoleted by
85            getLayerSRS().  Denote SRS as strings and not as cardinal numbers.
86            Move loading the sample file into the setUp method.  Added a test
87            for finding the integrity problem in the sample response.
88            Improved formatting.
89    
90            * Extensions/wms/domutils.py: Added convenience routines for
91            handling of Document Object Model (DOM) nodes.
92    
93            * Extensions/wms/test/test_domutils.py: Added a test for the
94            domutils module
95    
96    2004-03-19  Martin Schulze  <[email protected]>
97    
98            * Extensions/wms/test/test_parser.py (TestWMSCapabilitiesParser):
99            Moved path detection and adding into a module of its own,
100            adjustpath, which exports thubandir as main Thuban directory.
101    
102            * Extensions/wms/test/test_ogclib.py (TestWMSLib): Moved path
103            detection and adding into a module of its own, adjustpath, which
104            exports thubandir as main Thuban directory.  Reorganised the
105            module in order to support the SkipTest feature for Thuban test
106            cases.
107    
108            * Extensions/wms/test/adjustpath.py: Moved path detection and
109            adding into a module of its own.
110    
111    2004-03-18  Martin Schulze  <[email protected]>
112    
113            * Extensions/wms/test/test_parser.py: Added another test for
114            checking whether the WMS XML parser (to be implemented) returns
115            the information we expect.  This requires a sample WMS WML file
116            (sample.xml) which has been extracted from the frida server and
117            "improved" manually.
118    
119            * Extensions/wms/test/test_ogclib.py: Added legacy code to add the
120            main Thuban directory to the path in order to be able to import
121            random modules.  Adjusted the PyOGCLib detection to reuse the
122            information gathered.  Also added a note about the PYTHONPATH
123            environment variable.
124    
125            * Extensions/wms/test/test_ogclib.py: The format specification is
126            a mime-type, not a graphic format, hence image/jpeg wou ld be the
127            proper format and not JPEG.  We'll also have to take care of the
128            encoding of / as %2F.
129    
130    2004-03-16  Martin Schulze  <[email protected]>
131    
132            * Extensions/wms/test/test_ogclib.py: Added a (hopefully)
133            comprehensive test for the getMapURL method, built compare URLs
134            according to the documentation in OGC 01-068r3
135    
136            * Extensions/wms/capabilities.py (WMSCapabilities): Added the
137            class WMSCapabilities to manage capabilites, will incorporate
138            parsing the capabilities response and provide details for other
139            classes.
140    
141    2004-03-12  Bernhard Herzog  <[email protected]>
142    
143            Support views in addition to normal tables in the postgis
144            shapestore
145    
146            * Thuban/Model/postgisdb.py
147            (PostGISShapeStore._fetch_table_information): Add a fallback for
148            the case where the table name is not in the geometry_columns
149            table.  This is usually the case for views.  Also, set
150            self.shapestore here.
151            (PostGISShapeStore.ShapeType): No need to query the database all
152            the time.  The shape type is now determined in
153            _fetch_table_information
154    
155            * test/postgissupport.py (PostgreSQLServer.new_postgis_db)
156            (PostgreSQLServer.get_static_data_db, PostGISDatabase.__init__):
157            New parameter to specify views.
158            (PostGISDatabase.has_data): Also compare the views.  New views
159            parameter
160            (PostGISDatabase.initdb): Create the views.
161            (PostgreSQLServer.get_default_static_data_db): Add the v_landmarks
162            view
163    
164            * test/test_postgis_db.py
165            (TestPostGISShapestorePointFromViews): New.  Test a
166            PostGISShapeStore with a view
167            (TestPostGISShapestorePointOIDAsGIDColumn.setUp): Pass the name of
168            the geometry_column explicitly to test whether that works
169    
170    2004-03-12  Bernhard Herzog  <[email protected]>
171    
172            Final step for explicit id/geometry columns: Loading and saving
173    
174            * Resources/XML/thuban-1.1.dtd: New.  Derived from thuban-1.0.dtd
175            with the following changes:
176            (dbshapesource): Two new attributes id_column and geometry_column
177    
178            * Thuban/Model/save.py (SessionSaver.write): Use the new dtd
179            (SessionSaver.write_session): Use the new namespace
180            (SessionSaver.write_data_containers): Write the new dbshapesource
181            parameters
182    
183            * Thuban/Model/load.py (SessionLoader.__init__): New namespace for
184            the new file format version
185            (SessionLoader.start_dbshapesource): Handle the new db parameters
186    
187            * test/test_save.py: Update to the new dtd and namespace
188            (SaveSessionTest.test_save_postgis): Update the NonConnectionStore
189            mock object to provide a working IDColumn method.
190    
191            * test/test_load_1_0.py: New.  Copy of the test_load.py before
192            today's changes but with the round-trip tests removed.
193    
194            * test/test_load_0_9.py: Update doc-string.
195    
196            * test/test_load.py: Update all .thuban files to the new dtd and
197            namespace.
198            (TestPostGISLayer.file_contents): Add the new dbshapesource
199            paramters
200    
201    2004-03-11  Bernhard Herzog  <[email protected]>
202    
203            Next step for explicit id/geometry columns: User interaction
204    
205            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Rework how
206            the dialog is constructed. Add combo boxes to select id and
207            geometry column.  Rename some instance variables.
208            (ChooseDBTableDialog.GetTable): Return id and geometry column
209            names
210            (ChooseDBTableDialog.OnTableSelect): New. Event handler for
211            selections in the table list
212    
213            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): Use id_column
214            and geometry_column
215    
216            * Thuban/Model/session.py (Session.OpenDBShapeStore): Add the new
217            parameters for id_column and geometry column of PostGISShapeStore
218            here as well.
219    
220            * Thuban/Model/postgisdb.py (type_map): Add ROWID psycog type.
221            (_raw_type_map): New. Map raw PostgreSQL type ints to thuban types
222            (PostGISConnection.GeometryTables): Use a better query to
223            determine which relations in the database might be usable for
224            shapestores.  Now supports views as well but is more PostgreSQL
225            specific
226            (PostGISConnection.table_columns): New. Somewhat experimental
227            method to let the db dialogs provide lists of columns to users so
228            that they can select id and geometry columns.
229            (PostGISTable.__init__): The default value of the id_column
230            parameter is now None it still means "gid" effectively, though.
231            (PostGISTable.IDColumn): New introspection method to return a
232            column object for the id column
233            (PostGISShapeStore.GeometryColumn): New introspection method to
234            return a column object for the geometry column
235    
236            * test/test_postgis_db.py
237            (TestPostGISConnection.test_gis_tables_non_empty):
238            Removed. Subsumed by the new:
239            (TestPostGISConnection.test_gis_tables_with_views_and_tables):
240            New. Tes the GeometryTables and table_columns methods with actual
241            tables and views.
242            (PointTests.test_id_column, PointTests.test_geometry_column):
243            New. tests for the new methods.
244            (TestPostGISShapestorePoint.setUp)
245            (TestPostGISShapestorePointSRID.setUp)
246            (TestPostGISShapestorePointExplicitGIDColumn.setUp): Fill the
247            instance variables needed by the new tests
248    
249    2004-03-11  Bernhard Herzog  <[email protected]>
250    
251            * Thuban/UI/classgen.py (GenQuantilesPanel.GetList): The row
252            numbers given to ReadValue are ordinals.
253    
254    2004-03-11  Bernhard Herzog  <[email protected]>
255    
256            Elimiate the requirement for PostGIS tables to have a column
257            called "gid".
258    
259            * Thuban/Model/postgisdb.py (PostGISTable.__init__): New parameter
260            id_column to specify which column to use to identify rows.  Also
261            new instance variables id_column and quoted_id_column
262            (PostGISTable.RowIdToOrdinal, PostGISTable.RowOrdinalToId)
263            (PostGISTable.ReadRowAsDict, PostGISTable.ReadValue)
264            (PostGISTable.SimpleQuery): Use the id column name provided to the
265            constructor instead of "gid"
266            (PostGISShapeStore.__init__): New parameter id_column analogously
267            to PostGISTable.__init__.  This parameter is simply passed through
268            to the base class constructor
269            (PostGISShapeStore._create_col_from_description): Fix typo in
270            doc-string
271            (PostGISShapeStore.Shape, PostGISShapeStore.AllShapes)
272            (PostGISShapeStore.ShapesInRegion): Use the id column name
273            provided to the constructor instead of "gid"
274    
275            * test/postgissupport.py
276            (PostgreSQLServer.get_default_static_data_db): New static table
277            landmarks_point_id with an id column != "gid.  Update the comments
278            a bit.
279            (skip_if_addgeometrycolumn_does_not_use_quote_ident): Fix typo in
280            doc-
281            (upload_shapefile): New parameter gid_column to use a name other
282            than "gid" for the column to store the shape ids
283    
284            * test/test_postgis_db.py (TableTests): New.  Mixin-class
285            containing all tests previously in TestPostGISTable.  The actual
286            tests are the same but the code is a bit more configurable to
287            allow for different id columns etc.
288            (TestPostGISTable): Derive from TableTests now for the actual
289            tests.
290            (TestPostGISTableExplicitGIDColumn): New. Like TestPostGISTable
291            except that it the landmarks_point_id table to test the id_column
292            parameter
293            (PointTests): Extend the doc-string
294            (TestPostGISShapestorePointExplicitGIDColumn)
295            (TestPostGISShapestorePointOIDAsGIDColumn): New classes derived
296            from PointTests to test the explicit id_column parameter.  One
297            tests with the name of the column holding the shape ids, the other
298            uses PostgreSQL's OID column.  For the latter a number of methods
299            have to be overwritten to make them independent of the actual id
300            values.
301    
302    2004-03-08  Silke Reimer  <[email protected]>
303    
304            Update debian directory:
305    
306            * debian/changelog: Added new version.
307            * deiban/rules: Updated management of patches (with cbds)
308            * debian/control: Added cbds to dependencies
309            * debian/patches/*: New. Adds better support for patches of thuban in
310                            debian
311            * debian/menu: Syntax of menu changed slightly
312            * debian/setup.py.patch: removed because it has been moved to
313                            debian/patechs/setup.py.patch
314            
315    
316    2004-02-26  Bernhard Herzog  <[email protected]>
317    
318            Create the Doc/technotes directory for text files with information
319            for developers
320    
321            * Doc/technotes/README: New. README for the technotes
322    
323            * Doc/technotes/coding_guidelines.txt: New. Coding guidelines for
324            Thuban
325    
326            * Doc/technotes/release_process.txt: New. Used to be
327            HOWTO-Release.  Now slightly adapted to technote formatting style.
328    
329            * HOWTO-Release: Removed.  It's contents are now in
330            Doc/technotes/release_process.txt
331    
332    2004-02-25  Bernhard Herzog  <[email protected]>
333    
334            * libraries/thuban/wxproj.cpp (get_wx_version): New.  Return the
335            version of wxWindows the module was compiled with so we can check
336            that against the wxPython version.
337    
338            * Thuban/version.py (thuban_branch, thuban_release): New variables
339            controlling which and how Thuban versions are shown.  See the
340            comments for details.
341            (verify_versions): Also check that the wx version that wxproj is
342            compiled against matches that of the wxPython we use at runtime
343    
344    2004-02-20  Bernhard Herzog  <[email protected]>
345    
346            * Extensions/wms/wms.py (epsg_code_to_projection): Use
347            get_system_proj_file to read the epsg projections.  The old way
348            depended on the current directory being the top Thuban directory.
349    
350    2004-02-20  Bernhard Herzog  <[email protected]>
351    
352            * Extensions/svgexport/test/test_svgmapwriter.py
353            (TestVirtualDC.test_clippath): Remove a debug print
354    
355    2004-02-20  Bernhard Herzog  <[email protected]>
356    
357            * Extensions/svgexport/__init__.py: New.  Turn
358            Extensions/svgexport into a package.
359    
360            * Extensions/svgexport/svgmapwriter.py: Reorder the imports and
361            doc-string a bit.  The doc-string must come first, otherwise it's
362            not a doc-string.  The __future__ import must be the first thing
363            after the doc-string.  Use only double quotes in doc-strings.
364            Single quotes trip up emacs syntax highlighting if the text
365            contains apostrophes.
366    
367    2004-02-20  Bernhard Herzog  <[email protected]>
368    
369            * Extensions/svgexport/test/__init__.py,
370            Extensions/svgexport/test/test_svgmapwriter.py: New. Initial test
371            suite for svgexport
372    
373            * test/runtests.py (find_test_modules): New. Function with the
374            module finding code from main.
375            (main): Use find_test_modules to figure out the default test
376            modules and take modules from Extensions.svgexport.test too.
377    
378    2004-02-19  Bernhard Herzog  <[email protected]>
379    
380            * Thuban/UI/application.py (ThubanApplication.OnInit): Make sure
381            the mainwindow has a reference to the map of the initial session.
382            This fixes a bug introduced with the fix for RT#2245
383    
384    2004-02-19  Bernhard Herzog  <[email protected]>
385    
386            * Extensions/svgexport/svgsaver.py,
387            Extensions/svgexport/svgmapwriter.py,
388            Extensions/svgexport/maplegend.py: Added again.  This time in the
389            correct place.
390    
391    2004-02-17  Bernhard Herzog  <[email protected]>
392    
393            Fix for RT#2245
394    
395            * Thuban/UI/application.py (ThubanApplication.OnInit): Initialize
396            instance variables before trying to create any windows.  Creating
397            windows can start an event loop if e.g. message boxes are popped
398            up for some reason, and event handlers, especially EVT_UPDATE_UI
399            may want to access things from the application.
400            (ThubanApplication.maps_changed): The mainwindow may not have been
401            created yet, so check whether it has been created before calling
402            its methods
403    
404            * Thuban/UI/view.py (MapCanvas.OnIdle): Only try to redraw if we
405            have a map
406    
407    2004-02-17  Bernhard Herzog  <[email protected]>
408    
409            * test/test_svgmapwriter.py, Extensions/svgsaver.py,
410            Extensions/svgmapwriter.py, Extensions/maplegend.py,
411            extensions/svgexport/svgsaver.py,
412            extensions/svgexport/svgmapwriter.py,
413            extensions/svgexport/maplegend.py: Removed.  These files were in
414            the wrong places or didn't work at all.
415    
416    2004-02-16  Bernhard Herzog  <[email protected]>
417    
418            * Thuban/UI/view.py (MapCanvas.Export): Remove accidentally added
419            line
420    
421    2004-02-16  Bernhard Herzog  <[email protected]>
422    
423            * Thuban/UI/view.py (MapCanvas.Export): Avoid UnboundLocalError.
424    
425    2004-02-15  Markus Rechtien  <[email protected]>
426            
427            * Extensions/svgexport/svgmapwriter.py: New. Adds the capability
428            to write a session to a file in SVG format.
429            * Extensions/svgexport/svgsaver.py: New. Uses svgmapwriter.py
430            to write a SVG map of a session.
431            * Extensions/svgexport/maplegend: New. Writes a basic maplegend
432            in SVG format for the current session.
433    
434    2004-02-13  Bernhard Herzog  <[email protected]>
435    
436            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): When the layer
437            can't be created, return immediately after displaying the error
438            message.
439    
440    2004-02-11  Bernhard Herzog  <[email protected]>
441    
442            Handle postgis tables with more than one geometry column.
443    
444            * Thuban/Model/postgisdb.py
445            (PostGISTable._fetch_table_information): Delegate the creation of
446            column objects to a different method so that we can extend that in
447            derived classes
448            (PostGISTable._create_col_from_description): New. Column object
449            creation part of _fetch_table_information
450            (PostGISShapeStore._create_col_from_description): New. Extend
451            inherited method to handle geometry columns
452            (PostGISShapeStore.__init__): New parameter geometry_column to
453            specify which geometry column to use.  Optional but mandatory for
454            tables with more than one geometry column
455            (PostGISShapeStore._fetch_table_information): Also use the name of
456            the geometry column when looking for the srid
457            (PostGISShapeStore.ShapeType): Also use the name of the geometry
458            column when looking for the shape type
459    
460            * test/test_save.py (SaveSessionTest.test_save_postgis): Adapt
461            NonConnectionStore to changes in the PostGISShapeStore
462    
463            * test/test_postgis_db.py
464            (TestPostGISSpecialCases.test_shapestore_two_geom_cols): Test
465            PostGISShapeStore with tables having two geometry columns.
466    
467    2004-02-10  Bernhard Herzog  <[email protected]>
468    
469            Fix some postgis problems.  What remains to be done is real
470            handling of SRIDs as they affect how reprojection is done
471    
472            * Thuban/Model/postgisdb.py (quote_identifier): Fix typo in
473            doc-string
474            (PostGISShapeStore._fetch_table_information): New. Extend
475            inherited method to retrieve srid
476            (PostGISShapeStore.BoundingBox): Handle tables without data.
477            extent yields NULL for those
478            (PostGISShapeStore.ShapesInRegion): Use the srid of the table.
479    
480            * test/test_postgis_db.py
481            (TestPostGISSpecialCases.test_shapestore_empty_table): New test
482            for the special case of a table without any data
483            (TestPostGISShapestorePointSRID): New class with tests for a table
484            that uses srids
485            (PolygonTests): Fix a doc-string typo
486    
487            * test/postgissupport.py (PostGISDatabase.__init__): New parameter
488            reference_systems with a specification of spacial reference
489            systems to create in the new db.
490            (PostgreSQLServer.new_postgis_db)
491            (PostgreSQLServer.get_static_data_db): New parameter
492            reference_systems to be passed through ultimately to
493            PostGISDatabase.  In new_postgis_db also check whether an existing
494            db already has the right srids
495            (PostgreSQLServer.get_default_static_data_db): Add srids and a
496            table that uses srids
497            (PostGISDatabase.initdb): Create the entries for the reference
498            systems
499            (PostGISDatabase.has_data): Add reference_systems parameter to
500            check for those too
501            (upload_shapefile): New parameter srid to create tables with a
502            specific srid
503    
504    2004-02-06  Frank Koormann  <[email protected]>
505    
506            * po/pt_BR.po: Fixed charset
507    
508    2004-02-05  Frank Koormann  <[email protected]>
509    
510            * po/pt_BR.po: Fixed format string for error message, missing %s
511            added (Thuban/UI/application.py:273)
512    
513    2004-02-03  Frank Koormann  <[email protected]>
514            
515            First version of Portuguese (Brazilian) translation
516    
517            * po/pt_BR.po: New, translation of pot (2004-01-15 16:07+0300) for
518            Brazilian Portuguese by Eduardo Patto Kanegae.
519    
520            * Thuban/UI/about.py (About.__init.py__): Added Eduardo to the list of
521            translators.
522    
523    
524    2004-01-22  Frank Koormann  <[email protected]>
525    
526            * Doc/manual/thuban-manual.xml: Added section on installation of
527            Thuban under Win32 systems. Fixed image path references in the postgis
528            section. Some minor source formattings.
529    
530    2004-01-21  Frank Koormann  <[email protected]>
531    
532            Make Thuban remember path selections (at least for one application run).
533    
534            * Thuban/UI/application.py (Application.OnInit): Initialize path as a
535            attribute of application object. Path is a dictionary of
536            strings, currently with the items "data" and "projection".  
537            (Application.SetPath): New, stores path for the specified item.
538            (Application.Path): New, return path for the specified item.
539    
540            * Thuban/UI/mainwindow.py
541            (MainWindow.OpenSession, MainWindow.SaveSessionAs,
542            MainWindow.AddLayer, MainWindow.AddRasterLayer,
543            MainWindow.TableOpen): Access "data" path information of the
544            application.
545            
546            * Thuban/UI/projdialog.py (ProjFrame._OnImport, ProjFrame._OnExport):
547            Access "projection" path information of the application.
548    
549    2004-01-05  Bernhard Herzog  <[email protected]>
550    
551            * po/ru.po: Updated translations from Alex Shevlakov
552    
553    2004-01-05  Bernhard Herzog  <[email protected]>
554    
555            * po/Makefile, po/README: Move the description of how to generate
556            the translation statistics to the README.
557    
558    2003-12-23  Bernhard Herzog  <[email protected]>
559    
560            * NEWS: Update for 1.0.0
561    
562            * po/it.po: Another update from Maurizio Napolitano
563    
564    2003-12-23  Bernhard Herzog  <[email protected]>
565    
566            * po/it.po: Updated translation from Maurizio Napolitano
567    
568    2003-12-23  Bernhard Herzog  <[email protected]>
569    
570            * Thuban/UI/join.py (JoinDialog.__init__): Mark one more string
571            for translation
572    
573            * Thuban/UI/mainwindow.py (MainWindow.TableRename)
574            (MainWindow.RenameMap, MainWindow.RenameLayer): Mark some more
575            strings for translation
576    
577            * po/de.po: Update with the newly marked strings.
578    
579    2003-12-22  Bernhard Herzog  <[email protected]>
580    
581            * HOWTO-Release: Fix the places where version numbers have to be
582            updated
583    
584    2003-12-22  Bernhard Herzog  <[email protected]>
585    
586            * setup.py (setup call): 1.0.0, yeah!
587    
588            * Thuban/version.py (longversion): 1.0.0, yeah!
589    
590            * Thuban/Model/load.py (SessionLoader.__init__): Accept the
591            1.0.0 namespace too
592    
593            * Thuban/Model/save.py (SessionSaver.write_session): Save with
594            1.0.0 namespace
595    
596            * test/test_load.py (LoadSessionTest.dtd)
597            (TestSingleLayer.file_contents)
598            (TestNonAsciiColumnName.file_contents)
599            (TestLayerVisibility.file_contents)
600            (TestClassification.file_contents, TestLabels.file_contents)
601            (TestLayerProjection.file_contents)
602            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
603            (TestLabelLayer.file_contents, TestPostGISLayer.file_contents)
604            (TestPostGISLayerPassword.file_contents)
605            (TestLoadError.file_contents, TestLoadError.test): Update for
606            1.0.0 namespace
607    
608            * test/test_save.py (SaveSessionTest.dtd)
609            (SaveSessionTest.testEmptySession)
610            (SaveSessionTest.testSingleLayer)
611            (SaveSessionTest.testLayerProjection)
612            (SaveSessionTest.testRasterLayer)
613            (SaveSessionTest.testClassifiedLayer)
614            (SaveSessionTest.test_dbf_table)
615            (SaveSessionTest.test_joined_table)
616            (SaveSessionTest.test_save_postgis): Update for 1.0.0 namespace
617    
618    2003-12-22  Bernhard Herzog  <[email protected]>
619    
620            * Thuban/Model/load.py (SessionLoader.start_label): Make sure the
621            alignment flags are byte strings not unicode and that they have
622            valid values
623    
624            * test/test_load.py (TestLabelLayer): New. Test loading (and
625            indirectly saving) of maps with labels.
626    
627    2003-12-22  Bernhard Herzog  <[email protected]>
628    
629            * Thuban/UI/tableview.py (TableGrid.OnDestroy)
630            (TableGrid.__init__): Handle EVT_WINDOW_DESTROY in the grid to
631            unsubscribe all subscribers.
632            (LayerTableFrame.OnDestroy): Do not unsubscribe any messages from
633            self.grid since it may already have been destroyed.
634            Fixes RT #2256
635    
636    2003-12-19  Bernhard Herzog  <[email protected]>
637    
638            * po/fr.po, po/es.po: Updated translations from Daniel Calvelo
639    
640    2003-12-16  Bernhard Herzog  <[email protected]>
641            
642            * debian/bitmappath.patch, debian/setup.py.patch:
643                    added to ensure compliance with FHS for debian
644            * debian/rules, debian/changelog:
645                added patches in rules to ensure compliance with FHS for debian
646    
647    2003-12-16  Bernhard Herzog  <[email protected]>
648    
649            * po/Makefile (mo): Make the output a bit nicer so that it prints
650            statistics about the translations. Add a comment how produce even
651            nicer statistics with sed.
652    
653    2003-12-09  Frank Koormann   <[email protected]>
654    
655            * Resources/Projections/defaults.proj:
656            French projection sample with correct accents (UNICODE).
657    
658    2003-12-05  Bernhard Herzog  <[email protected]>
659    
660            * MANIFEST.in: Add the devtools directory
661    
662            * setup.py (setup call): Use license instead of licence. This
663            silences a deprecation warning on Python 2.3
664    
665    2003-12-05  Frank Koormann   <[email protected]>
666    
667            Documentation synced with 1.0rc1
668    
669            * Doc/manual/thuban-manual.xml:
670            Minor formatting changes and references to database layers .
671            Introduction.Internationalization: New section on i18n.
672            MapManagement.AddingandRemovingLayers: Added item on database layers.  
673            MapManagement.TheLegend: Added section and screenshot on popup menu.
674            ProjectionManagement: Updated screenshot and sentence on EPSG.
675            Appendix.SupportedDataSources: Added PostGIS.
676            Appendix.WorkingwithPostGIS: New section.
677    
678            * Doc/manual/images/6_projection.png: Updated screenshot including
679            EPSG checkboxes.
680    
681            * Doc/manual/images/3_5_popup_menu.png: New, popup menu screenshot.
682    
683            * Doc/manual/images/app_postgis_add_layer.png,
684            Doc/manual/images/app_postgis_db_add.png,
685            Doc/manual/images/app_postgis_db_management.png:
686            New screenshots focussing on database layers
687    
688    2003-12-05  Frank Koormann   <[email protected]>
689    
690            * Thuban/UI/projdialog.py (load_user_proj): If user.proj is missing
691            write warning to stderr instead of rising a warning dialog
692    
693    2003-12-03  Bernhard Herzog  <[email protected]>
694    
695            Fix for RT #2243
696    
697            * Thuban/UI/mainwindow.py (MainWindow.has_selected_shape_layer):
698            New. Like has_selected_layer but for shape layers only
699            (_has_selected_shape_layer): New. Like _has_selected_layer but for
700            shape layers only
701            (layer_show_table command, layer_jointable command): Use these
702            commands should only be available for shape layers
703    
704    2003-12-03  Bernhard Herzog  <[email protected]>
705    
706            * Thuban/UI/mainwindow.py (MainWindow.Unsubscribe): Deal with
707            publishers that are wx objects and may have been destroyed by wx
708            already. Fixes RT #2242.
709    
710    2003-12-03  Bernhard Herzog  <[email protected]>
711    
712            * po/ru.po: Updates from Alex Shevlakov
713    
714    2003-12-03  Silke Reimer <silkeintevation.de>
715    
716            * debian/control, debian/changelog: Added gdal-support to
717                    debian package, updated to new thuban version
718    
719    
720    2003-12-03  Bernhard Herzog  <[email protected]>
721    
722            * Thuban/Lib/version.py: New. Module for version number
723            manipulations. The version of make_tuple here also deals better
724            with more unusual version number strings, such as e.g.
725            "1.2+cvs20031111"
726    
727            * Thuban/version.py (make_tuple): Removed. It's now in
728            Thuban.Lib.version. Use that implementation instead.
729    
730            * test/test_lib_version.py: New. Tests for Thuban/Lib/version.py
731    
732    2003-12-02  Bernhard Herzog  <[email protected]>
733    
734            * MANIFEST.in: Add debian files
735    
736            * setup.py (setup call): Add packages for the Extensions so that
737            they're installed too
738            (data_files): Add READMEs and sample data from some Extensions
739    
740            * NEWS: Add note about the extensions in binary packages
741    
742    2003-12-02  Bernhard Herzog  <[email protected]>
743    
744            * Thuban/Model/save.py (SessionSaver.write_session): Save files
745            with the thuban-1.0rc1
746    
747            * Thuban/Model/load.py (SessionLoader.__init__): Recognize the
748            thuban-1.0rc1 namespace too
749    
750            * test/test_save.py (SaveSessionTest.dtd)
751            (SaveSessionTest.testEmptySession)
752            (SaveSessionTest.testSingleLayer)
753            (SaveSessionTest.testLayerProjection)
754            (SaveSessionTest.testRasterLayer)
755            (SaveSessionTest.testClassifiedLayer)
756            (SaveSessionTest.test_dbf_table)
757            (SaveSessionTest.test_joined_table)
758            (SaveSessionTest.test_save_postgis): Update to thuban-1.0rc1
759            namespace
760    
761            * test/test_load.py (LoadSessionTest.dtd): Update to thuban-1.0rc1
762            namespace
763            (TestSingleLayer.file_contents)
764            (TestNonAsciiColumnName.file_contents)
765            (TestLayerVisibility.file_contents)
766            (TestClassification.file_contents, TestLabels.file_contents)
767            (TestLayerProjection.file_contents)
768            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
769            (TestPostGISLayer.file_contents)
770            (TestPostGISLayerPassword.file_contents)
771            (TestLoadError.file_contents, TestLoadError.test): Update to
772            thuban-1.0rc1 namespace
773    
774    2003-12-01  Bernhard Herzog  <[email protected]>
775    
776            * setup.py (proj4_prefix, wx_prefix, gdal_prefix): Fix these for
777            nt to better match Intevation's current w32 setup
778    
779            * HOWTO-Release: Add note about updating MANIFEST.in
780    
781            * MANIFEST.in: Add the Extensions
782    
783            * NEWS: Update for 1.0rc1
784    
785    2003-12-01  Bernhard Herzog  <[email protected]>
786    
787            * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Change the wild
788            cards for the dialog so that shapefiles ending in all uppercase
789            SHP are listed too
790    
791    2003-11-28  Bernhard Herzog  <[email protected]>
792    
793            * Thuban/version.py (longversion): Update to 1.0rc1
794    
795            * setup.py (setup call): Update version to 1.0rc1. Use the
796            [email protected] email address as author email instead of my
797            personal one.
798    
799    2003-11-28  Bernhard Herzog  <[email protected]>
800    
801            * po/de.po: Update german translation.
802    
803    2003-11-28  Bernhard Herzog  <[email protected]>
804    
805            Unify the filenames stored in .thuban files so that the .thuban
806            files are more platform independend
807    
808            * Thuban/Model/save.py (unify_filename): New. Unify filenames so
809            that they can be used on both windows and unix
810            (SessionSaver.prepare_filename): New. Handle all filename
811            transformations for filenames stored in the thuban file
812            (SessionSaver.write_data_containers, SessionSaver.write_layer):
813            Use prepare_filename
814    
815            * test/test_save.py (SaveSessionTest.testSingleLayer)
816            (SaveSessionTest.testLayerProjection)
817            (SaveSessionTest.testRasterLayer)
818            (SaveSessionTest.testClassifiedLayer)
819            (SaveSessionTest.test_dbf_table)
820            (SaveSessionTest.test_joined_table): Filenames are always stored
821            with slashes on all currently supported platforms so adapt all
822            tests to this
823    
824            * test/test_load.py (LoadSessionTest.filenames): With the new
825            filename scheme the filenames in the tests should be
826            understandable on all currently supported platforms so we turn
827            this into an empty list because we don't have to normalize them
828            anymore
829    
830    2003-11-28  Bernhard Herzog  <[email protected]>
831    
832            * test/test_layer.py (TestLayer.test_arc_layer_with_projection):
833            Add the ellipsoid to the projection since some Proj versions
834            complain if it's missing.
835    
836    2003-11-27  Bernhard Herzog  <[email protected]>
837    
838            Corect some bounding box projection problems
839    
840            * Thuban/Model/proj.py (Projection.InverseBBox): New. Inverse
841            version of ForwardBBox
842            (Projection._transform_bbox): New. common implementation of
843            ForwardBBox and InverseBBox
844            (Projection.ForwardBBox): Use _transform_bbox.
845    
846            * test/test_proj.py (TestProjection.test): Add test for
847            InverseBBox
848    
849            * Thuban/Model/layer.py (Layer.LatLongBoundingBox)
850            (Layer.ShapesBoundingBox, RasterLayer.LatLongBoundingBox): Use the
851            new InverseBBox method to determine the unprojected bounding box
852            (Layer.ShapesInRegion): Use the ForwardBBox method to project the
853            bbox.
854    
855            * test/test_layer.py (TestLayer.test_point_layer_with_projection):
856            Removed.
857            (TestLayer.test_arc_layer_with_projection): New. This test is
858            better able to test whether bounding boxes are projected correctly
859            than test_point_layer_with_projection
860    
861            * Thuban/UI/viewport.py (ViewPort.map_projection_changed): Use
862            InverseBBox to unproject bboxes
863    
864    2003-11-25  Bernhard Herzog  <[email protected]>
865    
866            * Thuban/UI/about.py (About.__init__): Make sure we have ASCII
867            source code.
868    
869    2003-11-25  Bernhard Herzog  <[email protected]>
870    
871            * Thuban/Model/layer.py (Layer.__getattr__): Removed. It was only
872            there for backwards compatibility and all code relying on that
873            should have been updated by now.
874    
875    2003-11-25  Bernhard Herzog  <[email protected]>
876    
877            * test/test_load.py (TestClassification.test): Add the missing
878            round trip test.
879            (TestClassification.file_contents): Update to the newest file
880            format
881    
882    2003-11-25  Bernhard Herzog  <[email protected]>
883    
884            Add very experimental (and possibly dangerous) extension to draw
885            polygons:
886    
887            * Extensions/drawshape/README: New. Brief installation
888            instructions
889    
890            * Extensions/drawshape/drawshape.py: New. Implementation of the
891            drawshape extensions
892    
893            * Extensions/drawshape/patch.diff: Patch to apply before the
894            extension can be used.
895    
896    2003-11-24  Bernhard Herzog  <[email protected]>
897    
898            * Thuban/Model/data.py (ShapefileStore._open_shapefile)
899            (ShapefileStore.__init__): Factor opening the shapefile into a
900            separate method (the new _open_shapefile). This makes the code a
901            bit more readable but the real reason is that it makes some evil
902            hacks easier. :-)
903    
904    2003-11-24  Bernhard Herzog  <[email protected]>
905    
906            * Thuban/Model/load.py (SessionLoader.check_attrs): If no
907            converter is specified for an attribute assume it's a string
908            containing only Latin1 characters. Update doc-string accordingly.
909            This change should fix many places where unicode objects might
910            accidentally enter Thuban.
911    
912            * test/test_load.py (TestNonAsciiColumnName): New test to check
913            what happens with column names in DBF files that contain non-ascii
914            characters
915    
916    2003-11-21  Bernhard Herzog  <[email protected]>
917    
918            Enable the experimental attribute editing again and introduce a
919            command line switch to actually activate it
920    
921            * Thuban/UI/main.py (options): New. Container for options set on
922            the commmand line
923            (main): Add the --enable-attribute-editing flag.
924    
925            * Thuban/UI/identifyview.py (IdentifyView.__init__): If attribute
926            editing is enabled use the grid ctrl which allows editing of the
927            values
928    
929            * Thuban/Model/transientdb.py (AutoTransientTable.write_record):
930            New. Just delegate this to the underlying table.
931    
932    2003-11-20  Bernhard Herzog  <[email protected]>
933    
934            * test/test_proj.py (ProjFileReadTests.test_read_unreadable_file):
935            Skip this test if run under non-posix systems since it only works
936            there
937    
938  2003-11-19  Bernhard Herzog  <[email protected]>  2003-11-19  Bernhard Herzog  <[email protected]>
939    
940          * Thuban/Model/resource.py: Rework the way gdal support is          * Thuban/Model/resource.py: Rework the way gdal support is

Legend:
Removed from v.1965  
changed lines
  Added in v.2156

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26