Skip to main content

A tool to rename directories/files that contain unsafe characters

Project description

detox

  • detox[^1] is a Python tool that can be used to rename directories/files with unsafe characters or spaces.

Requirements

Installation

pip install -U detoxpy

Usage

usage: detox [-h] [-r] [-R REPLACE_WITH] [-t] [-l] [-n] [-p] path [path ...]

positional arguments:
  path                  Path to a single or multiple files/directories to detox

optional arguments:
  -h, --help            show this help message and exit
  -r, --recursive       Rename files recursively
  -R REPLACE_WITH, --replace-with REPLACE_WITH
                        Replace spaces and unsafe characters with this character (default: '_')
  -t, --keep-trailing   Keep the trailing character if exists (e.g., 'foo_')
  -l, --keep-leading    Keep the leading character if exists (e.g., '_foo')
  -n, --dry-run         Do a trial run with no permanent changes
  -p, --plain-print     Print the change as plain text

Examples

Example 1: Detox a single file/directory:

detox '(foo)^bar.txt'
# '(foo)^bar.txt' --> 'foo_bar.txt'

detox 'foo&bar/'
# 'foo&bar' --> 'foo_bar'

Example 2: Detox a directory recursively:

# foo bar
# └── foo1&foo2
#     ├── foo bar (copy 1).jpg
#     └── foo bar (copy 2).jpg

detox -r 'foo bar'

# foo_bar
# └── foo1_foo2
#     ├── foo_bar_copy_1.jpg
#     └── foo_bar_copy_2.jpg

Example 3: Duplicate names after detoxing

  • detox will avoid overwriting if the detoxed name already exists. For example:
tree 'foo foo'
# foo foo
#   ├── foo^bar.jpg
#   └── foo%bar.jpg

detox -r -i 'foo foo'

# foo_foo
#   ├── foo_bar.jpg
#   └── foo_bar-1.jpg

[^1]: The name is inspired by the tool detox

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

detoxpy-0.1.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

detoxpy-0.1.0-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file detoxpy-0.1.0.tar.gz.

File metadata

  • Download URL: detoxpy-0.1.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.10 Darwin/21.5.0

File hashes

Hashes for detoxpy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b8eb0933378f0e170c28b59d7372392fe87802292e80938250b2eee758768c13
MD5 c043cae1f7e4b5867301a776daa8774e
BLAKE2b-256 2dbc3a9f97c36bcc785815b6a718f8e099ce98dc55dfb345708f2581b861685f

See more details on using hashes here.

File details

Details for the file detoxpy-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: detoxpy-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.10 Darwin/21.5.0

File hashes

Hashes for detoxpy-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 58dbc34c42516b32f5f6802ddcdb78a4e0ac7075ec13b2455a50f7a7d9df4930
MD5 893e92648bbd10b3157242437efa4efd
BLAKE2b-256 fd3ad9e71daf5db090b230d8afb3257efafcdd57549f996c830679006140be38

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page