This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

slc.quickchange

Search and Replace for Plone

This package adds a view @@search-replace, that lets the user perform search & replace operations. Available options:

  • Recursive: If selected, not only the current object, but all children are searched as well
  • For all languages: search not only the current object, but all translations of it as well (LinguaPlone is required)
  • Use regular expression syntax: don’t perform literal string matching, but use python’s regex
  • Ignore case: case insensitive search (only for regex)
  • Dotall: search multiple lines (only for regex)

And there are two actions:

  • Search only: will list all matching documents found, nothing gets modified
  • Replace: do the actual replacement

Examples for regex

Imagine you have to change URLs that point to an old domain. Plus, the site structure has changed, so you need to re-order the elements of the path.

Old link:

http://osha.eu.int/publications/factsheets/de/index.html

For the new link, we need to change the domain, and also put the language-folder as first element:

http://osha.europa.eu/de/publications/factsheets/index.html

For the search term, we use:

osha.eu.int/(.*?)/(..)/(.*)

The contents of the brackets are availabe as variables in the order of their appearance, like 1, 2 etc.

For the replacement term, we use:

osha.europa.eu/\2/\1/\3

That means, as first element after the domain, we take the second bracket (the language folder), then the first, and lastly the third.

Instead of numbers, you can also use named backreferences. This makes sense when a numbered backreference collides with the code of a symbol. Suppose you want to replace the number 12,500 with 13,000 and also allow for the fact that other languages may use “.” as delimiter. The regex for search:

12(\.|,)500

and replace:

13\1000

will not yield the desired result, since “\100” is interpreted as ‘@’. A named backreference prevents this. Example for the search pattern:

12(?P<delim>\.|,)500

and the corresponding replacement pattern:

13\g<delim>000

If in doubt, look at the regex documentation :-)

Requirements and Installation

This package only works and makes sense if you have LinguaPlone installed.

Add “slc.quickchange” to the eggs section of your buildout configuration. After running buildout and restarting your instance, go to the Site Setup -> Add-on Products, choose slc.quickchange and click “install”.

An new entry named “Search and replace” will then appear in the Actions drop-down menu of all objects.

Disclaimer

Beware, you can wreak havoc with this tool if you don’t know what you’re doing. There is no documentation apart from this little text and the source code…

Credits

Copyright European Agency for Health and Safety at Work and Syslab.com GmbH.

slc.quickchange development was funded by the European Agency for Health and Safety at Work.

License

slc.quickchange is licensed under the GNU Lesser Generic Public License, version 2 or later and EUPL version 1.1 only. The complete license texts can be found in docs/LICENSE.GPL and docs/LICENSE.EUPL.

Change history

slc.quickchange Changelog

2.0.1 (2012-02-05)

  • Preserve text_format [thomasw]

2.0 (2012-02-04)

  • Eliminated old cruft, made it work with Plone 4 [thomasw]

1.3 (2011-08-05)

  • Added EUPL license (deroiste)

slc.quickchange 1.2 (2009-06-17)

  • First changes to get tests working (gerken)

slc.quickchange 1.1 (2009-05-12)

  • Packaged egg (pilz)

Contributors

  • Alexander Pilz (Syslab.com GmbH)
  • Wolfgang Thomas (Syslab.com GmbH)
Release History

Release History

2.0.1

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

2.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

2.0dev

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
slc.quickchange-2.0.1.tar.gz (22.0 kB) Copy SHA256 Checksum SHA256 Source Feb 5, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting