/[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 2026 by frank, Tue Dec 9 16:17:01 2003 UTC revision 2105 by bh, Fri Mar 12 12:19:31 2004 UTC
# Line 1  Line 1 
1    2004-03-12  Bernhard Herzog  <[email protected]>
2    
3            Final step for explicit id/geometry columns: Loading and saving
4    
5            * Resources/XML/thuban-1.1.dtd: New.  Derived from thuban-1.0.dtd
6            with the following changes:
7            (dbshapesource): Two new attributes id_column and geometry_column
8    
9            * Thuban/Model/save.py (SessionSaver.write): Use the new dtd
10            (SessionSaver.write_session): Use the new namespace
11            (SessionSaver.write_data_containers): Write the new dbshapesource
12            parameters
13    
14            * Thuban/Model/load.py (SessionLoader.__init__): New namespace for
15            the new file format version
16            (SessionLoader.start_dbshapesource): Handle the new db parameters
17    
18            * test/test_save.py: Update to the new dtd and namespace
19            (SaveSessionTest.test_save_postgis): Update the NonConnectionStore
20            mock object to provide a working IDColumn method.
21    
22            * test/test_load_1_0.py: New.  Copy of the test_load.py before
23            today's changes but with the round-trip tests removed.
24    
25            * test/test_load_0_9.py: Update doc-string.
26    
27            * test/test_load.py: Update all .thuban files to the new dtd and
28            namespace.
29            (TestPostGISLayer.file_contents): Add the new dbshapesource
30            paramters
31    
32    2004-03-11  Bernhard Herzog  <[email protected]>
33    
34            Next step for explicit id/geometry columns: User interaction
35    
36            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Rework how
37            the dialog is constructed. Add combo boxes to select id and
38            geometry column.  Rename some instance variables.
39            (ChooseDBTableDialog.GetTable): Return id and geometry column
40            names
41            (ChooseDBTableDialog.OnTableSelect): New. Event handler for
42            selections in the table list
43    
44            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): Use id_column
45            and geometry_column
46    
47            * Thuban/Model/session.py (Session.OpenDBShapeStore): Add the new
48            parameters for id_column and geometry column of PostGISShapeStore
49            here as well.
50    
51            * Thuban/Model/postgisdb.py (type_map): Add ROWID psycog type.
52            (_raw_type_map): New. Map raw PostgreSQL type ints to thuban types
53            (PostGISConnection.GeometryTables): Use a better query to
54            determine which relations in the database might be usable for
55            shapestores.  Now supports views as well but is more PostgreSQL
56            specific
57            (PostGISConnection.table_columns): New. Somewhat experimental
58            method to let the db dialogs provide lists of columns to users so
59            that they can select id and geometry columns.
60            (PostGISTable.__init__): The default value of the id_column
61            parameter is now None it still means "gid" effectively, though.
62            (PostGISTable.IDColumn): New introspection method to return a
63            column object for the id column
64            (PostGISShapeStore.GeometryColumn): New introspection method to
65            return a column object for the geometry column
66    
67            * test/test_postgis_db.py
68            (TestPostGISConnection.test_gis_tables_non_empty):
69            Removed. Subsumed by the new:
70            (TestPostGISConnection.test_gis_tables_with_views_and_tables):
71            New. Tes the GeometryTables and table_columns methods with actual
72            tables and views.
73            (PointTests.test_id_column, PointTests.test_geometry_column):
74            New. tests for the new methods.
75            (TestPostGISShapestorePoint.setUp)
76            (TestPostGISShapestorePointSRID.setUp)
77            (TestPostGISShapestorePointExplicitGIDColumn.setUp): Fill the
78            instance variables needed by the new tests
79    
80    2004-03-11  Bernhard Herzog  <[email protected]>
81    
82            * Thuban/UI/classgen.py (GenQuantilesPanel.GetList): The row
83            numbers given to ReadValue are ordinals.
84    
85    2004-03-11  Bernhard Herzog  <[email protected]>
86    
87            Elimiate the requirement for PostGIS tables to have a column
88            called "gid".
89    
90            * Thuban/Model/postgisdb.py (PostGISTable.__init__): New parameter
91            id_column to specify which column to use to identify rows.  Also
92            new instance variables id_column and quoted_id_column
93            (PostGISTable.RowIdToOrdinal, PostGISTable.RowOrdinalToId)
94            (PostGISTable.ReadRowAsDict, PostGISTable.ReadValue)
95            (PostGISTable.SimpleQuery): Use the id column name provided to the
96            constructor instead of "gid"
97            (PostGISShapeStore.__init__): New parameter id_column analogously
98            to PostGISTable.__init__.  This parameter is simply passed through
99            to the base class constructor
100            (PostGISShapeStore._create_col_from_description): Fix typo in
101            doc-string
102            (PostGISShapeStore.Shape, PostGISShapeStore.AllShapes)
103            (PostGISShapeStore.ShapesInRegion): Use the id column name
104            provided to the constructor instead of "gid"
105    
106            * test/postgissupport.py
107            (PostgreSQLServer.get_default_static_data_db): New static table
108            landmarks_point_id with an id column != "gid.  Update the comments
109            a bit.
110            (skip_if_addgeometrycolumn_does_not_use_quote_ident): Fix typo in
111            doc-
112            (upload_shapefile): New parameter gid_column to use a name other
113            than "gid" for the column to store the shape ids
114    
115            * test/test_postgis_db.py (TableTests): New.  Mixin-class
116            containing all tests previously in TestPostGISTable.  The actual
117            tests are the same but the code is a bit more configurable to
118            allow for different id columns etc.
119            (TestPostGISTable): Derive from TableTests now for the actual
120            tests.
121            (TestPostGISTableExplicitGIDColumn): New. Like TestPostGISTable
122            except that it the landmarks_point_id table to test the id_column
123            parameter
124            (PointTests): Extend the doc-string
125            (TestPostGISShapestorePointExplicitGIDColumn)
126            (TestPostGISShapestorePointOIDAsGIDColumn): New classes derived
127            from PointTests to test the explicit id_column parameter.  One
128            tests with the name of the column holding the shape ids, the other
129            uses PostgreSQL's OID column.  For the latter a number of methods
130            have to be overwritten to make them independent of the actual id
131            values.
132    
133    2004-03-08  Silke Reimer  <[email protected]>
134    
135            Update debian directory:
136    
137            * debian/changelog: Added new version.
138            * deiban/rules: Updated management of patches (with cbds)
139            * debian/control: Added cbds to dependencies
140            * debian/patches/*: New. Adds better support for patches of thuban in
141                            debian
142            * debian/menu: Syntax of menu changed slightly
143            * debian/setup.py.patch: removed because it has been moved to
144                            debian/patechs/setup.py.patch
145            
146    
147    2004-02-26  Bernhard Herzog  <[email protected]>
148    
149            Create the Doc/technotes directory for text files with information
150            for developers
151    
152            * Doc/technotes/README: New. README for the technotes
153    
154            * Doc/technotes/coding_guidelines.txt: New. Coding guidelines for
155            Thuban
156    
157            * Doc/technotes/release_process.txt: New. Used to be
158            HOWTO-Release.  Now slightly adapted to technote formatting style.
159    
160            * HOWTO-Release: Removed.  It's contents are now in
161            Doc/technotes/release_process.txt
162    
163    2004-02-25  Bernhard Herzog  <[email protected]>
164    
165            * libraries/thuban/wxproj.cpp (get_wx_version): New.  Return the
166            version of wxWindows the module was compiled with so we can check
167            that against the wxPython version.
168    
169            * Thuban/version.py (thuban_branch, thuban_release): New variables
170            controlling which and how Thuban versions are shown.  See the
171            comments for details.
172            (verify_versions): Also check that the wx version that wxproj is
173            compiled against matches that of the wxPython we use at runtime
174    
175    2004-02-20  Bernhard Herzog  <[email protected]>
176    
177            * Extensions/wms/wms.py (epsg_code_to_projection): Use
178            get_system_proj_file to read the epsg projections.  The old way
179            depended on the current directory being the top Thuban directory.
180    
181    2004-02-20  Bernhard Herzog  <[email protected]>
182    
183            * Extensions/svgexport/test/test_svgmapwriter.py
184            (TestVirtualDC.test_clippath): Remove a debug print
185    
186    2004-02-20  Bernhard Herzog  <[email protected]>
187    
188            * Extensions/svgexport/__init__.py: New.  Turn
189            Extensions/svgexport into a package.
190    
191            * Extensions/svgexport/svgmapwriter.py: Reorder the imports and
192            doc-string a bit.  The doc-string must come first, otherwise it's
193            not a doc-string.  The __future__ import must be the first thing
194            after the doc-string.  Use only double quotes in doc-strings.
195            Single quotes trip up emacs syntax highlighting if the text
196            contains apostrophes.
197    
198    2004-02-20  Bernhard Herzog  <[email protected]>
199    
200            * Extensions/svgexport/test/__init__.py,
201            Extensions/svgexport/test/test_svgmapwriter.py: New. Initial test
202            suite for svgexport
203    
204            * test/runtests.py (find_test_modules): New. Function with the
205            module finding code from main.
206            (main): Use find_test_modules to figure out the default test
207            modules and take modules from Extensions.svgexport.test too.
208    
209    2004-02-19  Bernhard Herzog  <[email protected]>
210    
211            * Thuban/UI/application.py (ThubanApplication.OnInit): Make sure
212            the mainwindow has a reference to the map of the initial session.
213            This fixes a bug introduced with the fix for RT#2245
214    
215    2004-02-19  Bernhard Herzog  <[email protected]>
216    
217            * Extensions/svgexport/svgsaver.py,
218            Extensions/svgexport/svgmapwriter.py,
219            Extensions/svgexport/maplegend.py: Added again.  This time in the
220            correct place.
221    
222    2004-02-17  Bernhard Herzog  <[email protected]>
223    
224            Fix for RT#2245
225    
226            * Thuban/UI/application.py (ThubanApplication.OnInit): Initialize
227            instance variables before trying to create any windows.  Creating
228            windows can start an event loop if e.g. message boxes are popped
229            up for some reason, and event handlers, especially EVT_UPDATE_UI
230            may want to access things from the application.
231            (ThubanApplication.maps_changed): The mainwindow may not have been
232            created yet, so check whether it has been created before calling
233            its methods
234    
235            * Thuban/UI/view.py (MapCanvas.OnIdle): Only try to redraw if we
236            have a map
237    
238    2004-02-17  Bernhard Herzog  <[email protected]>
239    
240            * test/test_svgmapwriter.py, Extensions/svgsaver.py,
241            Extensions/svgmapwriter.py, Extensions/maplegend.py,
242            extensions/svgexport/svgsaver.py,
243            extensions/svgexport/svgmapwriter.py,
244            extensions/svgexport/maplegend.py: Removed.  These files were in
245            the wrong places or didn't work at all.
246    
247    2004-02-16  Bernhard Herzog  <[email protected]>
248    
249            * Thuban/UI/view.py (MapCanvas.Export): Remove accidentally added
250            line
251    
252    2004-02-16  Bernhard Herzog  <[email protected]>
253    
254            * Thuban/UI/view.py (MapCanvas.Export): Avoid UnboundLocalError.
255    
256    2004-02-15  Markus Rechtien  <[email protected]>
257            
258            * Extensions/svgexport/svgmapwriter.py: New. Adds the capability
259            to write a session to a file in SVG format.
260            * Extensions/svgexport/svgsaver.py: New. Uses svgmapwriter.py
261            to write a SVG map of a session.
262            * Extensions/svgexport/maplegend: New. Writes a basic maplegend
263            in SVG format for the current session.
264    
265    2004-02-13  Bernhard Herzog  <[email protected]>
266    
267            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): When the layer
268            can't be created, return immediately after displaying the error
269            message.
270    
271    2004-02-11  Bernhard Herzog  <[email protected]>
272    
273            Handle postgis tables with more than one geometry column.
274    
275            * Thuban/Model/postgisdb.py
276            (PostGISTable._fetch_table_information): Delegate the creation of
277            column objects to a different method so that we can extend that in
278            derived classes
279            (PostGISTable._create_col_from_description): New. Column object
280            creation part of _fetch_table_information
281            (PostGISShapeStore._create_col_from_description): New. Extend
282            inherited method to handle geometry columns
283            (PostGISShapeStore.__init__): New parameter geometry_column to
284            specify which geometry column to use.  Optional but mandatory for
285            tables with more than one geometry column
286            (PostGISShapeStore._fetch_table_information): Also use the name of
287            the geometry column when looking for the srid
288            (PostGISShapeStore.ShapeType): Also use the name of the geometry
289            column when looking for the shape type
290    
291            * test/test_save.py (SaveSessionTest.test_save_postgis): Adapt
292            NonConnectionStore to changes in the PostGISShapeStore
293    
294            * test/test_postgis_db.py
295            (TestPostGISSpecialCases.test_shapestore_two_geom_cols): Test
296            PostGISShapeStore with tables having two geometry columns.
297    
298    2004-02-10  Bernhard Herzog  <[email protected]>
299    
300            Fix some postgis problems.  What remains to be done is real
301            handling of SRIDs as they affect how reprojection is done
302    
303            * Thuban/Model/postgisdb.py (quote_identifier): Fix typo in
304            doc-string
305            (PostGISShapeStore._fetch_table_information): New. Extend
306            inherited method to retrieve srid
307            (PostGISShapeStore.BoundingBox): Handle tables without data.
308            extent yields NULL for those
309            (PostGISShapeStore.ShapesInRegion): Use the srid of the table.
310    
311            * test/test_postgis_db.py
312            (TestPostGISSpecialCases.test_shapestore_empty_table): New test
313            for the special case of a table without any data
314            (TestPostGISShapestorePointSRID): New class with tests for a table
315            that uses srids
316            (PolygonTests): Fix a doc-string typo
317    
318            * test/postgissupport.py (PostGISDatabase.__init__): New parameter
319            reference_systems with a specification of spacial reference
320            systems to create in the new db.
321            (PostgreSQLServer.new_postgis_db)
322            (PostgreSQLServer.get_static_data_db): New parameter
323            reference_systems to be passed through ultimately to
324            PostGISDatabase.  In new_postgis_db also check whether an existing
325            db already has the right srids
326            (PostgreSQLServer.get_default_static_data_db): Add srids and a
327            table that uses srids
328            (PostGISDatabase.initdb): Create the entries for the reference
329            systems
330            (PostGISDatabase.has_data): Add reference_systems parameter to
331            check for those too
332            (upload_shapefile): New parameter srid to create tables with a
333            specific srid
334    
335    2004-02-06  Frank Koormann  <[email protected]>
336    
337            * po/pt_BR.po: Fixed charset
338    
339    2004-02-05  Frank Koormann  <[email protected]>
340    
341            * po/pt_BR.po: Fixed format string for error message, missing %s
342            added (Thuban/UI/application.py:273)
343    
344    2004-02-03  Frank Koormann  <[email protected]>
345            
346            First version of Portuguese (Brazilian) translation
347    
348            * po/pt_BR.po: New, translation of pot (2004-01-15 16:07+0300) for
349            Brazilian Portuguese by Eduardo Patto Kanegae.
350    
351            * Thuban/UI/about.py (About.__init.py__): Added Eduardo to the list of
352            translators.
353    
354    
355    2004-01-22  Frank Koormann  <[email protected]>
356    
357            * Doc/manual/thuban-manual.xml: Added section on installation of
358            Thuban under Win32 systems. Fixed image path references in the postgis
359            section. Some minor source formattings.
360    
361    2004-01-21  Frank Koormann  <[email protected]>
362    
363            Make Thuban remember path selections (at least for one application run).
364    
365            * Thuban/UI/application.py (Application.OnInit): Initialize path as a
366            attribute of application object. Path is a dictionary of
367            strings, currently with the items "data" and "projection".  
368            (Application.SetPath): New, stores path for the specified item.
369            (Application.Path): New, return path for the specified item.
370    
371            * Thuban/UI/mainwindow.py
372            (MainWindow.OpenSession, MainWindow.SaveSessionAs,
373            MainWindow.AddLayer, MainWindow.AddRasterLayer,
374            MainWindow.TableOpen): Access "data" path information of the
375            application.
376            
377            * Thuban/UI/projdialog.py (ProjFrame._OnImport, ProjFrame._OnExport):
378            Access "projection" path information of the application.
379    
380    2004-01-05  Bernhard Herzog  <[email protected]>
381    
382            * po/ru.po: Updated translations from Alex Shevlakov
383    
384    2004-01-05  Bernhard Herzog  <[email protected]>
385    
386            * po/Makefile, po/README: Move the description of how to generate
387            the translation statistics to the README.
388    
389    2003-12-23  Bernhard Herzog  <[email protected]>
390    
391            * NEWS: Update for 1.0.0
392    
393            * po/it.po: Another update from Maurizio Napolitano
394    
395    2003-12-23  Bernhard Herzog  <[email protected]>
396    
397            * po/it.po: Updated translation from Maurizio Napolitano
398    
399    2003-12-23  Bernhard Herzog  <[email protected]>
400    
401            * Thuban/UI/join.py (JoinDialog.__init__): Mark one more string
402            for translation
403    
404            * Thuban/UI/mainwindow.py (MainWindow.TableRename)
405            (MainWindow.RenameMap, MainWindow.RenameLayer): Mark some more
406            strings for translation
407    
408            * po/de.po: Update with the newly marked strings.
409    
410    2003-12-22  Bernhard Herzog  <[email protected]>
411    
412            * HOWTO-Release: Fix the places where version numbers have to be
413            updated
414    
415    2003-12-22  Bernhard Herzog  <[email protected]>
416    
417            * setup.py (setup call): 1.0.0, yeah!
418    
419            * Thuban/version.py (longversion): 1.0.0, yeah!
420    
421            * Thuban/Model/load.py (SessionLoader.__init__): Accept the
422            1.0.0 namespace too
423    
424            * Thuban/Model/save.py (SessionSaver.write_session): Save with
425            1.0.0 namespace
426    
427            * test/test_load.py (LoadSessionTest.dtd)
428            (TestSingleLayer.file_contents)
429            (TestNonAsciiColumnName.file_contents)
430            (TestLayerVisibility.file_contents)
431            (TestClassification.file_contents, TestLabels.file_contents)
432            (TestLayerProjection.file_contents)
433            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
434            (TestLabelLayer.file_contents, TestPostGISLayer.file_contents)
435            (TestPostGISLayerPassword.file_contents)
436            (TestLoadError.file_contents, TestLoadError.test): Update for
437            1.0.0 namespace
438    
439            * test/test_save.py (SaveSessionTest.dtd)
440            (SaveSessionTest.testEmptySession)
441            (SaveSessionTest.testSingleLayer)
442            (SaveSessionTest.testLayerProjection)
443            (SaveSessionTest.testRasterLayer)
444            (SaveSessionTest.testClassifiedLayer)
445            (SaveSessionTest.test_dbf_table)
446            (SaveSessionTest.test_joined_table)
447            (SaveSessionTest.test_save_postgis): Update for 1.0.0 namespace
448    
449    2003-12-22  Bernhard Herzog  <[email protected]>
450    
451            * Thuban/Model/load.py (SessionLoader.start_label): Make sure the
452            alignment flags are byte strings not unicode and that they have
453            valid values
454    
455            * test/test_load.py (TestLabelLayer): New. Test loading (and
456            indirectly saving) of maps with labels.
457    
458    2003-12-22  Bernhard Herzog  <[email protected]>
459    
460            * Thuban/UI/tableview.py (TableGrid.OnDestroy)
461            (TableGrid.__init__): Handle EVT_WINDOW_DESTROY in the grid to
462            unsubscribe all subscribers.
463            (LayerTableFrame.OnDestroy): Do not unsubscribe any messages from
464            self.grid since it may already have been destroyed.
465            Fixes RT #2256
466    
467    2003-12-19  Bernhard Herzog  <[email protected]>
468    
469            * po/fr.po, po/es.po: Updated translations from Daniel Calvelo
470    
471    2003-12-16  Bernhard Herzog  <[email protected]>
472            
473            * debian/bitmappath.patch, debian/setup.py.patch:
474                    added to ensure compliance with FHS for debian
475            * debian/rules, debian/changelog:
476                added patches in rules to ensure compliance with FHS for debian
477    
478    2003-12-16  Bernhard Herzog  <[email protected]>
479    
480            * po/Makefile (mo): Make the output a bit nicer so that it prints
481            statistics about the translations. Add a comment how produce even
482            nicer statistics with sed.
483    
484  2003-12-09  Frank Koormann   <[email protected]>  2003-12-09  Frank Koormann   <[email protected]>
485    
486          * Resources/Projections/defaults.proj:          * Resources/Projections/defaults.proj:

Legend:
Removed from v.2026  
changed lines
  Added in v.2105

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26