View Single Post
Old 12-06-2020, 03:27 PM   #1
un_pogaz
Chalut o/
un_pogaz ought to be getting tired of karma fortunes by now.un_pogaz ought to be getting tired of karma fortunes by now.un_pogaz ought to be getting tired of karma fortunes by now.un_pogaz ought to be getting tired of karma fortunes by now.un_pogaz ought to be getting tired of karma fortunes by now.un_pogaz ought to be getting tired of karma fortunes by now.un_pogaz ought to be getting tired of karma fortunes by now.un_pogaz ought to be getting tired of karma fortunes by now.un_pogaz ought to be getting tired of karma fortunes by now.un_pogaz ought to be getting tired of karma fortunes by now.un_pogaz ought to be getting tired of karma fortunes by now.
 
un_pogaz's Avatar
 
Posts: 443
Karma: 672378
Join Date: Dec 2017
Device: Kobo
[GUI Plugin] Mass Search/Replace

Mass Search/Replace is a small plugin to facilitate the execution of one or more of your favorite Search and Replace operations to your books metadata.

Each entry in the context menu will launch a list of Search/Replace operations that you have previously set up. Setting up an operation uses the Calibre Search and Replace module.

The plugin has the following features:
  • Editable context menu
  • Editables operations list
  • Error Strategy
  • Quick Search/Replace on various range: Selection, Current Search, Virtual library, Library.
  • Shared Search/Replace operation: set in once, used where you want, edit them and all reference has edited (compatible with Calibre saved Search/Replace system)

Available operation type:
  • Character match
  • Regular expression
  • Replace field

To use a "Shared Search/Replace operation", create and save a operation in the Calibre combo box, or select one that already exist.
Important, don't edit any field after having select the "Shared operation" or the link will be broken. To edit a "Shared operation", it will have to be re-registered with the same name in the Calibre saved Search/Replace system.
Once the "Shared operation" corrrectly save, the name of this one will appear in operations list.

Special Notes:
  • Uses the Calibre Search/Replace module.
  • You can destroy your library using this plugin. Changes are permanent. There is no undo function. You are strongly encouraged to back up your library before proceeding.

Credits:
  • The icon dialog and the dynamic menus for chains are based on code from the Open With plugin by kiwidude.
  • The Calibre Actions is based on code from the Favourites Menu plugin by kiwidude.
  • The module editor is based on calibre editor function editor by Kovid Goyal.
  • The Search and Replace Action is based on calibre's search and replace. (chaley and Kovid Goyal)
  • Thanks to capink and its plugin Action Chains without which this one wouldn't exist.

Installation
Open Preferences -> Plugins -> Get new plugins and install the "Mass Search/Replace" plugin.
You may also download the attached zip file and install the plugin manually, then restart calibre as described in the Introduction to plugins thread

The plugin works for Calibre 5 and later.

Page: GitHub | MobileRead

Note for those who wish to provide a translation:
I am French! Although for obvious reasons, the default language of the plugin is English, keep in mind that already a translation.

Version History:
Spoiler:
version 1.8.2 - 2024/02/19
Bug fixes
  • Fix some untranslated string

version 1.8.1 - 2024/01/27
Bug fixes
  • Fix wrong text display when customizing keyboard shortcut

version 1.8.0 - 2023/11/17
Changed
  • Drop Python 2 / Calibre 4 compatibility, only Calibre 5 and above

version 1.7.5 - 2023/10/07
Bug fixes
  • Fix NotImplementedError: set() cannot be used in this context. ProxyMetadata is read only

version 1.7.4 - 2023/09/31
Bug fixes
  • Don't update the config file when Calibre start

version 1.7.3 - 2023/05/31
Bug fixes
  • Fix columns list not the same as Calibre

version 1.7.2 - 2023/04/12
Bug fixes
  • Fix active statue of Shared Search/Replace operation not conserved (always active)

version 1.7.1 - 2023/02/03
Bug fixes
  • Fix broken compatibility with 6.12 (use a icon instead of a red border to warn about a regex error)

version 1.7.0 - 2022/10/19
Changed
  • Again, big rework of common_utils (use submodule)

version 1.6.1 - 2022/10/17
Bug fixes
  • Fix a error when a user categorie exist in the library

version 1.6.0 - 2022/10/11
Changed
  • Big rework of common_utils.py

version 1.5.1 - 2022/09/08
Bug fixes
  • Fix a bug where the books are marked, even if an error has occurred in restore books
  • Icon not display when a theme colors is used

version 1.5.0 - 2022/08/17
Changed
  • Rework of the Quick Search/Replace for add alternatives range target (Selection / Current Search / Virtual library / Library)

version 1.4.5 - 2022/08/06
Changed
  • Improvement of the 'Replace Field' mode

version 1.4.4 - 2022/07/20
Changed
  • Small incompatibility Calibre6/Qt6

version 1.4.3 - 2022/07/11
Changed
  • More compatibility Calibre6/Qt6

version 1.4.2 - 2022/03/11
Changed
  • Small improvement for identifier operation

version 1.4.1 - 2022/02/25
Bug fixes
  • Calibre Search/Replace operation are not saved if it contains an error

version 1.4.0 - 2022/02/25
Added
  • Shared Search/Replace operation: set in once, used where you want, edit them and all reference has edited
    Uses and compatible with Calibre saved Search/Replace system

version 1.3.3 - 2022/02/24
Bug fixes
  • Fix the fix of Calibre saved Search/Replace operation

version 1.3.2 - 2022/02/23
Bug fixes
  • The Calibre saved Search/Replace operation could not be loaded

version 1.3.1 - 2022/02/22
Changed
  • Various technical improvement

version 1.3.0 - 2022/01/04
Changed
  • Compatible Calibre6/Qt6

version 1.2.2 - 2021/07/01
Bug fixes
  • Fix wrong error message when an error occurs during the update of the library

version 1.2.1 - 2021/06/08
Bug fixes
  • Fix ghost identifier with empty value

version 1.2.0 - 2021/05/28
Added
  • Add a 'Replace Field' mode that replace any values with the specified string
Bug fixes
  • Fix freeze when your config the settings of operations when many books are selected
  • Fix the displaying of a error in dialog

version 1.1.0 - 2021/05/25
Bug fixes
  • Improved handling of errors with invalid identifiers

version 1.0.2 - 2021/05/16
Bug fixes
  • Fix invalide identifier with colon

version 1.0.1 - 2021/02/12
Bug fixes
  • Fix error in search mode "Character match"

version 1.0.0 - 2021/01/18
Full release
Bug fixes
  • Fix regression with case sensitivity

version 0.9.3 - 2020/12/08
Added
  • Add Spanish translation. Thanks dunhill

version 0.9.2 - 2020/12/08
Bug fixes
  • Fix case for the test result field
  • Fix detection of None and inchanged value

version 0.9.1 - 2020/12/07
Bug fixes
  • Fix library switch

version 0.9.0 - 2020/12/06
First release
  • Beta public test
Attached Thumbnails
Click image for larger version

Name:	config-menu.png
Views:	1796
Size:	51.3 KB
ID:	183821   Click image for larger version

Name:	config-operation.png
Views:	1673
Size:	29.6 KB
ID:	183822   Click image for larger version

Name:	search-replace.png
Views:	1293
Size:	58.8 KB
ID:	187555   Click image for larger version

Name:	context2.png
Views:	774
Size:	64.4 KB
ID:	195990  
Attached Files
File Type: zip Mass Search-Replace-1.8.2.zip (440.4 KB, 26907 views)

Last edited by un_pogaz; 02-19-2024 at 10:28 AM.
un_pogaz is offline   Reply With Quote