Closed stefan6419846 closed 7 months ago
Yes, I agree. I'll try to maintain some changelog. Especially for this week changes contains new feature, here a brief summary:
version 3.7.5
tables: some users need to easily access the background color of cells, including cells without "value" content. This requires complex parsing of styles. So a new method: Document.get_cell_background_color(sheet_id, cell_coords) See the corresponding recipe "recipes/get_cell_background_color.py" for an exemple of usage.
tables: (related to previous). It is often useful to reduce the table size before working on it, especially if styles apply to whole rows. A method called Table.rstrip() already permitted to remove empty bottom rows and empty right columns. However, a Cell mays have no value but a style (color background for example), and rstrip() was removing such cells. So an new clever method is provided: Table.optimize_width() that shrink the table size, still keeping styled empty cells. To test the actual result of this method, you can use the provided script "odfdo-table-shrink" which is basically a wrapper upon this method. (Note: all this stuff aims to facilitate some feature for the related github project "odsparsator")
tables: (related to previous), change the Cell.is_empty() test. A cell is now considered as not empty if part of a "span" (a cell spanned on several rows or columns). This may induce some changes for parsing scripts. Before that, only the first cell of the span (which actually contains the value) was considered as non empty. Now other cells of the span are not empty (but contain a null value).
added ancillary methods related to above features.
added repr() method for Cell, Row and Column.
Document(my_path) now understand a str path starting with "~" for path relative to user home.
minor refactor of code, version updates of dependencies
At the moment, it is not really clear what has been in each release. While I could have a look at the corresponding commits as well, this just complicates it as these changes seem to include rendered doc updates as well.
Therefore I would appreciate if a suitable changelog would be maintained to quickly see what changed in each version and what might break existing code for example.