Skip to content

Releases: ilius/pyglossary

5.0.7

24 Jan 22:26
9344a8f
Compare
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
Compare
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
Compare
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

5.0.3

28 Dec 07:06
8c5c1a6
Compare
Choose a tag to compare

What's Changed

  • Fix in PyGlossary icon / logo, visible in light background
  • Web UI: update favicon.ico
  • Mobipocket: refactor, run kindlegen with relative file path, #613
  • Add back pkg/pyglossary.desktop for flathub build, #614
  • Rename plugin ABCMedicalNotes to MakindoMedical (#267)
  • Make plugins' documentation tidier
  • Update project.urls in pyproject.toml according to packaging.python.org
  • Add or update __all__ in imported modules
  • Fewer uses of sys.exit
  • Refactor pyglossary/ui/main.py and add mainNoExit function (c19ba56)

Full Changelog: 5.0.2...5.0.3

5.0.2

24 Dec 10:17
f21ee10
Compare
Choose a tag to compare

What's Changed

  • New PyGlossary icon logo
  • Zimfile: fix possible NameError
  • Web UI: add glossary preview buttons by @glowinthedark in #610
  • Remove plugin: IUPAC goldbook (.xml)
  • Replace all usages of OrderedDict with dict which is ordered since python 3.6
  • FreeDict: improve test coverage
  • Refactor Yomichan and Web UI, and cleanup in BGL
  • Remove pyglossary.pyw, pkg directory and res/resize-16.png

Full Changelog: 5.0.1...5.0.2

5.0.1

19 Dec 06:08
26203fa
Compare
Choose a tag to compare

What's Changed

  • Glossary info: map "creationTime" metadata to/from "date" metadata (used by StarDict)
  • Gettext .po: fix broken syntax due to missing quotations, unescape |, and fix duplicate msgids
  • Wiktextract: improvements and better testing
    • Disable categories by default with an option to enable it
  • FreeDict: refactoring
  • Web UI: add setup.py metadata by @glowinthedark in #609
  • Allow disabling in-memory SQLite with an environment variable
  • Better testing, fix/add type annotations and (as usual) some refactoring

Full Changelog: 5.0.0...5.0.1

5.0.0

14 Dec 08:49
bea1df8
Compare
Choose a tag to compare

Breaking changes for library users

  • 38f8f91 glossary_v2.Glossary class raises Error exception if operation failed, instead of log.critical and return None

    • Applies to these methods: convert, read, write
    • glossary.Glossary (and pyglossary.Glossary) still behaves the same way (return None if failed)
  • a5204bb Breaking changes in Glossary.detectInputFormat and Glossary.detectOutputFormat methods:

    • format argument is renamed to formatName
    • quiet argument is removed (must handle Error exception instead)
  • 9cc2887 Glossary.wordTitleStr: rename _class argument to class_

  • Remove toBytes and replaceStringTable functions from text_utils.py and plugins/formats_common.py
    Breaking change for plugins outside this repo

Deprecated API for library users

  • glossary.Glossary is deprecated, use glossary_v2.Glossary
  • format variable in plugins is deprecated, rename it to name
  • info argument to Glossary() is deprecated. Use glos.setInfo(key, value)
  • Glossary: format arguments to read, directRead and write methods are deprecated, rename them to formatName

What's changed since last version?

We have a web-based user interface by @glowinthedark, a new plugin StardictMergeSyns, new options in various plugins/formats, lots of improvements, refactoring and cleanup.

Full Changelog: 4.7.1...5.0.0

New Contributors

PyPI package is released

4.7.1

16 Sep 17:28
Compare
Choose a tag to compare

Changes since 4.7.0

Breaking changes:

4c78aa4 replace CC-CEDICT plugin with EDICT2 plugin

Bug fixes and improvements:

f5a420c Bugfix: Glossary: removeHtmlTagsAll was ineffective with --sort same for preventDuplicateWords
01b5606 Yomichan: merge entries with same headword, #574
5fe93f4 Yomichan: add beautifulsoup4 to dependencies, #577
2a23966 use python3 in scripts/view-glossary and scripts/diff-glossary to bypass pyenv
c878cbd zimfile: replace OSError on Windows with a warning, #580
1573d5c Wiktextract: rewrite writeSenseExample and fix #572 - Fix TypeError: got invalid input value of type <class 'list'> - Create a list of examples - Add the example type as prefix in bold
7f64af5 Wiktextract: keep warnings in a Counter, remove duplicate messages and show at end

New Features

aa6765b add new plugin xdxf_css (XdxfCss) based on PR #570 by @soshial
0e9d221 add read_options to .info file
fea2223 StarDict Textual writer: save resource files in res/ folder, #558
3800fac add Dyula language, #575
08c41da add glos.readOptions property

Refactoring, linting and testing

6786880 fix ruff preview error in appledict_bin/init.py
fd09e16 github actions: switch to ruff 0.5.2
019740e fix ruff error
69bcbf9 fix ruff preview error: B909 Mutation to loop iterable during iteration
5596b7f switch to ruff 0.6.4
03a509b fix ruff preview errors, use str.removesuffix
6ca9902 fix some mypy errors
eac286b github test: use lxml==5.2 to fix jmdict test
f2eb39d move info writer out of plugins
578c854 fix tests: test_save_info_json
0f4d885 update pyproject.toml
1e20a1a format pyglossary/glossary_v2.py
e231b64 update scripts/format-code
4aa4f09 github action test: remove test cache
acdbede github test: upload failed test files
1f095ad fix test action
9df1ed6 update jmdict test and switch to lxml==5.3

Full Changelog: 4.7.0...4.7.1

4.7.0

16 Jun 17:32
b41161d
Compare
Choose a tag to compare

Changes since 4.6.1

New Contributors

Full Changelog: 4.6.1...4.7.0

4.6.1

10 Mar 12:48
5f6ebd6
Compare
Choose a tag to compare

Changes since 4.6.0

Bug fixes

  • Fix a bug causing broken installation if ~/.local/lib is a symbolic link

    • or site-packages or any of its parents are a symbolic link
  • Fix incompatibilty with Python 3.9 (despite documentation)

  • Fix scripts/entry-filters-doc.py, scripts/plugin-doc.py and doc/entry-filters.md

  • AppleDict: Fix typos in Chinese language module

Features:

  • Use environment variable VERBOSITY as default (a number from 0 to 5)

Improvements

  • AppleDict Binary: set html_full=True by default

  • Update wcwidth to 0.2.6

Refactoring

  • Add glos.stripFullHtml(errorHandler) and use it in 3 plugins

    • Add entry filter StripFullHtml and change entry.stripFullHtml() to return error
  • Refactor entryFiltersRules

  • Remove empty plugin gettext_mo.py

  • Remove glos.titleElement from glossary_v2.Glossary

    • Add to glossary.Glossary for compatibility
    • glossary.Glossary is a wrapper (child class) on top on glossary_v2.Glossary

Documentation

  • Update doc/entry-filters.md to list some entry filters that were enabled conditionally (besides config)

  • Remove sdict.md and sdict_source.md (removed plugins)

Type checking

  • Add missing method in GlossaryType class
  • Fix mypy errors on most of code base and some of plugins
  • Use builtin types list, dict, tuple, set for type annotations
  • Replace Optional[X] with X or None
    • will not effect runtime, but type checking now only works with Python 3.10+