pywoo

The pywoo extension for OpenOffice: Import and export yWriter 7 projects with Python.

View project on GitHub

Project home page > Changelog


Changelog

v1.40.3

  • Read .yw7 files created with the iOS yWriter version.

Based on PyWriter v12.19.0

v1.40.2

  • Make sure to keep custom data from other applications when updating .yw7 files.

Based on PyWriter v12.18.0

v1.40.1

Fix a bug where normal scenes are written to the “notes” and “todo” export documents, if appended to the previous scene.

Based on PyWriter v12.17.2

v1.40.0

Write more compact yw7 files without redundant data not needed by yWriter.

Based on PyWriter v12.17.1

v1.39.3

Change the layout of exported documents.

  • Replace the Manuscript’s scene comments with invisible scene headings.
  • Remove the ODT export’s scene comments.
  • Replace the Scene description document’s scene comments with invisible scene headings.
  • Remove several links from the exported document’s headings. This is mainly to speed up the opening of documents in OpenOffice.

  • Fix a bug where the links to the item descriptions in the cross reference are broken.
  • Fix a bug where a missing chapter title cannot be replaced with the manuscript heading.
  • Escape characters in custom field variables when writing as PCDATA to .yw7.

Based on PyWriter v12.16.7

v1.38.0

  • Add scene headings to the “proofing” document.

Based on PyWriter v12.14.0

v1.37.4

  • Fix the “Advanced features” link in the English help file.

Based on PyWriter v12.13.5

v1.37.3

  • Ignore leading blanks when parsing footnote/endnote markup.

Based on PyWriter v12.13.5

v1.37.2

  • Fix a regression from v1.37.1 where an exception is raised when calling yw7 import with no document loaded.
  • German translations: replace “Szene” with “Abschnitt”.

Based on PyWriter v12.13.2

v1.37.1

  • When importing from yw7, set the current project, if any, as file picker default.
  • Change the menu entries: replace “yWriter” by “yw7”.

Based on PyWriter v12.13.2

v1.37.0

  • Move the “Export to yWriter” menu entry from the “yWriter import/export” submenu to the “Files” menu.

Based on PyWriter v12.13.2

v1.36.1

  • Fix a bug where the scene content gets lost when splitting a scene at an appended chapter heading.

Based on PyWriter v12.13.2

v1.36.0

  • When importing an ODT document that is not meant for re-import, convert yWriter comments into footnotes or endnotes (see help text).
  • Read ODT documents without meta.xml as created with FreeMind.

Based on PyWriter v12.13.1

v1.35.3

  • Improvements for reading ODT documents generated by Word.

Based on PyWriter v12.9.0

v1.35.2

  • Fix a bug where direct formatting of whole paragraphs is not considered when converting from ODT to yw7.
  • Exclude the scene marks in the “proofing” document from spell checking.

Based on PyWriter v12.8.5

v1.35.1

  • Fix a regression from v1.35.0 where the “proofing” document export may crash in case no language tags are found.
  • Simplify the “proofread” document’s structure.

Based on PyWriter v12.8.3

v1.35.0

Modify the “Proofing document” class for ODT exchange document export:

  • Exclude “Unused”, “Notes” and “Todo” scenes from the document export.
  • Apply direct formatting instead of the emphasizing character styles.
  • Do not apply the “Quotation” paragraph style.

Based on PyWriter v12.8.1

v1.34.6

  • Fix a bug in the ODT parser where direct bold and italic formatting is not recognized.
  • Provide translations for scene related comments in the exported documents.

Based on Pywriter v12.7.2

v1.34.5

  • Update help.

Based on PyWriter v12.5.1

v1.34.4

  • Improve error handling when exporting the “proof” document.

Based on PyWriter v12.5.1

v1.34.3

  • When creating a new scene on yWriter export, localize the default title.

Based on PyWriter v12.4.2

v1.34.2

  • Show a message when scenes are split during conversion.

Based on PyWriter v12.4.0

v1.34.1

  • Make it run with files on virtual file systems.
  • Remove docstrings and comments from the application code.

Based on PyWriter v12.3.2

v1.34.0

  • When exporting to yw7, save the document only if modified.
  • Speed up the process by converting the ODT/ODS document instead of an intermediate HTML/CSV file.

Based on PyWriter v12.1.1

v1.33.5

  • Make it run with old Windows versions.

Based on PyWriter v8.0.11

v1.33.4

  • Remove “shebang” to make the program run with Python 3.11.

Based on PyWriter v8.0.10

v1.33.3

  • Fix a regression from v1.33.2 where wrong language markers are imported from the “proofread” document.

Based on PyWriter v8.0.10

v1.33.2

  • When converting to ODT format, apply all XML predefined entities.
  • Assign “no language” to the chapter/scene markers for the proof reading document.
  • Code optimization and library upgrade.
  • Fix a bug where attempting to save a write-protected file raises an uncaught exception.

Based on PyWriter v8.0.8

v1.32.5

  • Fix a bug in odt manuscript import, where the “Quotation” style is not applied at scene start.
  • Fix a bug in document export, where the language setting is not recognized if applied to the whole paragraph.

Based on PyWriter v7.14.1

v1.32.4

  • Count words like in LibreOffice. See: https://help.libreoffice.org/latest/en-GB/text/swriter/guide/words_count.html

Based on PyWriter v7.14.0

v1.32.3

  • Update the help text.
  • Undo the change from v1.29.0: Change the German wording (Abschnitt –> Szene).

Based on PyWriter v7.12.2

v1.32.2

  • Store the document language and country codes as project variables, thus making them accessible in yWriter.
  • Add a chapter about document language handling to the help text.

Based on PyWriter v7.12.2

v1.32.1

Introduce a notation for assigning text passages to another language/country. This is mainly for spell checking in Office Writer.

Based on PyWriter v7.11.3

v1.31.5 Improvements

  • When exporting a work in progress to yWriter, process lists and quotation paragraphs.
  • When importing from yWriter, paragraphs that start with “> “ are formatted as “Quotations”.

Based on PyWriter v7.10.3

v1.31.4

  • Change the German wording: Szene –> Abschnitt.
  • Process the document’s language and country (if any).
  • Support “no document language” settings.

Based on PyWriter v7.10.2

v1.30.0

  • New document types for “ToDo” chapters import and export.
  • Improved spreadsheet export.
  • Improved ODT export.
  • Add internationalization according to GNU coding standards.
  • Provide a full German localization.
  • Consider project names containing a reserved suffix.
  • Fix a bug where scene titles are not imported from work in progress as specified.

Based on PyWriter v7.4.8

v1.28.3 Minor update

  • Modify scene split warning marker for descriptions.

Based on PyWriter v5.18.1

v1.28.2 Optional update

Show a warning message if new scenes are created during export to yWriter.

Based on PyWriter v5.18.0

v1.28.1 Bugfix release

  • Import from yWriter: Fix quotations at scene start.
  • Fix and refactor inline code removal.

Based on PyWriter v5.16.1

v1.28.0 Consider quotations

When importing chapters and scenes from yWriter, set style of paragraphs that start with “> “ to “Quotations”.

Based on PyWriter v5.16.0

v1.26.0 Consider inline raw code

When exporting chapters and scenes to odt,

  • ignore scenes beginning with <HTML> or <TEX>,
  • remove inline raw code.

Based on PyWriter v5.14.0

v1.24.2 Improved word counting

  • Fix word counting considering ellipses.

Based on PyWriter v5.12.4

v1.24.1 Improved word counting

  • Fix word counting considering comments, hyphens, and dashes.

Based on PyWriter v5.12.3

v1.24.0 Optional update

When splitting scenes, process title and description of new chapters/scenes, separated by “|”.

Based on PyWriter v5.12.0

v1.22.1 Optional update

When generating chapters from an outline or work in progress, add chapter type as in yWriter version 7.0.7.2+

Based on PyWriter v5.10.2

v1.22.0 Support quotations and lists

  • The Indent paragraphs that start with ‘> ‘ macro now assigns the Quotations paragraph style.
  • When exporting to yWriter, Quotations style paragraphs are automatically marked with “> “ at the beginning.
  • When exporting to yWriter, Lists are automatically marked with “- “ list strokes.

Based on PyWriter v5.4.2

v1.20.1 Bugfix release

Fix a bug in the StarBasic formatting macros where characters are deleted if no list strokes are found.

Based on PyWriter v5.4.0

v1.20.0

  • Add a macro that replaces list strokes with bullets.

Based on PyWriter v5.4.0

v1.18.1

  • Add “bullets” when converting lists to yWriter format.

Based on PyWriter v5.4.0

v1.18.0

  • New document types for “Notes” chapters import and export.
  • Drop support for the “Plot List” document types.
  • Change the way how scenes are split: Scene divider is “###”. Optionally, the scene title may be appended.

Based on PyWriter v5.2.0

v1.16.2 Optional update

  • Clean up ODF templates to make the code and generated documents more compact.

Based on PyWriter v5.0.3

v1.16.1 Optional update

  • Improve code and documentation quality.

Based on PyWriter v5.0.2

v1.16.0

  • Fix a bug where “To do” chapters cause an exception.
  • Rework the user interface.
  • Refactor the code.

Based on PyWriter v5.0.0

v1.14.2 Bugfix release

  • Update bugfixed library

Based on PyWriter v4.0.4

v1.14.1 Minor bugfix

Make sure that a brief synopsis cannot be exported to yWriter.

Based on PyWriter v4.0.3

v1.14.0 New entry in the “Format” menu

  • Add a macro that indents paragraphs that begin with “> “.
  • Move the “Export to yWriter” entry to the top of the submenu.

Based on pyWriter v3.32.2

v1.12.1 Update text formatting

When creating odt files, make paragraphs after blank lines “Text body” without indent.

Based on PyWriter v3.32.2

v1.12.0 Expand the document structure by splitting scenes

  • Split scenes in manuscript and proof reading files using part, chapter and scene separators.

Based on PyWriter v3.32.0

v1.10.1 Bugfix release

  • Fix a bug in the PyWriter library where brief synopses cannot be opened with LibreOffice 7.

Based on PyWriter v3.28.2

v1.10.0 Brief synopsis

  • Add a brief synopsis with chapter and scene titles.

Based on PyWriter v3.28.1

v1.8.2 Optional update

PyWriter Library update:

  • Refactor for more compact code.
  • (v3.28.1) Fix a bug where “Notes” and “To do” scenes might not be processed the right way.

Based on PyWriter v3.28.1

v1.8.1 Optional update

  • Change the csv separator (applies only to temporary files).

Based on PyWriter v3.24.0

v1.8.0 Feature update

  • Add notes to the character descriptions.

Based on PyWriter v3.22.0

v1.6.6 Bugfix release

  • Fix a bug causing an exception when a new item is added to a scene.

Based on PyWriter v3.18.1

v1.6.5 Bugfix release

Fix a regression from v1.6.4 causing a crash if a scene has an hour, but no minute set.

Based on PyWriter v3.16.4

v1.6.4 Optional update

  • Major refactoring of the templase based export.

Based on PyWriter v3.12.5

v1.6.3 Optional update

  • Major refactoring of the yw7 file processing.
  • Refactor the OpenYw macro.

Based on PyWriter v3.8.0

v1.6.2 Optional update

  • Refactor the Python script.
  • Make the YwCnvUi.open_newFile() method os-independent.

Based on PyWriter v3.6.7

v1.6.1 Bugfix update

  • Fix the “proofread” chapter/scene tags paragraph styles.
  • Make the StarBasic macros, the Python script, and the html helpfiles Linux compatible.

Based on PyWriter v3.6.6

v1.6.0 New document formatting, general program improvement

  • Imported Scenes/chapters and manuscript documents now have three-line “* * *” scene dividers instead of single blank lines.
  • Replace scene dividers with blank lines is added to the Format menu.
  • Scene titles as comments at the beginning of the scenes in the manuscript and work in progress documents are written back to yWriter.
  • Chapter titles in the manuscript, scene descriptions, part descriptions, and chapter descriptions documents are written back to yWriter.
  • Generate temporary files in the user’s temp folder.
  • Improve the Python3 connection to the StarBasic macro (abandon the calling batch file).

Based on PyWriter v3.6.4

v1.4.2 Optional update

  • Modify plot list titles.

Based on PyWriter v3.4.2

v1.4.1 Bugfix update

  • Cope better with the chapter/scene type overdetermination since yWriter 7.0.7.2.

Based on PyWriter v3.4.1

v1.4.0 Drop yWriter 6 support

Support only yWriter 7 projects for better maintainability and speed.

Based on PyWriter v3.4.0

v1.2.1 Optional update

  • Refactor for faster execution.

Based on Pywriter v3.2.1

v1.2.0 New user interface

  • The main window is replaced by a simple message box.

Based on PyWriter v3.2.0

v1.0.0 Official release

  • Update the underlying class library with changed API for better maintainability.
  • Revise the GUI.

Based on PyWriter v3.0.0

v0.36.7 Bugfix release

Rebuild pywoo.pyw with fixed ant build file. Due to a missing encoding information, the script contained some ANSI characters. This may lead to exceptions.

Based on PyWriter v2.16.1

v0.36.6 Bugfix release

Fix a bug in the SaveYw StarBASIC module throwing an exception when trying to export to yWriter with no Writer document open.

Based on PyWriter v2.14.3

v0.36.5 Prepare os-independent import from yWriter

  • Edit the generated document using os.startfile(). Thus determining the Office program location is no longer necessary.
  • Add a shebang to the Python script.
  • Save the Python script using Linux compatible linefeeds.

Based on PyWriter v2.14.3

v0.36.4 Prepare os-independent export to yWriter

Save to yWriter by calling the Python script directly. Based on PyWriter v2.14.3

v0.36.3 Bugfix release

Fix a regression causing wrong file type detection. Based on PyWriter 2.14.3

v0.36.2 Optional update

  • Generate compressed ODF documents.
  • Change the HTML launch mechanism of the show_help macro.
  • Add a project website link to the help files.

Based on PyWriter v2.14.2

v0.36.1 Improve the processing of comma-separated lists

  • Fix incorrectly defined tags during yWriter import.
  • Protect the processing of comma-separated lists against wrongly set blanks.
  • Update HTML help and documentation.

v0.36.0 Export cross references

Generate an OpenDocument text file containing navigable cross references:

  • Scenes per character,
  • scenes per location,
  • scenes per item,
  • scenes per tag,
  • characters per tag,
  • locations per tag,
  • items per tag.

v0.34.0 Fix a bug and add advanced features to the “Files” menu

  • Fix a macro bug causing a crash if no file is selected in the file picker dialog.

The “advanced features” are meant to be used by experienced OpenOffice users only. If you aren’t familiar with Calc and the concept of sections in Writer, please do not use the advanced features. There is a risk of damaging the project when writing back if you don’t respect the section boundaries in the odt text documents, or if you mess up the IDs in the ods tables.

Export files with invisible markers (to be written back after editing):

  • Manuscript with invisible chapter and scene sections.
  • Very brief synopsis (Part descriptions): Titles and descriptions of chapters “beginning a new section”.
  • Brief synopsis (Chapter descriptions): Chapter titles and chapter descriptions.
  • Full synopsis (Scene descriptions): Chapter titles and scene descriptions.
  • Character sheet: Character descriptions, bio and goals.
  • Location sheet: Location descriptions.
  • Item sheet: Item descriptions.
  • Scene list: Spreadsheet with all scene metadata.
  • Plot list: Spreadsheet with scene metadata following conventions described in the help text.

Based on PyWriter v2.12.3

v0.32.4 Support ods spreadsheets

Change scene/plot list import (advanced features) from csv to ods file format.

Based on PyWriter v2.12.3

v0.32.0 Import to ods spreadsheets

Change character/location/item list import from csv to ods file format.

Based on PyWriter v2.11.0

v0.31.0 Import/export csv lists

Import/export character/location/item lists to/from Calc spreadsheets. Rows may be added, deleted and re-ordered.

Based on PyWriter v2.10.0

v0.30.0 Underline and strikethrough no longer supported

That is because a real support would require considering nesting and multi paragraph formatting. That would make everything too complicated, considering that such formatting is not common in a fictional prose text.

Based on PyWriter v2.9.0

v0.29.0

Delete the temporary file unconditionally after execution. Process all yWriter formatting tags.

  • Convert underline and strikethrough.
  • Discard alignment.
  • Discard highlighting.

Based on PyWriter v2.8.0

v0.28.4

Minor improvements in the messages.

v0.28.1

  • Refactor and update docstrings.
  • Work around a yWriter 7.1.1.2 bug.

Based on PyWriter v2.7.2

v0.28.0

  • Update UI application context.
  • Set a blank line as scene divider template.

Based on PyWriter v2.7.0

v0.27.3

Work around a bug found in yWriter 7.1.1.2 assigning invalid viewpoint characters to scenes created by splitting.

v0.27.2

  • Refactor the code for better maintainability.

Based on PyWriter v2.6.1

v0.26.1

  • Add strict project structure check.
  • Improve screen output.
  • Do not indent a chapter’s first scene even if marked “append to previous”.
  • Can now write complete yw5 Files.
  • Convert work in progress that contains empty chapter titles.
  • Fix location descriptions export.
  • Refactor the code for better maintainability.

Based on PyWriter v2.5.1

v0.24.0

Adapt to modified yw7 file format (yWriter 7.0.7.2+):

  • “Info” chapters are replaced by “Notes” chapters (always unused).
  • New “Todo” chapter type (always unused).
  • Distinguish between “Notes scene”, “Todo scene” and “Unused scene”.
  • Chapter/scene tag colors in “proofread” export correspond to those of the yWriter chapter list.

Bugfix:

  • Suppress chapter title if required.

Based on PyWriter v2.2.0

v0.23.5

ODT export: Begin appended scenes with first-line-indent style. Based on PyWriter v2.1.4

v0.23.4

Adapt to yWriter 7.0.4.9 Beta: Don’t replace dashes any longer by “safe” double hyphens when writing yw7 (PyWriter library v2.1.3).

v0.23.3

Rewrite large parts of the code (PyWriter library v2.1.0). Support author’s comments: Text \* commented out \* in yWriter scenes is exported as comment and vice versa.

v0.22.3

Fix a bug making the output filename lowercase.