/[thuban]/branches/greater-ms3/thuban/ChangeLog
ViewVC logotype

Diff of /branches/greater-ms3/thuban/ChangeLog

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

revision 958 by bh, Wed May 21 17:12:30 2003 UTC revision 1079 by bh, Wed May 28 09:07:53 2003 UTC
# Line 1  Line 1 
1    2003-05-28  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/table.py (DBFTable.__init__): Omit the extension
4            when determining the title from the filename.
5    
6            * test/test_dbf_table.py (TestDBFTable.test_title): Update to
7            reflect changes in the way the title is derived from the filename
8    
9    2003-05-28  Frank Koormann  <[email protected]>
10    
11            * Thuban/UI/mainwindow.py (MainWindow.TableShow):
12            Added wxDEFAULT_DIALOG_STYLE to show table dialog styles.
13    
14    2003-05-27  Bernhard Herzog  <[email protected]>
15    
16            * Thuban/UI/mainwindow.py (MainWindow.delegated_messages): Also
17            delegate SelectedLayer.
18            (MainWindow.LayerUnjoinTable): Implement.
19            (_can_unjoin): New. Helper function for the sensitivity of the
20            layer/unjoin command.
21    
22            * Thuban/Model/data.py (ShapefileStore.OrigShapeStore)
23            (DerivedShapeStore.OrigShapeStore): New. Return the original
24            shapestore. Used to figure out how to unjoin.
25            (DerivedShapeStore.Shapefile): Fix a typo.
26    
27    2003-05-27  Bernhard Herzog  <[email protected]>
28    
29            * Thuban/UI/join.py (JoinDialog): Extend to handle layer joins as
30            well
31            (JoinDialog.__init__): Use the layer parameter and only build the
32            left choice when a layer is given
33            (JoinDialog.OnJoin): Handle layer joins as well
34            (JoinDialog.OnLeftTable, JoinDialog.OnRightTable): Handle the case
35            that the user selects the "Select..." item. The sensitivitly
36            updating is now in update_sensitivity
37            (JoinDialog.y): New method to refactor the sensitivity update of
38            the join button into its own method.
39    
40            * Thuban/UI/mainwindow.py (MainWindow.LayerJoinTable): Implement.
41    
42    2003-05-27  Bernhard Herzog  <[email protected]>
43    
44            * Thuban/UI/mainwindow.py (table_close command): Make it sensitive
45            iff there are unreferenced tables in the session
46    
47    2003-05-27  Bernhard Herzog  <[email protected]>
48    
49            * Thuban/Model/messages.py (TABLE_REMOVED): New message.
50    
51            * Thuban/Model/session.py (Session.UnreferencedTables): New method
52            to return tables that are not referenced by other tables or shape
53            stores and can be removed.
54            (Session.RemoveTable): Issue a TABLE_REMOVED message after
55            removing the table
56    
57            * Thuban/UI/mainwindow.py: Remove unused imports
58            (MainWindow.TableClose): Implement.
59    
60            * Thuban/UI/tableview.py (TableFrame.__init__): Subscribe to some
61            messages so that the frame will be automatically closed when a new
62            session is opened or the table is removed.
63            (TableFrame.OnClose): Unsubscribe the Subscriptions made in
64            __init__
65            (TableFrame.close_on_session_replaced)
66            (TableFrame.close_on_table_removed): New. Subscribers that close
67            the window
68    
69            * test/test_session.py (TestSessionMessages.test_remove_table)
70            (TestSessionSimple.test_remove_table): Move the test to
71            TestSessionSimple and add test for the TABLE_REMOVED message
72            (TestSessionBase.setUp): Also subscribe to TABLE_REMOVED
73            (TestSessionSimple.test_unreferenced_tables) New. Test for the
74            UnreferencedTables method.
75            (UnreferencedTablesTests): New. Class with some more sophisticated
76            tests for UnreferencedTables.
77    
78    2003-05-27  Frank Koormann  <[email protected]>
79    
80            * Thuban/UI/tableview.py (QueryTableFrame.__init__): The "_S_election"
81            display has some unwanted side effects. Removed again.
82    
83    2003-05-27  Frank Koormann  <[email protected]>
84    
85            * Resources/Bitmaps/legend_icon_layer.xpm: New, icon for legend.
86    
87            * Thuban/UI/legend.py (LegendTree.__FillTree): Use "legend_icon_layer"
88    
89    2003-05-27  Jan-Oliver Wagner <[email protected]>
90    
91            * test/test_menu.py (MenuTest.test): Added test for
92            Menu.RemoveItem().
93    
94            * Thuban/UI/menu.py (Menu.RemoveItem): New. Remove an item from
95            the menu.
96    
97    2003-05-27  Frank Koormann  <[email protected]>
98            
99            Nonmodal dialogs without parent (i.e. they can fall behind the main
100            window)
101    
102            * Thuban/UI/mainwindow.py (MainWindow.OnClose): Explicitly destroy
103            all dialogs in the dialogs dictionary and the canvas.
104    
105            * Thuban/UI/dialogs.py (NonModalNonParentDialog): New class, without
106            parent, i.e. can fall behind other windows.
107            (NonModalDialog.OnClose): Check is dialog is in mainwindow.dialog
108            dictionary before removing it.
109    
110            * Thuban/UI/classifier.py: Dialog derived from NonModalNonParentDialog
111    
112            * Thuban/UI/projdialog.py: Dialog derived from NonModalNonParentDialog
113            * Thuban/UI/tableview.py: Dialog derived from NonModalNonParentDialog
114            * Thuban/UI/tree.py: Dialog derived from NonModalNonParentDialog
115    
116    2003-05-27  Bernhard Herzog  <[email protected]>
117    
118            * Thuban/UI/mainwindow.py (MainWindow.ShowTableView): New. Open a
119            tableview dialog
120            (MainWindow.TableShow): Use ShowTableView to open the dialogs.
121            Also, don't use the table's titles as the dialog names. The titles
122            aren't guaranteed to be unique.
123            (MainWindow.TableOpen): Open a table view dialog after opening the
124            table
125    
126    2003-05-27  Bernhard Herzog  <[email protected]>
127    
128            * Thuban/UI/mainwindow.py: Remove the Table/Hide menu item. Its
129            effect can be achieved by simply closing the window showing the
130            table.
131            (MainWindow.TableHide): Removed.
132            (main_menu): Removed "table_hide"
133    
134    2003-05-27  Frank Koormann  <[email protected]>
135    
136            Fix legend tree display problems under Win32
137    
138            * Thuban/UI/legend.py:  BMP_SIZE_W = 15
139            (LegendTree.__FillTree): Display "legend_icon_map.xpm" with layer title.
140            (LegendTree.__FillTreeLayer): Explicitely set SelectedImage.
141    
142            * Resources/Bitmaps/legend_icon_map.xpm: New icon for legend.
143    
144    2003-05-27  Jan-Oliver Wagner <[email protected]>
145    
146            * Thuban/UI/menu.py (Menu.InsertSeparator): Additional optional parameter
147            'after' now allows to insert separators almost anywhere in the menu.
148    
149    2003-05-27  Frank Koormann  <[email protected]>
150    
151            * Thuban/UI/tableview.py (QueryTableFrame.__init__): Underline the
152            "S" of selection box label to hint on hot key (Alt-S). Works under
153            Win32 but is ignored under GTK.
154    
155    2003-05-26  Frank Koormann  <[email protected]>
156    
157            * Thuban/UI/projdialog.py (ProjFrame.__do_layout, ProjPanel._DoLayout):
158            Center Choices.
159    
160    2003-05-26  Bernhard Herzog  <[email protected]>
161    
162            Remove the Precision methods again. They're too DBF specific to be
163            part of the table interface and they're only used in table_to_dbf
164            anyway.
165            
166            * Thuban/Model/transientdb.py (TransientTableBase.Width):Use a
167            fixed precision of 12 for doubles.
168            (TransientTableBase.Precision): Removed
169            (AutoTransientTable.Width): Delegate to self.table.
170    
171            * Thuban/Model/table.py (DBFTable.Precision)
172            (MemoryTable.Precision): Removed.
173            (MemoryTable.Width): Use a fixed precision of 12 for doubles.
174            (table_to_dbf): Use a fixed precision of 12 for floats unless the
175            column object specifies something else.
176    
177            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): New.
178            test for table_to_dbf
179    
180    2003-05-26  Bernhard Herzog  <[email protected]>
181    
182            * test/test_transientdb.py
183            (TestTransientTable.run_iceland_political_tests): Fix a comment.
184    
185    2003-05-26  Bernhard Herzog  <[email protected]>
186    
187            * Thuban/UI/mainwindow.py (MainWindow.TableOpen): Real
188            implementation. Mark parts of the file format strings for
189            localization.
190    
191            * Thuban/Model/session.py (Session.OpenTableFile): New. Open a dbf
192            file and add the table to the tables managed by the session
193    
194            * test/test_session.py (TestSessionSimple.test_open_table_file):
195            New. test case for OpenTableFile
196    
197    2003-05-26  Jan-Oliver Wagner <[email protected]>
198    
199            * Thuban/UI/controls.py, Thuban/UI/identifyview.py, Thuban/UI/join.py,
200            Thuban/UI/labeldialog.py, Thuban/UI/mainwindow.py,
201            Thuban/UI/proj4dialog.py, Thuban/UI/tableview.py, Thuban/UI/view.py:
202            Replace the true/false of wxWindows by True/False of Python 2.2.1.
203    
204    2003-05-26  Jan-Oliver Wagner <[email protected]>
205    
206            * Thuban/UI/tableview.py (LayerTableFrame.__init__): If there is
207            already a selection present, update the grid accordingly.
208    
209            * Thuban/UI/mainwindow.py (MainWindow.TableShow): Make the dialog
210            resizeable and increase its initial size.
211    
212    2003-05-26  Frank Koormann  <[email protected]>
213    
214            Table export functionality
215    
216            * Thuban/Model/table.py (DBFTable.Width, MemoryTable.Width):
217            Return width (in characters) for a column.
218            (DBFTable.Precision, MemoryTable.Precision): Return decimal precision.
219            (table_to_dbf): Write table to dbf file.
220            (table_to_csv): Write table to csv file.
221    
222            * Thuban/Model/transientdb.py (TransientTableBase.Width,
223            TransientTableBase.Precision): Return column width and precision.
224    
225            * Thuban/UI/tableview.py (QueryTableFrame.OnSaveAs): Call table_to_dbf
226            or table_to_csv depending on file selection.
227    
228            * test/test_dbf_table.py:
229            Test table_to_dbf (extension of former part of test).
230    
231            * test/test_csv_table.py:
232            Test table_to_csv.
233    
234    2003-05-23  Jan-Oliver Wagner <[email protected]>
235    
236            * Thuban/UI/join.py (JoinDialog.OnJoin): Use _() for strings.
237            Use QueryTableFrame instead of TableFrame.
238    
239            * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Prefix the
240            table window with 'Layer Table:' instead of 'Table:'.
241    
242    2003-05-23  Jan-Oliver Wagner <[email protected]>
243    
244            Give all tables a title via mix-in TitledObject.LayerShowTable
245    
246            * Thuban/Model/base.py (TitledObject.SetTitle): Call method 'issue'
247            only if it exists.
248    
249            * Thuban/Model/table.py (DBFTable, MemoryTable): mix-in TitledObject
250            and call its init-method with a default title. Remove Title() method.
251    
252            * Thuban/Model/transientdb.py (TransientTable, TransientJoinedTable,
253            AutoTransientTable): mix-in TitledObject and call its init-method with
254            a default title. Remove Title() method.
255    
256    2003-05-23  Bernhard Herzog  <[email protected]>
257    
258            * Thuban/Model/session.py (Session.AddShapeStore): Define
259            AddShapeStore analogously to AddTable.
260    
261            * test/test_session.py (TestSessionSimple.test_add_shapestore):
262            New. Test for AddShapeStore
263    
264    2003-05-23  Jan-Oliver Wagner <[email protected]>
265    
266            Introducing QueryTableFrame and a very coarse ShowTable implementation.
267    
268            * Thuban/UI/tableview.py (LayerTableFrame, QueryTableFrame): Split the
269            class LayerTableFrame into two classes, LayerTableFrame and QueryTableFrame.
270            The latter implements the selection GUI without dependency on a layer.
271            LayerTableFrame now is derived from QueryTableFrame and connects
272            to a layer.
273    
274            * Thuban/UI/mainwindow.py (MainWindow.TableShow): A very coarse
275            implementation that still needs work.
276    
277            * Thuban/Model/layer.py (Layer.TreeInfo): Added filename.
278    
279    2003-05-22  Frank Koormann  <[email protected]>
280    
281            * Thuban/Model/transientdb.py (TransientJoinedTable.__init__):
282            Added "outer_join = False" as optional parameter.
283            (TransientJoinedTable.create): If outer join is true, perform a
284            "LEFT OUTER JOIN" instead of "JOIN", which preserves all records of
285            the left table. Records not matching are filled with 0 / None.
286    
287            * Thuban/UI/join.py (JoinDialog.__init__): Checkbox for outer join.
288            (JoinDialog.OnJoin): Consider outer join check box.
289    
290    2003-05-22  Bernhard Herzog  <[email protected]>
291    
292            * Thuban/UI/join.py (JoinDialog.OnJoin): Use exc_info in a
293            somewhat safer way. Storing the traceback in a local variable can
294            lead to memory leaks
295    
296    2003-05-22  Bernhard Herzog  <[email protected]>
297    
298            * Thuban/UI/join.py (JoinDialog.OnJoin): Make sure to really call
299            the wxMessageDialog's Destroy() method.
300    
301    2003-05-22  Frank Koormann  <[email protected]>
302    
303            * Thuban/UI/join.py (JoinDialog.__init__): Make use of
304            TransientTable.Title()
305    
306    2003-05-22  Frank Koormann  <[email protected]>
307    
308            Join Dialog, initial version.
309    
310            * Thuban/UI/mainwindow.py (MainWindow.TableJoin): Removed print.
311    
312            * Thuban/UI/join.py (JoinDialog): Functional implementation of
313            former framework. Renamed Table1/Table2 to LeftTable/RightTable
314            in all occurences.
315    
316            * Thuban/Model/transientdb.py (TransientJoinedTable.__doc__):
317            Typo fixed.
318    
319    2003-05-22  Bernhard Herzog  <[email protected]>
320    
321            Give the tables titles so that the GUI can display more meaningful
322            names. For now the titles are fixed but depend on e.g. filenames
323            or the titles of the joined tables.
324    
325            * Thuban/Model/transientdb.py (TransientTable.Title)
326            (TransientJoinedTable.Title, AutoTransientTable.Title): New.
327    
328            * Thuban/Model/table.py (DBFTable.Title, MemoryTable.Title): New.
329    
330            * test/test_transientdb.py
331            (TestTransientTable.test_auto_transient_table_title): New. Test
332            for the Title method
333            (TestTransientTable.test_transient_joined_table)
334            (TestTransientTable.test_transient_table): Add test for the Title
335            methods
336    
337            * test/test_memory_table.py (TestMemoryTable.test_title): New.
338            Test for the Title method
339    
340            * test/test_dbf_table.py (TestDBFTable.test_title): New. Test for
341            the Title method
342    
343    2003-05-22  Bernhard Herzog  <[email protected]>
344    
345            * test/test_layer.py (TestLayer.setUp, TestLayer.tearDown):
346            Provide a better way to destroy the layers
347            (TestLayer.test_base_layer, TestLayer.test_arc_layer)
348            (TestLayer.test_point_layer, TestLayer.test_empty_layer)
349            (TestLayer.test_polygon_layer, TestLayer.test_get_field_type): Use
350            the new way to destroy the layers.
351            (TestLayer.test_derived_store): New. Test for using a layer with a
352            DerivedShapeStore
353    
354            * Thuban/Model/layer.py (Layer.SetShapeStore): Only set the
355            filename if the shape store actually has one.
356    
357    2003-05-22  Bernhard Herzog  <[email protected]>
358    
359            * Thuban/Model/table.py (DBFTable.FileName): New. Accessor method
360            for the filename
361    
362            * test/test_dbf_table.py (TestDBFTable.test_filename): New. Test
363            for the FileName method
364            (TestDBFTableWriting.test_write): Fix spelling of filename
365    
366    2003-05-22  Thomas Koester  <[email protected]>
367    
368            * Thuban/Model/range.py, test/test_range.py: Brought over new Range
369            from SciParam that now really is immutable.
370    
371    2003-05-22  Frank Koormann  <[email protected]>
372    
373            Layer Top/Bottom placement added to legend.
374    
375            * Thuban/UI/legend.py
376            (LegendPanel._OnMoveTop(), LayerPanel._OnMoveBottom): New, methods
377            bound to tool events.
378            (LegendTree.MoveCurrentItemTop(), LegendTree.MoveCurrentItemBottom):
379            New, methods binding the event methods with the map methods.
380    
381            * Thuban/Model/map.py (Map.TopLayer(), Map.BottomLayer()): New, place
382            layer at top/bottom of layer stack.
383    
384            * Resources/Bitmaps/top_layer.xpm: New button icon.
385    
386            * Resources/Bitmaps/bottom_layer.xpm: New button icon.
387    
388    2003-05-22  Bernhard Herzog  <[email protected]>
389    
390            * Thuban/Model/session.py (Session.RemoveTable): New method to
391            remove tables
392    
393            * test/test_session.py (TestSessionSimple.test_remove_table): New.
394            Test for RemoveTable
395    
396    2003-05-22  Thomas Koester  <[email protected]>
397    
398            * Thuban/Model/classgen.py: Added short module doc string and CVS id.
399            (ClassGenerator.GenUniformDistribution): Use new Range __init__, too.
400    
401    2003-05-22  Bernhard Herzog  <[email protected]>
402    
403            Implement a way to discover dependencies between tables and
404            shapestores.
405    
406            * Thuban/Model/transientdb.py (TransientTableBase.Dependencies)
407            (TransientJoinedTable.Dependencies)
408            (AutoTransientTable.SimpleQuery): New. Implement the dependencies
409            interface
410            (TransientJoinedTable.__init__): Keep tack of the original table
411            objects in addition to the corresponding transient tables.
412    
413            * Thuban/Model/table.py (DBFTable.Dependencies)
414            (MemoryTable.Dependencies): New. Implement the dependencies
415            interface
416    
417            * Thuban/Model/data.py (ShapeTable): New. Helper class for
418            ShapefileStore
419            (ShapefileStore.__init__): Use ShapeTable instead of
420            AutoTransientTable
421            (ShapefileStore.Table, ShapefileStore.Shapefile): Add doc-strings
422            (ShapefileStore.FileName, ShapefileStore.FileType): New. Accessor
423            methods for filename and type
424            (ShapefileStore.Dependencies): New. Implement the dependencies
425            interface
426            (DerivedShapeStore): New class to replace SimpleStore. The main
427            difference to SimpleStore is that it depends not on a shapefile
428            but another shapestore which expresses the dependencies a bit
429            better
430            (SimpleStore.__init__): Add deprecation warning.
431    
432            * test/test_dbf_table.py (TestDBFTable.test_dependencies): New.
433            Test for the Dependencies method.
434    
435            * test/test_memory_table.py (TestMemoryTable.test_dependencies):
436            New. Test for the Dependencies method.
437    
438            * test/test_transientdb.py
439            (TestTransientTable.test_auto_transient_table_dependencies): New.
440            Test for the Dependencies method.
441            (TestTransientTable.test_transient_joined_table): Add test for the
442            Dependencies method.
443    
444            * test/test_session.py (TestSessionSimple.setUp)
445            (TestSessionSimple.tearDown): New. Implement a better way to
446            destroy the sessions.
447            (TestSessionSimple.test_initial_state)
448            (TestSessionSimple.test_add_table): Bind session to self.session
449            so that it's destroyed by tearDown
450            (TestSessionSimple.test_open_shapefile): New. Test for
451            OpenShapefile and the object it returns
452    
453    2003-05-22  Bernhard Herzog  <[email protected]>
454    
455            * Thuban/Model/session.py (Session.AddTable): New method to
456            register tables with the session.
457            (Session.Tables): Return the tables registered with AddTable too.
458    
459            * test/test_session.py (TestSessionSimple.test_add_table): New.
460            Test case for the AddTable method
461    
462    2003-05-22  Frank Koormann  <[email protected]>
463    
464            UI polishing updates: Place main buttons (OK, Cancel, etc) in the
465            lower right corner, center labels for selections, initialize controls
466            in reasonable order for keyboard navigation.
467    
468            * Thuban/UI/projdialog.py (ProjFrame.__init__, ProjFrame.__doLayout)
469            (ProjFrame.__DoOnProjAvail): Determine position of current projection
470            using the wxListBox.FindString() method. Still a problem (#1886)
471    
472            * Thuban/UI/classifier.py
473            (Classifier.__init__, SelectPropertiesDialog.__init__)
474    
475            * Thuban/UI/classgen.py (ClassGenDialog.__init__,
476            (ClassGenDialog.__DoOnGenTypeSelect): Moved initialization of the
477            different classification types from here to __init__.
478            (GenUniquePanel.__init__): Set the column width of the first field
479            in the Field ListCtrl to the full width.
480    
481            * Thuban/UI/tableview.py (LayerTableFrame.__init__): Rename 'Save As'
482            Button to 'Export'. Center Buttons in Selection Box, set Focus to
483            Grid.
484            (LayerTableFrame.OnKeyDown()): New, bound to the grid with EVT_KEY_DOWN,
485            changes focus to the Selection when pressing "Alt-S".
486    
487            * Thuban/UI/legend.py (LegendTree.__SetVisibilityStyle): Only gray out
488            the text if not visible. The italic font sometimes exceeds the
489            rendering area.
490    
491    2003-05-21  Jonathan Coles   <[email protected]>
492    
493            * Thuban/UI/dock.py (DockFrame): Rename references to _OnClose
494            to OnClose so that Thuban closes correctly.
495    
496            * Thuban/UI/mainwindow.py (MainWindow.OnClose): Call
497            DockFrame.OnClose, not DockFrame._OnClose.
498    
499    2003-05-21  Jonathan Coles   <[email protected]>
500    
501            * Thuban/Model/classgen.py (ClassGenerator.GenQuantiles): Remove
502            references to 'inf' and use new Range __init__ to pass floats
503            directly rather than converting them to strings first.
504            Fixes RTBug #1876.
505    
506            * Thuban/Model/classification.py (ClassGroupRange.SetRange):
507            Use new Range ___init__ to pass floats.
508    
509            * Thuban/Model/layer.py (RasterLayer.__init__): Test if the
510            filename is a valid image file. Throw IOError otherwise.
511    
512            * Thuban/Model/range.py: Brought over new Range from SciParam that
513            is immutable and has an __init__ which can accept floats.
514    
515            * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Move OpenShapefile
516            into try block. AddLayer doesn't throw any exceptions anymore.
517            (MainWindow.AddRasterLayer): Move constructor of RasterLayer into
518            try block.
519    
520            * Thuban/UI/projdialog.py (GeoPanel.__init__): Put Degrees as
521            the first item in choices. Fixes RTBug #1882.
522    
523            * Thuban/UI/renderer.py (MapRenderer.render_map): Check if scale
524            has gone to 0 which is a serious problem. abort.
525            (MapRenderer.draw_raster_layer): Catch IOError seperately and
526            print the error from GDAL.
527    
528            * Thuban/UI/tableview.py (TableGrid.__init__): Call
529            ToggleEventListeners to turn on listening.
530            (TableGrid.ToggleEventListeners): New. Turns event listening on
531            and off so as to prevent excessive messages.
532            (LayerTableFrame.OnQuery): Use TableGrid.ToggleEventListeners
533            to suppress excessive messages when selecting many rows.
534            Fixes RTBug #1880.
535    
536            * Thuban/UI/view.py: Added checks against if scale == 0. This
537            is a serious problem that can occur when an image without
538            geo data is loading and causes the map projection bounds to
539            go to infinity. Right now, the solution is to simply try
540            to recover.
541    
542            * extensions/thuban/cpl_mfile.cpp (MFILEClose): Make sure
543            to set the MFILEReceiver attributes even if the data is NULL.
544    
545            * extensions/thuban/gdalwarp.cpp: Improved the error handling
546            and passed GDAL messages back up to the Python layer. Also
547            tried to fix some memory leaks that were present in the original
548            utility but didn't matter because the program aborted.
549    
550            * test/test_range.py: Copied over tests from SciParam. Removed
551            tests against importing. Fixes RTBug #1867.
552    
553  2003-05-21  Bernhard Herzog  <[email protected]>  2003-05-21  Bernhard Herzog  <[email protected]>
554    
555          * test/test_load.py: Remove unused imports and restructure the          * test/test_load.py: Remove unused imports and restructure the

Legend:
Removed from v.958  
changed lines
  Added in v.1079

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26