{"id":39154071,"url":"https://github.com/un-pogaz/mass-search-replace","last_synced_at":"2026-01-31T15:00:34.862Z","repository":{"id":43654406,"uuid":"315914107","full_name":"un-pogaz/Mass-Search-Replace","owner":"un-pogaz","description":"Calibre plugin for easily apply a list of multiple saved Find and Replace operations to your books metadata","archived":false,"fork":false,"pushed_at":"2025-12-26T11:52:52.000Z","size":656,"stargazers_count":14,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-26T22:06:54.029Z","etag":null,"topics":["calibre","calibre-plugin","metadata","plugin"],"latest_commit_sha":null,"homepage":"https://www.mobileread.com/forums/showthread.php?t=335417","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/un-pogaz.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-11-25T11:10:01.000Z","updated_at":"2025-12-26T11:52:20.000Z","dependencies_parsed_at":"2026-01-31T15:00:27.095Z","dependency_job_id":null,"html_url":"https://github.com/un-pogaz/Mass-Search-Replace","commit_stats":null,"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/un-pogaz/Mass-Search-Replace","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un-pogaz%2FMass-Search-Replace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un-pogaz%2FMass-Search-Replace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un-pogaz%2FMass-Search-Replace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un-pogaz%2FMass-Search-Replace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/un-pogaz","download_url":"https://codeload.github.com/un-pogaz/Mass-Search-Replace/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un-pogaz%2FMass-Search-Replace/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28946047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T14:26:55.697Z","status":"ssl_error","status_checked_at":"2026-01-31T14:26:52.545Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["calibre","calibre-plugin","metadata","plugin"],"created_at":"2026-01-17T21:44:51.673Z","updated_at":"2026-01-31T15:00:34.847Z","avatar_url":"https://github.com/un-pogaz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mass Search/Replace\n[![MobileRead][mobileread-image]][mobileread-url]\n[![History][changelog-image]][changelog-url]\n[![License][license-image]][license-url]\n[![calibre Version][calibre-image]][calibre-url]\n[![Status][status-image]][status-image]\n\n\n*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.\n\nEach 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.\n\nThe plugin has the following features:\n\n* Editable context menu\n* Editables operations list\n* Error Strategy\n* Quick Search/Replace  on various range: Selection, Current Search, Virtual library, Library.\n* 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)\n\nAvailable operation type:\n\n* Character match\n* Regular expression\n* Replace field\n\nTo use a \"Shared Search/Replace operation\", create and save a operation in the Calibre combo box, or select one that already exist.\nImportant, 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.\nOnce the \"Shared operation\" corrrectly save, the name of this one will appear in operations list.\n\n\n**Special Notes:**\n\n* Uses the Calibre Search/Replace module.\n* \u003cspan style=\"color:red\"\u003e**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.\u003c/span\u003e\n\n\n**Credits:**\n\n* The icon dialog and the dynamic menus for chains are based on code from the Open With plugin by kiwidude.\n* The Calibre Actions is based on code from the Favourites Menu plugin by kiwidude.\n* The module editor is based on calibre editor function editor by Kovid Goyal.\n* The Search and Replace Action is based on calibre's search and replace. (chaley and Kovid Goyal)\n* Thanks to capink and its plugin [Action Chains](https://www.mobileread.com/forums/showthread.php?t=334974) without which this one wouldn't exist. \n\n\n**Installation**\n\nOpen *Preferences -\u003e Plugins -\u003e Get new plugins* and install the \"Mass Search/Replace\" plugin.\nYou may also download the attached zip file and install the plugin manually, then restart calibre as described in the [Introduction to plugins thread](https://www.mobileread.com/forums/showthread.php?t=118680\")\n\nThe plugin works for Calibre 5 and later.\n\nPage: [GitHub](https://github.com/un-pogaz/Mass-Search-Replace) | [MobileRead](https://www.mobileread.com/forums/showthread.php?t=335417)\n\n\u003cins\u003eNote for those who wish to provide a translation:\u003c/ins\u003e\u003cbr\u003e\nI am *French*! Although for obvious reasons, the default language of the plugin is English, keep in mind that already a translation.\n\n\n\u003cbr\u003e\u003cbr\u003e\n\n![configuration dialog of contextual menu](https://raw.githubusercontent.com/un-pogaz/Mass-Search-Replace/main/static/Mass_Search-Replace-config-menu.png)\n![button contextual menu](https://raw.githubusercontent.com/un-pogaz/Mass-Search-Replace/main/static/Mass_Search-Replace-context.png)\n![configuration dialog of a operations-list](https://raw.githubusercontent.com/un-pogaz/Mass-Search-Replace/main/static/Mass_Search-Replace-operations-list.png)\n![configuration dialog for a Search/Replace operation](https://raw.githubusercontent.com/un-pogaz/Mass-Search-Replace/main/static/Mass_Search-Replace-config-operation.png)\n\n\n[mobileread-url]: https://www.mobileread.com/forums/showthread.php?t=335417\n\n[changelog-image]: https://img.shields.io/badge/History-CHANGELOG-blue.svg\n[changelog-url]: changelog.md\n\n[license-image]: https://img.shields.io/badge/License-GPL-yellow.svg\n[license-url]: LICENSE\n\n[calibre-image]: https://img.shields.io/badge/calibre-5.00.0_and_above-green?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAllJREFUOMt1kz1MU1EUx3/3fZSP0lJLgVqRNqCDHxApAWcXF9O4oomDcXU06iIuLgxuTi4mrm7GRI2LiYOJ4ldAiBqxqSA2lEc/oNC+d991eI8HRnuGm3tzzv2d/znnXpEb5CHQDoCi8LigruHbrXOTs6Wl6qnkcPTd7SdvTvMfM/I1LgnhHYSgePHm9APheMAbV8e+mZoaR7BCCzMyEehNJXCky0bR2tJcdx7Nc+at0POjiQYokWkJABgcTlGv72AVLXRdQ9d0XKUob4uyF6aGWgE0gO36Jq7dBEBKl6Zt4zgO5bpe8uO6P768HGupACVRrvzHWdwMWbAFwHx96uy9u+UTc68WcmcuTCqljNzMFL80gCNDMfr6O0Eh9gOWq2YZsAFWGyNXYv3h6cLnyph0mllhMBGU8HVxleKKBQIFcKiv1y8HF1gG6NGXqqF2E8cGx3bQYSwA/Mxb1CrbQWYlwDT86iAPMGDMSYDIAcHGagUF4wEgnQ4Tj5t7AFehacLvssgDpPSFMGDH+kKUlssA2aCJ9a0GXV1GADBNA0e6u7g8gC4aaWBxMjc62tbeBpC6/oikBlCtNNmsNQKAbUtPvLf+8DcZJXgfTyYIxyLeCDWyGoAmFNWaDEYgpYNhmP49TwEQ6aT25a85Kx/QHVYkoq6fE1ylgnfhCrkLYDD0YW3/fQFZ7XsVXizAs3ko1Ij0J3pIpw5yOJkk3NHRefJ1egVoABw3nu4Ack8AWWM4yk7wnWHtd2k9Wiytt/kpLGbuuPcnRl27KRsDI/Fj6jxvhcBU8EkoZv8AURDxq1Vav0YAAAAASUVORK5CYII=\n[calibre-url]: https://www.calibre-ebook.com/\n\n[status-image]: https://img.shields.io/badge/Status-Stable-green\n\n[mobileread-image]: https://img.shields.io/badge/MobileRead-Plugin%20Thread-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAACJUlEQVQ4EZ3SX0hTYRjH8e+79DQcm5pGba0pQizrJhiMvJDwj3dR2SIoqK68CYouy24sb/TKbsuyC4kwG3gVBpUlqP1hBaUxiMp5aLZyzdn847E6+YQHDkNv+ty88PI8Px6e91XvJ5Nm9MU44t10GjuXplFV5qZIK6SyrARRHdgWAPbvqfT1A6jo8Buz73WcfAf3VnGqMczC4jKJbz9YWDJWzwxiIvkdMf41TQHrKE5P8XxgBP3lI0RraysiFKxAlA4NIRYNz/oBK3qcG7d7EEOrxbFYjFAohOjt7UX4/X5mYk9xlBe7yJf5mZMmcrkcg4ODuN1uLNlslubmZurq6tAcJv+W2DbwjHwNHgNjfo5IJILX68Uioe3t7RjGCq7tAQrYQG19E9UVXoRMMzY2Rk1NDcFgkM7OTq4/GEE42IBrs4adrut0dHSQTCYRiXSWrW4X6oOe0i9Hn/jJU79rpxQgJmcyzBu/sJMnbDtyAAVw/Npdk/9w78IJpVgjHyo385lEIo5Ir3hY/q3wObPYoblR5UEqyko43RhWCpupqwHzz2IO8Uqr5dKdCS6ePUkkME02FsXia+lHq2pQ9iVifHpsNQsOnzlPOBymu+8hpce6FTZLH4exFLBGOUuxM768pauri1QqRaBozpy9dQiLw1mCRWGTud9i2kfVfLvZ5CxmeXoCmc66850bVesGiIVYjzk7ehMjGceucMsO3PuO4mm6orD5CzQt1i+ddfLfAAAAAElFTkSuQmCC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fun-pogaz%2Fmass-search-replace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fun-pogaz%2Fmass-search-replace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fun-pogaz%2Fmass-search-replace/lists"}