/[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 1637 by bh, Fri Aug 22 17:20:38 2003 UTC revision 1862 by jan, Fri Oct 24 16:03:40 2003 UTC
# Line 1  Line 1 
1    2003-10-24  Jan-Oliver Wagner <[email protected]>
2    
3            * Thuban/Model/proj.py (Projection.GetProjectedUnits): Added 'longlat'
4            as alias for 'latlong'.
5    
6            * Thuban/UI/projdialog.py (ProjFrame.__init__): Added 'longlat'
7            as alias for 'latlong'.
8    
9    2003-10-24  Jan-Oliver Wagner <[email protected]>
10    
11            * Thuban/UI/projdialog.py (ProjFrame.proj_selection_changed): Set
12            the projection even for the UnknownPanel.
13            (UnknownProjPanel.__init__): Define the text and create the textctrl
14            widget.
15            (UnknownProjPanel._DoLayout): Replaced static text widget by the
16            textctrl created in __init__.
17            (UnknownProjPanel.SetProjection): Set the text for the text ctrl
18            including the parameters of the projection.
19            
20    2003-10-24  Jan-Oliver Wagner <[email protected]>
21    
22            * Resources/Projections/epsg.proj: New. This is a list of
23            EPSG codes with parameters for proj. The list has been
24            generated using devtools/create_epsg.py based on the
25            file nad/epsg of the proj 4.4.7 package. Four projection
26            definitions have been deleted as they are not accepted by proj:
27            "CH1903+ / LV95", "Bern 1898 (Bern) / LV03C", "CH1903 / LV03"
28            and "HD72 / EOV".
29    
30    2003-10-22  Bernhard Herzog  <[email protected]>
31    
32            Some more tweaks to the projection dialog which should fix RT
33            #1886.
34    
35            * Thuban/UI/projlist.py (ProjectionList.Destroy): Unsubscribe from
36            the ProjFile's messages and call the base class methods correctly
37            (ProjectionList.SelectProjection): Set the wxLIST_STATE_FOCUSED
38            flag on the newly selected item too. Otherwise some other item is
39            focused and the first time the focus is moved with the keyboard
40            the selection moves in unexpected ways.
41    
42            * Thuban/UI/projdialog.py (ProjFrame.__init__): Do not set the
43            focus on the OK button, only on the projection list. That way the
44            list really has the focus initially
45            (ProjFrame.OnClose): Call the projection list's Destroy method to
46            make it unsubscribe all messages
47    
48    2003-10-21  Bernhard Herzog  <[email protected]>
49    
50            Rework the projection dialog to fix a few bugs, including RT 2166
51            and most of 2168
52    
53            * Thuban/UI/projlist.py: New. The class ProjectionList is a
54            special wxListCtrl to show a list of projections in a more MVC
55            fashion
56    
57            * Thuban/UI/projdialog.py (ProjFrame): Substantial changes
58            throughout the class. The main change is to use the ProjectionList
59            class instead of a normal wxListBox. Also, add an explicit
60            "Unknown" projection to the projection choice control.
61            (ProjPanel.__init__): Add an "unknown" ellipsoid
62            (TMPanel.__init__, LCCPanel.__init__): Tweak the order of
63            instantiation of the panel's controls to make the tab-order more
64            natural
65    
66    2003-10-21  Bernhard Herzog  <[email protected]>
67    
68            * test/test_load.py (TestSingleLayer.file_contents)
69            (TestSingleLayer.test): Add non-ascii characters to the titles of
70            session, map and layer. This is effectively a port of the
71            TestUnicodeStrings test in test_load_0_8.py which for some reason
72            was only added there.
73    
74            * test/test_load_0_9.py (TestSingleLayer.file_contents)
75            (TestSingleLayer.test): Same as in test_load.py: add non-ascii
76            characters to the titles of session, map and layer,.
77    
78    2003-10-21  Bernhard Herzog  <[email protected]>
79    
80            Add EPSG projection handling to .thuban files
81    
82            * test/test_save.py (SaveSessionTest.dtd)
83            (SaveSessionTest.testEmptySession)
84            (SaveSessionTest.testLayerProjection)
85            (SaveSessionTest.testRasterLayer)
86            (SaveSessionTest.testClassifiedLayer)
87            (SaveSessionTest.test_dbf_table)
88            (SaveSessionTest.test_joined_table)
89            (SaveSessionTest.test_save_postgis): Update to 1.0-dev namespace
90            (SaveSessionTest.testSingleLayer): Update to 1.0-dev namespace and
91            use a and epsg projection to test saving them
92    
93            * test/test_load.py (LoadSessionTest.dtd): Update to 1.0-dev
94            namespace
95            (TestLayerVisibility.file_contents, TestLabels.file_contents)
96            (TestLayerProjection.file_contents)
97            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
98            (TestPostGISLayer.file_contents)
99            (TestPostGISLayerPassword.file_contents)
100            (TestLoadError.file_contents, TestLoadError.test): Update to use
101            1.0-dev namespace
102            (TestSingleLayer.file_contents, TestSingleLayer.test): Update to
103            use 1.0-dev namespace and use an EPSG projection to test whether
104            loading it works
105    
106            * test/test_load_0_9.py: New. Effectively a copy of test_load.py
107            as of Thuban 0.9. These are now tests to determine whether Thuban
108            can still read files generated by Thuban 0.9
109    
110            * Thuban/Model/save.py (SessionSaver.write)
111            (SessionSaver.write_session): Use the 1.0 dtd and 1.0-dev
112            namespace
113            (SessionSaver.write_projection): Write the projection's epsg
114            attribute
115    
116            * Thuban/Model/load.py (SessionLoader.__init__): Also accept the
117            thuban-1.0-dev.dtd namespace
118            (SessionLoader.check_attrs): Allow a callable object as conversion
119            too
120            (SessionLoader.start_projection, SessionLoader.end_projection)
121            (SessionLoader.start_parameter): Handle the epsg attribute and
122            rename a few instance variables to lower case
123    
124            * Resources/XML/thuban-1.0.dtd: New. Only difference to
125            thuban-0.9.dtd is the epsg attribute for projections.
126    
127    2003-10-21  Bernhard Herzog  <[email protected]>
128    
129            * test/runtests.py (main): Let the user specify which tests to run
130            on the command line
131    
132            * test/support.py (ThubanTestResult.getDescription): Override to
133            give a better short description. The description can be used as a
134            parameter to run_tests to run that particular test in isolation.
135    
136    2003-10-21  Frank Koormann   <[email protected]>
137    
138            Popup menu for legend. Scheduled for the 1.2 release this was too
139            simple to implement: The popup menu is bound to the legend tree, while
140            the events are hanlded by its anchestor, the legend panel. This
141            allows reuse of all the event handlers already implemented for the
142            legend toolbar buttons.
143    
144            * Thuban/UI/legend.py (LegendPanel.__init__): EVT_MENU macros
145            to add handlers for the events issued by the popup menu.
146            (LegendPanel._OnToggleVisibility): Handler for toggling layer
147            visibility event
148            (LegendPanel._OnProjection): Handler for layer projection event.
149            (LegendTree.__init__): Added EVT_TREE_ITEM_RIGHT_CLICK
150            (LegendTree._OnRightClick): Event handler for right click, select item
151            and pop up menu.
152            (LegendTree.ToggleVisibility): Toggle layer visibility
153            (LegendTree.LayerProjection): Raise layer projection dialog for
154            current layer.
155    
156    2003-10-21  Bernhard Herzog  <[email protected]>
157    
158            * Resources/Projections/defaults.proj: Use correct DOCTYPE
159            declaration. The top-level element is projectionlist not projfile
160    
161    2003-10-20  Bernhard Herzog  <[email protected]>
162    
163            * Thuban/UI/projdialog.py (ProjFrame.write_proj_file): New. helper
164            method to write a projfile and display a busy cursor and error
165            dialogs.
166            (ProjFrame._OnSave, ProjFrame._OnAddToList, ProjFrame._OnImport)
167            (ProjFrame._OnExport, ProjFrame._OnRemove): Use write_proj_file
168            (ProjFrame.__FillAvailList): Translate "<None>" too and display a
169            busy cursor while loading the user and system prj files.
170    
171    2003-10-16  Bernhard Herzog  <[email protected]>
172    
173            * Thuban/Model/resource.py (projfile_cache): Introduce a cache for
174            ProjFile objects
175            (clear_proj_file_cache): New function to clear the cache. Mainly
176            useful for use by the test suite
177            (read_proj_file): Use the cache.
178    
179            * test/test_proj.py (TestProjFile): Clarify the doc-string
180            (ProjFileReadTests): Update doc-string
181            (ProjFileReadTests.test_get_system_proj_file): Check whether the
182            system proj files is cached.
183            (ProjFileLoadTestCase): New base class for the proj file tests
184            derived from support.FileLoadTestCase to provide some common
185            behavior.
186            (TestLoadingProjFile)
187            (TestLoadingProjFileWithEmptyProjectionlist.file_contents)
188            (TestProjFileWithInvalidParameters.file_contents): Derive from
189            ProjFileLoadTestCase
190            (TestLoadingProjFile.test_caching): New. Test whether the cache
191            works
192    
193    2003-10-16      Silke Reimer    <[email protected]>
194    
195            * debian/*: New directory with configuration files for building a thuban
196              deb-package.
197    
198    2003-10-14  Bernhard Herzog  <[email protected]>
199    
200            * test/test_proj.py: Execute support.run_tests when run as
201            __main__ so that missing unsubscribes are detected
202            (TestProjFile.tearDown): Destroy the proj_file properly
203    
204    2003-10-14  Bernhard Herzog  <[email protected]>
205    
206            * Thuban/Model/messages.py (PROJECTION_ADDED)
207            (PROJECTION_REPLACED, PROJECTION_REMOVED): New message types for
208            the ProjFile objects
209    
210            * Thuban/Model/proj.py (ProjFile): Derive from Publisher so we can
211            easily send messages when the projections change
212            (ProjFile.Add, ProjFile.Remove, ProjFile.Replace): Issue messages
213            when the change was successful
214    
215            * test/test_proj.py (TestProjFile.setUp): Subscribe to some of the
216            proj file messages
217            (TestProjFile.test_add_remove)
218            (TestProjFile.test_remove_non_existing)
219            (TestProjFile.test_replace)
220            (TestProjFile.test_replace_non_existing): Test whether the right
221            messages are sent
222    
223    2003-10-14  Bernhard Herzog  <[email protected]>
224    
225            * test/test_proj.py (TestProjFile.test): Refactor into several
226            tests
227            (TestProjFile.test_add_remove)
228            (TestProjFile.test_remove_non_existing)
229            (TestProjFile.test_replace)
230            (TestProjFile.test_replace_non_existing): Some of the new
231            individual test cases
232            (TestProjFileSimple): New class for the rest of the test cases
233            that came out of the refactoring
234            (ProjFileTest): Derive from xmlsupport.ValidationTest so that the
235            derived classes don't have to
236    
237    2003-10-13  Bernhard Herzog  <[email protected]>
238    
239            Add an optional EPSG code to the projection objects and extend the
240            .proj file format accordingly.
241    
242            * Resources/XML/projfile.dtd (element projection): Add epsg
243            attribute
244    
245            * Thuban/Model/proj.py (Projection.__init__): New parameter and
246            instance variable epsg. Update doc-string
247            (Projection.EPSGCode, Projection.Label): New methods to provide
248            access to EPSG code and a label for use in dialogs
249    
250            * Thuban/Model/resource.py (ProjFileReader.start_projection)
251            (ProjFileReader.end_projection, ProjFileSaver.write_projfile):
252            Handle the epsg code attribute when reading or writing proj files
253    
254            * Thuban/UI/projdialog.py (ProjFrame._OnSave)
255            (ProjFrame._OnAddToList, ProjFrame.__DoOnProjAvail)
256            (ProjFrame.__FillAvailList): Use the projection's Label method to
257            get the string for the list box
258    
259            * test/test_proj.py (TestProjection.test_label)
260            (TestProjection.test_label_epsg)
261            (TestProjection.test_epsgcode_for_non_epsg_projection)
262            (TestProjection.test_epsgcode_for_real_epsg_projection): New tests
263            for the label and EPSGCode methods
264            (WriteProjFileTests.doTestWrite, WriteProjFileTests.test_write)
265            (WriteProjFileTests.test_write_empty_file): Create the ProjFile
266            objects in the test cases and put the expected contents into the
267            test case methods too. Update doTestWrite accordingly
268            (TestLoadingProjFile)
269            (TestLoadingProjFileWithEmptyProjectionlist): New classes with the
270            read tests from TestProjFile.
271            (TestProjFile.doTestRead, TestProjFile.testRead): Removed. These
272            tests are now in the new classes.
273            (sample_projfile, sample_projfile_data)
274            (sample_projfile2, sample_projfile_data2): Removed. Not used
275            anymore.
276            (TestProjFile.test_read_unreadable_file): No need to reset the
277            permissions at the end anymore since we use a unique filename
278    
279    2003-10-13  Bernhard Herzog  <[email protected]>
280    
281            * test/test_proj.py: Some more refactoring of the test cases
282            (ProjFileTest): New base class for the proj file tests.
283            (TestProjFile): Derive from ProjFileTest
284            (TestProjFile.test_read_unreadable_file)
285            (TestProjFile.test_read_empty_file, TestProjFile.doTestRead): Use
286            the new filename method to get a unique filename
287            (TestProjFile.doTestWrite, TestProjFile.testWrite): Removed.
288            (WriteProjFileTests): New class for proj file write tests.
289            Contains the write test that were in TestProjFile originally.
290    
291    2003-10-13  Bernhard Herzog  <[email protected]>
292    
293            * test/test_proj.py (TestProjFile.testRead)
294            (TestProjFile.test_read_non_existing_file)
295            (TestProjFile.test_read_unreadable_file)
296            (TestProjFile.test_read_empty_file): Split into several methods.
297    
298    2003-10-10  Bernhard Herzog  <[email protected]>
299    
300            * Thuban/UI/sizers.py: New file with custom sizers.
301    
302            * Thuban/UI/projdialog.py (ProjFrame.build_dialog): Instantiate
303            all projection type specific panels and put them into a
304            NotebookLikeSizer. This way the dialog doesn't change its size
305            when a different projection is selected
306            (ProjFrame.__init__): Rename projection_panels
307            projection_panel_defs and reuse projection_panels for a list of
308            the instantiated panels.
309            (ProjFrame._show_proj_panel, ProjFrame.__DoOnProjAvail)
310            (ProjFrame.__DoOnProjChoice): Changes due to the new handling of
311            the panels
312            (UnknownProjPanel._DoLayout): Place the newlines in the message
313            differently to make the panel narrower.
314            (TMPanel._DoLayout): Layout the parameters in one column.
315    
316    2003-10-10  Bernhard Herzog  <[email protected]>
317    
318            * Thuban/UI/projdialog.py (ProjFrame.build_dialog): New method
319            that contains all the setup for the dialog's widgets, layout and
320            event handling.
321            (__): Call build_dialog to build the dialog.
322            (ProjFrame.__set_properties, ProjFrame.__do_layout): Removed.
323            Their functionality is now in build_dialog
324            (ProjFrame.__VerifyButtons, ProjFrame.__VerifyButtons)
325            (ProjFrame.__DoOnProjAvail, ProjFrame.__DoOnProjAvail)
326            (ProjFrame.__DoOnProjChoice): Small updates due to slightly
327            different widget names and hierarchy introduced with build_dialog.
328    
329    2003-10-10  Bernhard Herzog  <[email protected]>
330    
331            * README: Fix typo.
332    
333    2003-10-09  Bernhard Herzog  <[email protected]>
334    
335            * Thuban/Model/proj.py (ProjFile.Add): Do not check whether the
336            projection is already in the list. This is *a lot* faster when
337            loading files with hundreds of projections since it saves a linear
338            search. OTOH this will allow adding the same projection to the
339            user.proj file multiple times in the projection dialog but we'll
340            deal with that later
341    
342    2003-10-09  Jan-Oliver Wagner <[email protected]>
343    
344            * devtools: New. Directory for developer tools that are not intended
345            for the regular user.
346    
347            * devtools/create_epsg.py: New. Convert the epsg file of proj into
348            a python .proj file.
349    
350    2003-10-09  Bernhard Herzog  <[email protected]>
351    
352            * test/test_proj.py
353            (TestProjection.test_get_parameter_without_equals_sign): New. Test
354            whether GetParameter handles parameters without "=" sign correctly
355    
356            * Thuban/Model/proj.py (Projection.GetParameter): Handle
357            parameters that do not contain a "=". Update the doc-string
358    
359    2003-10-08  Bernhard Herzog  <[email protected]>
360    
361            * Thuban/UI/projdialog.py (ProjFrame.__set_properties): Remove the
362            length limit on the projname text control
363    
364    2003-10-08  Bernhard Herzog  <[email protected]>
365    
366            * test/test_proj.py (TestProjection.test_get_projection_units_geo)
367            (TestProjection.test_get_projection_units_normal): New. Tests for
368            the Projection.GetProjectedUnits method
369    
370    2003-10-08  Jan-Oliver Wagner <[email protected]>
371    
372            * Thuban/Model/resource.py (get_user_proj_file): small bug-fix:
373            Added missing 'val' parameter.
374    
375    2003-10-08  Bernhard Herzog  <[email protected]>
376    
377            * Thuban/UI/projdialog.py (ProjFrame.__DoOnProjAvail): When the
378            projection type of the currently selected projection is not known,
379            i.e. there's no panel for it, use the UnknownProjPanel
380            (ProjFrame.__DoOnProjChoice, ProjFrame._show_proj_panel): Split
381            the actual replacing of the proj panel into the new method
382            _show_proj_panel.
383            (UnknownProjPanel): Add doc-string.
384            (UnknownProjPanel._DoLayout): Insert a newline into the text so
385            that the panel is not so wide.
386    
387    2003-10-08  Bernhard Herzog  <[email protected]>
388    
389            * Thuban/Model/resource.py (read_proj_file): Return the warnings
390            too. Update the doc-string
391            (get_proj_files): Removed. It wasn't used anywhere
392            (get_system_proj_files, get_system_proj_file): Rename to
393            get_system_proj_file and return the ProjFile object and not a list
394            of ProjFile objects. Update the callers.
395            (get_user_proj_files, get_user_proj_file): Rename to
396            get_user_proj_file return the ProjFile object and not a list of
397            ProjFile objects. Update the callers.
398            (ProjFileReader.__init__): New instance variable for the warnings.
399            Rename the __pf ivar to projfile. Update the methods referring to
400            __pf
401            (ProjFileReader.end_projection): Catch any errors raised when
402            instantiating the projection and record that as an error. The
403            projection will not be in the final ProjFile object.
404            (ProjFileReader.GetWarnings): New method to return the warnings.
405    
406            * Thuban/UI/projdialog.py (ProjFrame.show_warnings): New method to
407            show the warnings from the projfile reader
408            (ProjFrame._OnImport): Deal with any warnings returned by
409            read_proj_file
410            (ProjFrame.__FillAvailList): Deal with any warnings returned by
411            get_system_proj_file or get_user_proj_file.
412    
413            * test/test_proj.py (TestProjFile.doTestRead): Check the warnings.
414            (TestProjFileWithInvalidParameters.file_contents): New test cases
415            to test whether read_proj_file handles invalid projection
416            parameters correctly
417            (TestProjFile.test_get_system_proj_file): New. Simple test for
418            resource.get_system_proj_file
419    
420    2003-10-07  Bernhard Herzog  <[email protected]>
421    
422            * test/test_derivedshapestore.py
423            (TestDerivedShapeStoreExceptions.tearDown): Clear the session
424            properly so that the temporary directories get deleted correctly
425    
426    2003-10-06  Bernhard Herzog  <[email protected]>
427    
428            Handle the title changes in a proper MVC way.
429    
430            * Thuban/UI/mainwindow.py (MainWindow.__init__): Subscribe to the
431            canvas' TITLE_CHANGED messages
432            (MainWindow.update_title): New. Update the main window's title
433            (MainWindow.__SetTitle): Removed. Use update_title instead.
434            (MainWindow.SetMap): Use update_title instead of __SetTitle
435            (MainWindow.RenameMap): Do change the window title explicitly
436            here. That's handled in a proper MVC way now.
437            (MainWindow.title_changed): New. Subscriber for the TITLE_CHANGED
438            messages
439    
440            * Thuban/Lib/connector.py (Conduit): New class to help classes
441            that forward messages
442    
443            * Thuban/UI/viewport.py: Forward the map's TITLE_CHANGED messages
444            (ViewPort): Derive from Conduit instead of Publisher
445            (ViewPort.Subscribe, ViewPort.Unsubscribe): Use the new base class
446            when calling the inherited versions
447            (ViewPort._subscribe_map, ViewPort._unsubscribe_map): New helper
448            methods to subscribe and unsubscribe map messages
449            (ViewPort.SetMap, ViewPort.Destroy): Use the new helper methods to
450            handle the map subscriptions
451            (ViewPort.Map, ViewPort.map_projection_changed)
452            (ViewPort.layer_projection_changed): Add or update doc-strings
453    
454            * test/test_connector.py (TestPublisher.test_issue_simple): Fix
455            typo
456            (MyConduit): Helper class for the Conduit test.
457            (TestConduit): Test cases for Conduit
458    
459            * test/test_connector.py: Use support.run_tests as main.
460    
461            * test/test_viewport.py (ViewPortTest.setUp): Also subscribe to
462            the TITLE_CHANGED messages
463            (ViewPortTest.test_forwarding_title_changed): New test to check
464            whether the viewport forwards the map's TITLE_CHANGED messages
465            (TestViewportWithPostGIS.tearDown): Call the map's Destroy method
466            after the port's because the latter may require a still functional
467            map.
468    
469    2003-10-06  Bernhard Herzog  <[email protected]>
470    
471            * Thuban/UI/application.py (ThubanApplication.maps_changed): Add
472            doc-string
473    
474    2003-10-06  Bernhard Herzog  <[email protected]>
475    
476            * test/test_viewport.py (ViewPortTest.setUp)
477            (SimpleViewPortTest.test_init_with_size): Move the test for the
478            initial size as a constructor parameter from ViewPortTest.setUp
479            method to a new separate test in SimpleViewPortTest.
480    
481    2003-10-06  Bernhard Herzog  <[email protected]>
482    
483            * test/test_viewport.py (MockView): New class derived from
484            ViewPort with a mock implementation of GetTextExtent to be used in
485            the test cases
486            (ViewPortTest.setUp): Use MockView instead of ViewPort
487    
488            * Thuban/UI/viewport.py (ViewPort.GetTextExtent): Turn this method
489            into what would be a "pure virtual function" in C++: always raise
490            NotImplementedError. Mock implementations for test cases don't
491            belong into the real code
492    
493    2003-10-02  Bernhard Herzog  <[email protected]>
494    
495            * test/test_layer.py (TestLayer.test_empty_layer): Explicitly
496            close the dbf file we create so that it's contents have been
497            written properly.
498    
499            * libraries/shapelib/shptree.c, libraries/shapelib/shpopen.c,
500            libraries/shapelib/shapefil.h, libraries/shapelib/dbfopen.c:
501            Update to shapelib 1.2.10
502    
503    2003-10-01  Jan-Oliver Wagner <[email protected]>
504    
505            * Thuban/UI/tree.py, Thuban/UI/main.py: Remove the #! line as
506            it annoys lintian which warns about these files not being
507            executable. The #! isn't necessary here since if you absolutely
508            must execute them you can always say "python <filename>".
509    
510    2003-09-26  Bernhard Herzog  <[email protected]>
511    
512            * Thuban/Model/classgen.py (GenQuantiles0): Removed since it's
513            only used in GREAT-ER but not used in Thuban itself. When GREAT-ER
514            is ported to a newer the import will fail, so it should be noticed
515            immediately that this function is gone.
516            Fixes RT#1919
517    
518    2003-09-26  Bernhard Herzog  <[email protected]>
519    
520            Add a DTD for the projection files and make thuban write valid
521            projection files
522    
523            * Resources/XML/projfile.dtd: New. DTD for thuban's projection
524            files
525    
526            * Thuban/Model/resource.py (ProjFileSaver.write): Use
527            'projectionlist' as the name in the document type declaration so
528            that it matches the element type of the root element.
529    
530            * test/test_proj.py (sample_projfile, sample_projfile2): Use
531            'projectionlist' as the name in the document type declaration just
532            as it is done now in the files thuban would write
533            (sample_projfile, sample_projfile_data): Fix spelling of
534            "Mercator"
535            (TestProjFile.doTestWrite): Validate the written and the expected
536            XML data
537            (TestProjFile): Derive from ValidationTest so that we can run xml
538            validation tests
539    
540    2003-09-24  Bernhard Herzog  <[email protected]>
541    
542            * Thuban/UI/renderer.py (ExportRenderer.render_legend): Do not
543            modify the list returned by map.Layers() in place since it is the
544            actual list of layers used by the map.
545    
546    2003-09-23  Jan-Oliver Wagner <[email protected]>
547    
548            * Doc/manual/thuban-manual.xml: Added subsection to chapter
549            Extensions to describe the extensions coming with the Thuban
550            standard package (gns2shp and importAPR).
551    
552    2003-09-23  Bernhard Herzog  <[email protected]>
553    
554            * libraries/thuban/wxproj.cpp (project_point): if there's an
555            inverse but no forward projection, convert to degrees after
556            applying the inverse projection. Fixes RT#2096
557    
558            * test/test_wxproj.py: New. Test cases for wxproj.so. One test
559            implicitly tests for the fix to RT#2096
560    
561            * test/support.py (FloatComparisonMixin.assertFloatSeqEqual):
562            Check that the sequences have the same lengths
563    
564            * Resources/Projections/defaults.proj (Geographic projection): Use
565            a much more precise value for the to_meter attribute.
566    
567    2003-09-22  Bernhard Herzog  <[email protected]>
568    
569            * test/support.py (initthuban): Make sure to unset the LANG env.
570            var. so that tests that compare translated strings work. Solves RT
571            #2094
572    
573    2003-09-22  Jan-Oliver Wagner <[email protected]>
574    
575            Small improvement of APR import.
576    
577            * Extensions/importAPR/test/test_apr.py (aprTest.test_LClass):
578            Added tests for text-ranges.
579    
580            * Extensions/importAPR/apr.py (APR_LClass.GetThubanRange): Now
581            returns a string object if the range is based on text.
582    
583            * Extensions/importAPR/importAPR.py (import_apr_dialog): Unified
584            range retrieval.
585    
586    2003-09-22  Jan-Oliver Wagner <[email protected]>
587    
588            Initial version of the importAPR extension which is in
589            experimental state.
590    
591            * /Extensions/importAPR/, /Extensions/importAPR/samples/,
592            /Extensions/importAPR/test/: New directories.
593    
594            * /Extensions/importAPR/samples/README: New: Howto load the samples.
595    
596            * /Extensions/importAPR/samples/iceland.apr: New: A sample APR
597            file which refers to the Thuban Iceland demo data.
598    
599            * /Extensions/importAPR/test/README: New: Howto execute the tests.
600    
601            * /Extensions/importAPR/test/test_apr.py: New: Tests for APR classes.
602    
603            * /Extensions/importAPR/apr.py: New: Classes for ArcView Objects
604            as in '.apr'-files.
605    
606            * /Extensions/importAPR/odb.py: New: Classes for generic ArcView
607            ODB Objects as in '.apr', '.avl' and other files.
608    
609            * /Extensions/importAPR/__init__.py: New: Init to make this
610            directory a package.
611    
612            * /Extensions/importAPR/importAPR.py: New: Import a ArcView
613            project file (.apr) and convert it to Thuban.
614    
615    2003-09-22  Jan-Oliver Wagner <[email protected]>
616    
617            * Extensions/gns2shp.gns2shp.py: The main module of gns2shp.
618    
619    2003-09-19  Jan-Oliver Wagner <[email protected]>
620    
621            * Doc/manual/thuban-manual.xml: Extended section 'Installation'
622            with description on RPM installation and RPM binary package
623            creation.
624    
625    2003-09-18  Bernhard Herzog  <[email protected]>
626    
627            * setup.py (data_files): Only add the mo files if the Locales
628            directory actually exists, so that setup.py works with a fresh CVS
629            checkout
630    
631    2003-09-12  Jan-Oliver Wagner <[email protected]>
632    
633            * Examples/simple_extensions/simple_tool.py: bugfix: Tool is now
634            in viewport, not anymore in view
635    
636    2003-09-04  Jan-Oliver Wagner <[email protected]>
637    
638            Introducing first Extension (gns2shp).
639    
640            * Extensions, Extensions/gns2shp, Extensions/gns2shp/test: New.
641    
642            * Extensions/__init__.py: New. init to make this dir a package.
643    
644            * Extensions/gns2shp/__init__.py: New. init to make this dir a package.
645    
646            * Extensions/gns2shp/test/README: New. some info on this test directory.
647    
648            * Extensions/gns2shp/test/ls.txt: New. test data set (Liechtenstein).
649    
650            * Extensions/gns2shp/test/test_gns2shp.py: New. Test for correct creation
651            of Shapefile from GNS text file format
652    
653    2003-09-03  Jan-Oliver Wagner <[email protected]>
654    
655            Fix/workaround for bug #2019:
656            https://intevation.de/rt/webrt?serial_num=2019
657    
658            * Thuban/UI/identifyview.py (IdentifyView.ID_STOP): New.
659            (IdentifyView.__init__): Added another button that allows to
660            stop the identify mode.
661            (IdentifyView.OnStop): New. Stops the identify mode.
662    
663    2003-09-03  Jan-Oliver Wagner <[email protected]>
664    
665            Introducing a new exception dialog that allows to exit the
666            application immediately.
667            This fixes bug #2060: https://intevation.de/rt/webrt?serial_num=2060
668    
669            * Thuban/UI/exceptiondialog.py: New. A special exception dialog.
670    
671            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
672            Made strings available to translations. Exchanged the simple
673            ScrolledMessageDialog by the new ExceptionDialog.
674    
675    2003-09-01  Bernhard Herzog  <[email protected]>
676    
677            * NEWS: New. Summary of changes and release notes.
678    
679            * MANIFEST.in: Add NEWS
680    
681    2003-09-01  Bernhard Herzog  <[email protected]>
682    
683            * MANIFEST.in: Correct the include statement for the mo-files and
684            include the documentation too.
685    
686            * setup.py (data_files): Add the .mo files
687            (setup call): Up to version 0.9.0
688    
689    2003-09-01  Bernhard Herzog  <[email protected]>
690    
691            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Change the
692            parameter list to just parent and session
693            (ChooseDBTableDialog.__set_properties): Removed. Setting the
694            selection of empty list boxes is not allowed (and produces C++
695            assertion errors) and the rest of the setup is better done in
696            __init__ anyway.
697            (ChooseDBTableDialog.OnCancel, ChooseDBTableDialog.OnOK)
698            (ChooseDBTableDialog.OnLBDClick, DBDialog.OnOK): Use the Python
699            builtins True/False for booleans to avoid warnings from wxPython
700    
701            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): Adapt to new
702            ChooseDBTableDialog constructor parameters.
703    
704    2003-09-01  Bernhard Herzog  <[email protected]>
705    
706            * Thuban/Model/postgisdb.py
707            (PostGISTable): Extend doc-string
708            (PostGISTable._fetch_table_information): Set the column index
709            correctly, pretending ignored columns don't exist.
710    
711            * test/test_postgis_db.py (TestPostGISIgnoredColumns): New tests
712            for postgis tables with data types not yet supported by thuban.
713    
714    2003-08-29  Bernhard Herzog  <[email protected]>
715    
716            * HOWTO-Release: Tweak item about running the tests.
717    
718    2003-08-29  Jan-Oliver Wagner <[email protected]>
719    
720            * /Doc/manual/thuban-manual.xml: updated to version 1.0pre2.
721    
722    2003-08-29  Bernhard Herzog  <[email protected]>
723    
724            Add some missing parameters to projections. Proj complains about
725            them on windows but for some reason not on Linux.
726    
727            * test/test_save.py (SaveSessionTest.testLayerProjection): Add
728            missing required projection parameters
729    
730            * test/test_proj.py (TestProjFile.test): Add missing required
731            projection parameters
732    
733            * test/test_load_0_8.py (TestLayerProjection.file_contents)
734            (TestLayerProjection.test): Add missing required projection
735            parameters and tests for them
736    
737            * test/test_load.py (TestLayerProjection.file_contents)
738            (TestLayerProjection.test): Add missing required projection
739            parameters and tests for them
740    
741            * test/test_layer.py (TestLayer.test_base_layer): Add missing
742            required projection parameters
743    
744    2003-08-29  Bernhard Herzog  <[email protected]>
745    
746            * libraries/pyprojection/Projection.i: Use pj_get_errno_ref to
747            access the pj_errno because directly accessing pj_errno doesn't
748            work on windows if the proj library is in a DLL
749    
750            * libraries/pyprojection/Projection_wrap.c: Update from Projection.i
751    
752    2003-08-28  Bernhard Herzog  <[email protected]>
753    
754            * test/test_proj.py: Import things from Thuban after calling
755            initthuban
756    
757            * test/test_load.py (LoadSessionTest.filenames): New class
758            variable with the filename attributes to normalize
759            (LoadSessionTest.check_format): Pass self.filenames to
760            sax_eventlist to normalize the filename attributes
761    
762            * test/xmlsupport.py: Add cvs keywords
763            (SaxEventLister.__init__): New parameter filenames which indicates
764            attributes that contain filenames
765            (SaxEventLister.startElementNS): Normalize the filename attributes
766            with os.path.normpath
767            (sax_eventlist): New parameter filenames to pass through to
768            SaxEventLister
769    
770            * test/test_derivedshapestore.py: Make this file callable as a
771            program to execute the tests
772            (TestDerivedShapeStoreExceptions.test_table_with_wrong_size): Bind
773            the session to self.session so that it gets destroyed properly
774    
775            * test/test_layer.py (TestLayer.tearDown): Call the session's
776            Destroy method
777    
778            * test/test_map.py (TestMapBase.tearDown): Destroy self.session
779            too if it exists
780            (TestMapAddLayer.test_add_layer): Bind the session to self.session
781            so that it gets destroyed properly
782    
783            * test/postgissupport.py (reason_for_not_running_tests): Add a
784            test for the existence of popen2.Popen4.
785    
786            * test/test_save.py (SaveSessionTest.tearDown): New. Provide a
787            reliable way to destroy the sessions created in the test cases
788            (SaveSessionTest.test_dbf_table): Bind the session to self.session
789            so that it gets destroyed properly
790            (SaveSessionTest.testLayerProjection): Bind the session to
791            self.session so that it gets destroyed properly
792    
793            * test/test_session.py (UnreferencedTablesTests.tearDown): Make
794            sure that the session is destroyed properly
795    
796            * test/test_shapefilestore.py: Make this callable as a program to
797            execute the tests
798    
799            * test/test_scalebar.py: Remove unnecessary import of _ from
800            Thuban
801    
802            * test/support.py (print_garbage_information): Call initthuban
803            here because it may be called indirectly from test cases that test
804            test support modules which do not use anything from thuban itself
805            (ThubanTestProgram.runTests): Remove unnecessary debug print
806    
807    2003-08-28  Bernhard Herzog  <[email protected]>
808    
809            * Thuban/version.py (longversion): Update to 0.9
810    
811            * Thuban/UI/mainwindow.py: Remove some unused imports
812    
813            * README: Add section about required additional software. Add date
814            and revision CVS keywords
815    
816            * HOWTO-Release: Add item about the translations. Add date and
817            revision CVs keywords and change formatting to match README a bit
818            better
819    
820            * po/de.po: Update for 0.9
821    
822            * test/README: Tweak the wording a little because many tests are
823            not really unittest.
824    
825    2003-08-27  Bernhard Herzog  <[email protected]>
826    
827            As preparation for the 0.9 release, switch thuban files to a
828            non-dev namespace
829    
830            * Thuban/Model/save.py (SessionSaver.write_session): Write files
831            with the http://thuban.intevation.org/dtds/thuban-0.9.dtd
832            namespace
833    
834            * Thuban/Model/load.py (SessionLoader.__init__): Accept the
835            http://thuban.intevation.org/dtds/thuban-0.9.dtd namespace too
836    
837            * test/test_save.py (SaveSessionTest.dtd)
838            (SaveSessionTest.testEmptySession)
839            (SaveSessionTest.testSingleLayer)
840            (SaveSessionTest.testLayerProjection)
841            (SaveSessionTest.testRasterLayer)
842            (SaveSessionTest.testClassifiedLayer)
843            (SaveSessionTest.test_dbf_table)
844            (SaveSessionTest.test_joined_table)
845            (SaveSessionTest.test_save_postgis): Update for new namespace
846    
847            * test/test_load.py (LoadSessionTest.dtd, TestSingleLayer)
848            (TestLayerVisibility.file_contents, TestLabels.file_contents)
849            (TestLayerProjection.file_contents)
850            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
851            (TestPostGISLayer.file_contents)
852            (TestPostGISLayerPassword.file_contents)
853            (TestLoadError.file_contents, TestLoadError.test): Update for new
854            namespace
855    
856    2003-08-27  Bernhard Herzog  <[email protected]>
857    
858            Make the table interface distinguish between row ids (an integer
859            that uniquely identifies a row) and row ordinals (a simple row
860            count from 0 to NumRows() - 1)
861    
862            * Thuban/Model/postgisdb.py (PostGISTable.RowIdToOrdinal)
863            (PostGISTable.RowOrdinalToId): New methods to conver between row
864            ids and row ordinals
865            (PostGISTable.ReadRowAsDict, PostGISTable.ReadValue): New keyword
866            parameter row_is_ordinal to indicate whether the row parameter is
867            the row id or the ordinal
868    
869            * Thuban/Model/transientdb.py (TransientTableBase.RowIdToOrdinal)
870            (TransientTableBase.RowOrdinalToId)
871            (AutoTransientTable.RowIdToOrdinal)
872            (AutoTransientTable.RowOrdinalToId): Same new methods as in
873            PostGISTable.
874            (TransientTableBase.ReadRowAsDict, TransientTableBase.ReadValue)
875            (AutoTransientTable.ReadRowAsDict, AutoTransientTable.ReadValue):
876            Same new parameter as in PostGISTable.
877    
878            * Thuban/Model/table.py (DBFTable.RowIdToOrdinal)
879            (DBFTable.RowOrdinalToId, MemoryTable.RowIdToOrdinal)
880            (MemoryTable.RowOrdinalToId): Same new methods as in PostGISTable.
881            (DBFTable.ReadValue, DBFTable.ReadRowAsDict)
882            (MemoryTable.ReadValue, MemoryTable.ReadRowAsDict): Same new
883            parameter as in PostGISTable.
884    
885            * Thuban/UI/tableview.py (DataTable.RowIdToOrdinal)
886            (DataTable.RowOrdinalToId): New methods to convert between row ids
887            and row ordinals.
888            (TableGrid.SelectRowById): New method to select a row based on its
889            ID as opposed to its ordinal
890            (DataTable.GetValue, TableGrid.OnRangeSelect)
891            (TableGrid.OnSelectCell, LayerTableGrid.select_shapes)
892            (QueryTableFrame.OnQuery, QueryTableFrame.get_selected)
893            (LayerTableFrame.__init__): Convert between row ids and row
894            ordinals as appropriate
895    
896            * test/postgissupport.py (PostGISDatabase.__init__): Add
897            doc-string.
898            (PostGISDatabase.initdb): The optional third item in a tuple in
899            tables is now a (key, value) list with additional arguments to
900            pass to upload_shapefile
901            (upload_shapefile): New parameter gid_offset to allow gids that
902            are not the same as the shapeids in the shapefile
903            (PostgreSQLServer.get_default_static_data_db): Use the new
904            gid_offset to make the gids in landmarks 1000 higher than the
905            shapeids in the shapefile
906    
907            * test/test_viewport.py
908            (TestViewportWithPostGIS.test_find_shape_at_point): Adapt to the
909            new shapeids in the landmarks table
910    
911            * test/test_transientdb.py
912            (TestTransientTable.run_iceland_political_tests)
913            (TestTransientTable.test_transient_joined_table): Add tests for
914            the new table methods and new keywords arguments.
915    
916            * test/test_postgis_db.py
917            (TestPostGISTable.test_read_row_as_dict_row_count_mode)
918            (TestPostGISTable.test_read_value_row_count_mode)
919            (TestPostGISTable.test_row_id_to_ordinal)
920            (TestPostGISTable.test_row_oridnal_to_id): New test for the new
921            table methods and the new arguments
922            (TestPostGISShapestorePoint.test_shapes_in_region)
923            (TestPostGISShapestorePoint.test_shape_raw_data)
924            (TestPostGISShapestorePoint.test_shape_points)
925            (TestPostGISShapestorePoint.test_shape_shapeid)
926            (TestPostGISShapestorePoint.test_all_shapes)
927            (TestPostGISTable.test_simple_query)
928            (TestPostGISTable.test_simple_query)
929            (TestPostGISTable.test_simple_query)
930            (TestPostGISTable.test_read_value)
931            (TestPostGISTable.test_read_row_as_dict): Adapt to the new
932            shapeids in the landmarks table
933    
934            * test/test_memory_table.py
935            (TestMemoryTable.test_read_row_as_dict_row_count_mode)
936            (TestMemoryTable.test_read_value_row_count_mode)
937            (TestMemoryTable.test_row_id_to_ordinal)
938            (TestMemoryTable.test_row_oridnal_to_id): New test for the new
939            table methods and the new arguments
940    
941            * test/test_dbf_table.py
942            (TestDBFTable.test_read_row_as_dict_row_count_mode)
943            (TestDBFTable.test_read_value_row_count_mode)
944            (TestDBFTable.test_row_id_to_ordinal)
945            (TestDBFTable.test_row_oridnal_to_id): New test for the new table
946            methods and the new arguments
947    
948    2003-08-26  Bernhard Herzog  <[email protected]>
949    
950            * Thuban/Model/postgisdb.py (PostGISShapeStore.BoundingBox): Use a
951            more postgis specific but much faster method to get the bounding
952            box
953    
954    2003-08-26  Bernhard Herzog  <[email protected]>
955    
956            * Thuban/Model/postgisdb.py (PostGISTable.Title)
957            (PostGISShapeStore.AllShapes): Add these missing methods.
958            (PostGISShapeStore.ShapesInRegion): No need to raise
959            StopIteration. We can simply return
960    
961            * test/test_postgis_db.py (TestPostGISTable.test_title)
962            (TestPostGISShapestorePoint.test_all_shapes): New tests for the
963            new methods
964    
965    2003-08-25  Bernhard Herzog  <[email protected]>
966    
967            * Thuban/Model/postgisdb.py (shapetype_map): Add MUTLIPOLYGON.
968    
969            * test/test_postgis_db.py (PolygonTests): New class containing
970            those tests from TestPostGISShapestorePolygon that can also be
971            used to test MUTLIPOLYGON tables
972            (TestPostGISShapestorePolygon): Most tests are now in PolygonTests
973            so derive from that
974            (TestPostGISShapestoreMultiPolygon): New class with tests for
975            MUTLIPOLYGON tables
976    
977            * test/postgissupport.py (PostGISDatabase.initdb): Allow the
978            tables argument to have tuples with three items to override the
979            WKT type used.
980            (PostgreSQLServer.get_default_static_data_db): Use the above to
981            create a polygon table with MUTLIPOLYGONs
982            (point_to_wkt, coords_to_point, polygon_to_wkt, coords_to_polygon)
983            (arc_to_wkt, coords_to_multilinestring): Rename from *_to_wkt to
984            coords_to*
985            (coords_to_multipolygon): New. Convert to MUTLIPOLYGON
986            (wkt_converter): New. Map WKT types to converters
987            (upload_shapefile): New parameter force_wkt_type to use a
988            different WKT type than the default
989    
990    2003-08-25  Bernhard Herzog  <[email protected]>
991    
992            * Thuban/UI/application.py
993            (ThubanApplication.run_db_param_dialog): New. Suitable as a
994            db_connection_callback. Main difference is that the dialog run
995            from this method doesn't have a parent so it can be used even when
996            there is no main window
997            (ThubanApplication.OpenSession): Use self.run_db_param_dialog if
998            no db_connection_callback was given. This way the dialog pops up
999            even when the .thuban file was given as a command line parameter.
1000    
1001    2003-08-25  Bernhard Herzog  <[email protected]>
1002    
1003            * Thuban/UI/view.py (MapCanvas.OnLeftUp): Release the the mouse
1004            before calling MouseLeftUp. MouseLeftUp may pop up modal dialogs
1005            which leads to an effectively frozen X session because the user
1006            can only interact with the dialog but the mouse is still grabbed
1007            by the canvas.
1008            Also, call the tool's Hide method before MouseLeftUp because
1009            MouseLeftUp may change the tool's coordinates.
1010    
1011    2003-08-25  Bernhard Herzog  <[email protected]>
1012    
1013            * Thuban/UI/application.py (ThubanApplication.OpenSession): Catch
1014            LoadCancelled exceptions and handle them by returning immediately.
1015    
1016    2003-08-25  Bernhard Herzog  <[email protected]>
1017    
1018            GUI part of loading sessions with postgis connections which may
1019            require user interaction to get passwords or updated parameters
1020    
1021            * Thuban/UI/dbdialog.py (DBDialog): Reimplement to make it look a
1022            bit nucer and be more generic.
1023            (DBFrame.OnAdd): Adapt to new DBDialog interface
1024    
1025            * Thuban/UI/application.py (ThubanApplication.OpenSession): New
1026            optional parameter db_connection_callback which is passed to
1027            load_session.
1028    
1029            * Thuban/UI/mainwindow.py (MainWindow.run_db_param_dialog): New.
1030            Suitable as a db_connection_callback
1031            (MainWindow.OpenSession): Use self.run_db_param_dialog as the
1032            db_connection_callback of the application's OpenSession method
1033    
1034    
1035    2003-08-25  Bernhard Herzog  <[email protected]>
1036    
1037            Basic loading of sessions containing postgis connections:
1038    
1039            * Thuban/Model/load.py (LoadError): Add doc-string
1040            (LoadCancelled): New exception class to indicate a cancelled load
1041            (SessionLoader.__init__): Add the db_connection_callback parameter
1042            which will be used by the loader to get updated parameters and a
1043            password for a database connection
1044            (SessionLoader.__init__): Add the new XML elements to the
1045            dispatchers dictionary
1046            (SessionLoader.check_attrs): Two new conversions, ascii to convert
1047            to a byte-string object and idref as a generic id reference
1048            (SessionLoader.start_dbconnection)
1049            (SessionLoader.start_dbshapesource): New. Handlers for the new XML
1050            elements
1051            (load_session): Add the db_connection_callback to pass through the
1052            SessionLoader
1053    
1054            * test/test_load.py (TestPostGISLayer, TestPostGISLayerPassword):
1055            New classes to test loading of sessions with postgis database
1056            connections.
1057    
1058    2003-08-25  Bernhard Herzog  <[email protected]>
1059    
1060            * Thuban/UI/mainwindow.py (__ThubanVersion__): Remove this and
1061            replace it and the comment with __BuildDate__ by the Source: and
1062            Id: cvs keywords as used in the other files.
1063    
1064    2003-08-25  Bernhard Herzog  <[email protected]>
1065    
1066            * Thuban/Model/load.py (SessionLoader.check_attrs): Raise a
1067            LoadError when a required attribute is missing. The code used to
1068            be commented out for some reason, but probably should have been
1069            active.
1070    
1071            * test/test_load.py (TestLoadError.test): Test the message in the
1072            LoadError too to make sure it really is about the missing
1073            attribute
1074    
1075    2003-08-22  Bernhard Herzog  <[email protected]>
1076    
1077            * test/test_save.py (SaveSessionTest.test_dbf_table)
1078            (SaveSessionTest.test_joined_table): Add XML validation tests.
1079    
1080    2003-08-22  Bernhard Herzog  <[email protected]>
1081    
1082            Implement saving a session with a postgis connection
1083    
1084            * Resources/XML/thuban-0.9.dtd (dbconnection, dbshapesource) New
1085            elements for database connections and shapestores using db
1086            connections
1087            (session): Add the dbconnections to the content model
1088    
1089            * Thuban/Model/save.py (SessionSaver.write_db_connections): New.
1090            Write the db connections
1091            (SessionSaver.write_session): Call write_db_connections to write
1092            the connection before the data sources
1093            (SessionSaver.write_data_containers): Handle postgis shapestores
1094    
1095            * test/test_save.py (SaveSessionTest.thubanids)
1096            (SaveSessionTest.thubanidrefs): Update for new DTD
1097            (SaveSessionTest.test_save_postgis): New. Test saving a session
1098            with postgis connections
1099    
1100            * Thuban/Model/postgisdb.py (PostGISTable.DBConnection)
1101            (PostGISTable.TableName): New accessor methods for the connection
1102            and table name
1103    
1104            * test/test_postgis_db.py (TestPostGISTable.test_dbconn)
1105            (TestPostGISTable.test_dbname): New methods to test the new
1106            PostGISConnection methods
1107    
1108  2003-08-22  Bernhard Herzog  <[email protected]>  2003-08-22  Bernhard Herzog  <[email protected]>
1109    
1110          * Thuban/Model/postgisdb.py (ConnectionError): New exception class          * Thuban/Model/postgisdb.py (ConnectionError): New exception class
# Line 823  Line 1930 
1930    
1931          * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as          * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as
1932          it annoys lintian which warns about these files not being          it annoys lintian which warns about these files not being
1933          executable. The #1 isn't necessary here since if you absolutely          executable. The #! isn't necessary here since if you absolutely
1934          must execute them you can always say "python <filename>".          must execute them you can always say "python <filename>".
1935    
1936          * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove          * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove

Legend:
Removed from v.1637  
changed lines
  Added in v.1862

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26