A codec for safe filenames.
Project description
Introduction
The codec safename is meant to rename files to safe filenames. These safe filenames have the following properties:
The safe filenames are valid on most filesystems.
The safe filenames can be restored to the original filenames.
The safe filenames are more or less readable.
Examples:
Input |
Output |
---|---|
spam |
spam |
Spam |
{s}pam |
SPAM |
{spam} |
spam eggs |
spam_eggs |
spam eggs |
spam___eggs |
spàm |
sp(e0)m |
The script safename will rename a list of files, by applying the codec safename to the current filenames.
Installation
Install the distribution from source:
$ python setup.py install
Or install with easy_install:
$ easy_install fnord.safename
Codec
Import the package fnord.safename to register the codec safename:
>>> import fnord.safename
Now you can encode and decode strings:
>>> "Spam".encode("safename") '{s}pam' >>> "{s}pam".decode("safename") 'Spam'
Script
safename [-d|--decode] [-t|--test] [-v|--verbose] [FILE ...] safename [-e|--encode] [-t|--test] [-v|--verbose] [FILE ...]
- --decode, -d
decode from safe filenames for the given files
- --encode, -e
encode to safe filenames for the given files
- --recursive, -r
decode or encode filenames recursively
- --test, -t
don’t rename the files
- --verbose, -v
print out every renaming operation
Remarks
Based on the module safefilename from Torsten Bronger’s Bobcat project. The implementation is my own.
Contributors
Bert Vanderbauwhede <batlock666@gmail.com>, Author
Changelog
0.5 (2013-08-17)
Refactor code to use class re.Scanner [Bert Vanderbauwhede]
0.4 (2013-08-11)
Refactor code to use package fnord.easycodec [Bert Vanderbauwhede]
0.3 (2013-08-10)
Add option --recursive to the script [Bert Vanderbauwhede]
Synchronize documentation for options [Bert Vanderbauwhede]
Change error-messages [Bert Vanderbauwhede]
0.2 (2013-07-28)
Fix handling of exceptions [Bert Vanderbauwhede]
Clean up and expand readme [Bert Vanderbauwhede]
Change license to LGPL [Bert Vanderbauwhede]
Add tests [Bert Vanderbauwhede]
Add buildout [Bert Vanderbauwhede]
0.1 (2013-07-14)
Package created using templer [Bert Vanderbauwhede]
First implementation [Bert Vanderbauwhede]
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.