Skip to content

Releases: ilius/pyglossary

5.2.1

05 Dec 06:04
231b413

Choose a tag to compare

What's Changed

  • Add command pyglossary-view

  • Glossary: write: avoid removing trailing slash from filename
    Allow converting to a directory with StarDict, #694

  • StarDict writer:

    • Remove existing .dict.dz, .syn.dz, .syn, syn.oft, .idx.oft, #694
    • Bugfix/feature: add a new option dictzip_syn = False, #694
      do not use dictzip option for .syn because the comment only says .dict
  • Fix BGL no-CRC-check support (for odd BGL files) for Python 3.14

  • Add test workflow for Python 3.14

  • Refactor and cleanup scripts and workflows

  • Drop MacOS-13 build (because the Github image is no longer available)

  • ui: avoid normalizing paths from command line

  • ui_gtk4: a few improvements and cleanup

  • ui_tk: fix inconsistency of "Output Format" row on top of "Output File"

  • view_glossary.py: prevent multiple --format flags

Full Changelog: 5.2.0...5.2.1

5.2.0

18 Nov 20:42
ec2f9d3

Choose a tag to compare

What's Changed

  • Fix exception on command line progress bar when tqdm is not installed

  • Fix a few packaging details (PEP 639) (#684)

  • Fix potential error in library compatibility:

    • Entry: add back word= keyword argument as deprecated, also make defi arg optional
  • Add command pyglossary-diff, #686

  • Add/update type annotations, update documentation and sample codes

  • FreeDict: set auto_rtl=True by default, drop support for auto_rtl=None

  • CSV writer: show error for bad encoding value

  • StarDict:

    • Reader" replace sametypesequence=None with sametypesequence="-"
      Now sametypesequence=None is the same as sametypesequence=""
      which means auto-set based on contents

    • Writer: replace sqlite=None option with autosqlite=True

  • Zim reader: fix quoting of href= value

  • Edict2

    • Add test
    • Add option to create links from references to other words (#679)
    • Make summary alternatives optional (#682)
    • Improve pinyin (romanization) (#678)
  • Tkinter UI: Lots of improvements and new options

    • Re-design Read/Write Options Dialog without Treeview
    • Move Read/Write Options into "Options" MenuButton, like ui_gtk3
    • Add Options -> Info / Metedata
    • Add Options -> General Options
    • Fix Format Dialog's Treeview row height and fast scrolling
    • Fix not validating inputFormat and outputFormat given by command line
  • Gtk3 UI: Lots of improvements and new options

    • Re-design Read/Write Options Dialog without Treeview
    • Gerenal Options: Sort: use RadioButton and some fixes
    • Fix dialog for showing dependencies
    • Fix not validating inputFormat and outputFormat given by command line
  • Gtk4 UI: Lots of improvements and new options

    • Re-design Read/Write Options Dialog without Treeview
    • Replace read/write/general options buttons with a single "Options" MenuButton
    • Gerenal Options: Sort: add Locale and fix updateWidgets
    • Fix not validating inputFormat and outputFormat given by command line

New Contributors

Full Changelog: 5.1.1...5.2.0

5.1.1

16 Sep 15:32
2e0bd05

Choose a tag to compare

What's Changed

Bug fixes:

  • 7268524 ui/main.py: exit with status 2 on invalid arguments/options
  • 72efa1c pyproject.toml: fix build-system still accepting Python 3.10, also remove fixit
  • 6785bbc fix scripts/diff-glossary and scripts/view-glossary

Features / Improvements

  • 5f0989a add requirements.txt generated by scripts/gen.sh
  • d676af5 add relatedFormats variable to plugins, use it to link formats in docs
  • d7b4518 DSL: add support for .webp images, #670
  • 0b07293 DSL: support .dsl.files.zip file, #670
  • e560697 DSL: support .ico and .svg images
  • 74d0fa4 add some optional or language-specific dependencies for appledict, jmdict and mdx plugins
  • 02e07e9 update langs.json: add Baoulé, fix script for Dyula, fix #665
  • 8773814 slob: support .ico images
  • f6b84ae StarDict: disable dictzip by default
  • Github workflow for building binaries for windows-x86, macos-x86, macos-arm64; resolves #608 by @glowinthedark in #668

Update documentation

Refactoring, better linting and typing

Full Changelog: 5.1.0...5.1.1

5.1.0

01 Jul 10:31
f1bd374

Choose a tag to compare

What's Changed

Switch to Python 3.11 (drop Python 3.10)

Bug fixes

  • Fix bug in DataEntry causing exception for empty resource files
  • Wiktextract: fix #653 (TypeError) and some refactoring

Features / improvements

  • glossary_v2: auto-sort on glos.write if format has sortOnWrite=ALWAYS, #656
  • Add Yomichan reader (#655) by @Electro98
  • Mobipocket writer: save res files / data entries
  • StarDict reader: support directories inside res dir
  • TextGlossaryReader: support directories inside *_res dir. Applies to these formats:
    • Tabfile (.txt)
    • Lingoes LDF
    • Dictfile (.df)
    • cc_kedict
    • dictunformat

Type annotations, refactoring, documentation

  • ae26e45 migrate to modern logger interface (#659)
  • f5ffed4 mobi writer: only use kindlegen verbose mode on log debug mode
  • a0b431f add ConfigType with TypedDict
  • fec5a4d switch to ruff 0.11.12, fix PLC0207 errors
  • 6653153 typing: fix UIType
  • 804c6b8 typing: fix pyright errors in glossary_v2.py
  • 60a86ab typing fixes / improvements
  • c084fe7 typing: fixes in glossary_types.py
  • 74497ff ui: move some code from base.py to config.py
  • c774a07 ui: remove UIBase.configDefDict
  • c768688 ui_tk: #654: fix formatting, update comment
  • cb1ffd6 ui_tk: typing fixes and cleanup
  • 0b234ec update all in text_utils.py, update pyproject.toml
  • e65aa50 update doc/internals.md
  • b68e7c8 Update ui_tk.py (make app DPI-aware, remove blurry fonts on Windows) by @sklart
  • d93a990 use relative imports in pyglossary/*.py

New Contributors

Full Changelog: 5.0.10...5.1.0

5.0.10

09 May 15:42
195276e

Choose a tag to compare

What's Changed

  • Glossary: fix not ignoring disabled plugins by default and respect skipDisabledPlugins argument to Glossary.init

  • Fix setup.py: list res/* files by extension, ignoring res/hicolor, #645

    • Add .github/workflows/pip-mac.yml to prevent such bugs in future
  • Improvements in FreeDict reader

    • Put grammer text inside <div>, instead of adding <br> afrer it Fixes extra newline in Qt's QTextBrowser
    • Add support for sense.sense.sense, fix some warnings, add dummy support for idioms
  • Improvements in Wiktextract reader

    • rudimentary handler for Chinese phonology section. by @pannxe in #638
    • rudimentary ruby text handler for example sense by @pannxe in #639
    • a more comprehesive list-style pronunciation section for Chinese entries by @pannxe in #640
    • Wiktionary: add handling for non-Unicode character by @pannxe in #641
    • Fix examples section of Chinese entries by @pannxe in #642
    • Use "" instead of "_" for fallback key in zh_utils.py/processSound by @pannxe in #643
  • Fixes and improvements in user interfaces:

    • ui_tk: set className to show in Cinnamon panel instead of "Tk"
    • ui_tk: show log level names in verbosity OptionMenu, also add "6 - All"
    • ui_gtk3: UI improvements, refactoring
    • ui_gtk4: fixes, UI improvements, refactoring
  • Fix type annotations and lint errors

  • Dictfile: remove mistune version locking

  • Remove broken sym link pyglossary/plugins/check-style

  • Update scripts/docker-deb-setup.sh to use Debian packages, by @emfox in #644

New Contributors

Full Changelog: 5.0.9...5.0.10

5.0.9

22 Mar 10:36
ac17fde

Choose a tag to compare

What's Changed

  • Glossary: fix #633 bad DeprecationWarning in read and write
  • Glossary: do not catch LookupError in Glossary.write
  • FreeDict: fix adding inflections as keywords (#632)
  • DSL: fix IndexError in parseEntryBlock, #623
  • TextGlossaryReader: optimize progress bar, and add env NO_READ_MULTI_PART
  • StarDict reader: support type 'r'
  • Mobi: add 2 kindlgen flags (#629) by @BoboTiG
  • Mobi: print error logs if source/target lang is not set, #624
  • Add --gtk3 and --ui=gtk3, make --gtk and --ui=gtk an alias for gtk3 rename ui_gtk.py to ui_gtk3.py
  • ui_tk: About: combine 3 tabs into 1 (like before removing tix)
  • ui_tk: improve layout: hide status bar when switch to About tab
  • Github actions: move all inline bash scripts into script files, switch to ruff 0.11.0
  • scripts/plugin-doc.py: switch to tomllib, requires Python >= 3.11 now
  • scripts/diff-glossary: add a ZWNJ between deleted(red) and added(green) words

New Contributors

Full Changelog: 5.0.8...5.0.9

5.0.8

06 Feb 04:04
7e60447

Choose a tag to compare

What's Changed

  • Fix critical bug when reading multi-part text files

    • text_reader.py: infinite loop when file_count info is -1
  • Tkinter: add config params to customize progress bar appearances

  • Prefer Tkinter over Gtk on Mac

  • Update doc/tkinter.md

  • text_writer.py: change glossary name/title when splitting glossary, add log

  • Optimizations in text reader and text writer:

    • text_reader.py: avoid reading res dir with --skip-resources
    • text_reader.py: avoid calculating file size if progressbar is disabled
    • text_writer.py: avoid creating res dir with --skip-resources

Full Changelog: 5.0.7...5.0.8

5.0.7

24 Jan 22:26
9344a8f

Choose a tag to compare

What's Changed

Plugins

  • Aard2 slob writer: add opus, oga extensions (#618) by @glowinthedark
  • Aard2 slob writer: change "already exists" exception to WriteError to avoid showing stacktrace
  • AppleDict writer: Russian index: switch to pymorphy3, #620
  • Refactoring in many plugins

User interface

  • Respect NO_COLOR environment variable in command line
  • Interactive command line interface: fixes / improvements
    • Fix 2 bugs: bad formatting (missing colon+space) and extra colon+space
    • Add colors to checkbox prompt
    • Avoid skipping empty string as config / rw option value
  • Gtk4 UI: fix "Browse" buttons not working
  • Web UI: get rid of a warning
  • Tkinter UI: improvements:
    • Layout improvements for About, Authors, License tabs
    • Update progress bar text position on window resize
    • Optimize progress bar
  • Add missing type annotations
  • Refactoring in gtk4, tkinter and interactive cmd interface

Full Changelog: 5.0.6...5.0.7

5.0.6

11 Jan 04:42
cfc67bb

Choose a tag to compare

What's Changed since 5.0.4

Skipping 5.0.5 because of a packaging bug

  • Fix bug in ui/main.py interpreting sys.argv[0] as input filename
  • Fix UnicodeEncodeError with non-utf8 stdout in frozen envs by @glowinthedark in #617
  • Epub and Kobo: fix unclosed <br> tags in .xhtml files
  • Make .epub and .zip files reproducable for testing (WIP)
  • Move tools .toml files (used to generate docs) into plugin directories
  • Update docs
  • Fix ruff 0.9.0 errors and re-format
  • Add useByteProgress attribute to all Reader classes
  • Some refactoring in code base and UI

Full Changelog: 5.0.4...5.0.6

5.0.4

04 Jan 01:25
ad1a2e7

Choose a tag to compare

What's Changed

  • Fix regression in glossary_v2.py effecting deprecated Glossary usage
  • Fix docstring for glossary_v2.Glossary.write method
  • Fix broken script scripts/view-glossary-plaintext
  • Feature: include write_options in .info file with --info flag
  • Testing: fix scripts/test.sh not testing deprecated stuff
  • Testing: fix deprecated tests
  • Testing: add SKIP_MISSING env var to skip testing plugins with missing dependencies
  • Fix / update automation scripts
  • Add recent releases' doc
  • Improve and refactor type annotations
  • Break up all plugins into directories (with reader.py and/or writer.py)
  • Fix ruff 0.8.5 errors
  • Some refactoring (as usual)

Full Changelog: 5.0.3...5.0.4