Skip to main content

command line tool for replacing/removing whitespaces or other patterns of file- and directory names.

Project description

File and Directory Renaming Command Line Tool

GitHub Workflow Status Lines of code

Spasco is a glorified replace function: it lets you remove or replace characters occurring in file or directory names. By default it replaces whitespaces by underscores but you can easily customize the characters you want to remove/replace.

Example

If you have files or directories containing whitespaces in your current working directory you can easily replace them by underscores using spasco:

❯ ls
test dir
test file

❯ spasco
You can rename 2 files and/or directories.

Before           After
──────────────────────────
'test file'  🡆  'test_file'
'test dir'   🡆  'test_dir'
──────────────────────────

❯ OK to proceed with renaming? [y/n] y
All done! 1 files and 1 directories were renamed! ✨💄✨

❯ ls
test_dir
test_file

Contents

Features

Spasco's renaming operation can be modified. For example, the search-value (default: whitespaces) and the new-value (default: underscore) can be changed.

  • search-values other than whitespaces and new-values other than underscores can be selected temporarily or permanently
  • files/dirs within directories can be renamed (recurse into dirs)
  • scope of the renaming action can be limited (patterns with wildcard characters, filename expansion)
  • a log record of the renaming actions can be recorded

Installation

Spasco is currently developed on Python 3.7 and can be easily downloaded, built and installed via pip.

pip install git+https://github.com/NiklasTiede/Spasco

Configuration

Spasco has a configuration file that allows you to change its default behaviour. The file is generated automatically when running spasco.

[VALUE-SETTINGS]
search_value = ' '
new_value = _

[LOG-SETTINGS]
logging_turned_on = False
logger_filename = spasco.log
logger_location = /home/user

Configuration is done through the command line interface. Logging can be turned on and off and you can customize the new search-/new-value permanently.

❯ spasco config --help
usage: spasco config [--show-setting] [-o true/false] [-n [filename]] [-l [pathname]] [-h, --help ]

search-value and new-value can be changed. Logging to record all renaming actions as log file can be activated.

optional arguments:
  --show-settings    Returns your current settings for logging and renaming.
  -h, --help         Show this help message and exit.

log settings:
  -o [true/false]    Logging is turned on/off (default: off).
  -f [filename]      Set a new filename for the logger.
  -l [pathname]      Set a new file location for the logger.

renaming settings:
  -s [search_value]  Set a new 'search-value' permanently.
  -n [new_value]     Set a new 'new-value' permanently.

How to use Spasco

The built-in usage help gives you all the information you need.

❯ spasco --help
usage: spasco [-t [file_or_dir]] [-s [search_value]] [-n [new_value]]
              [-p [pattern_only]] [-e [except_pattern]] [-d] [-f] [-r] [-i]
              [-v] [-h]
              {config} ...

Spasco is a glorified replace function. By default it replaces whitespaces
of all file- and directory names within your current working directory by 
underscores.

src: https://github.com/NiklasTiede/Spasco

optional arguments:
  -t [file_or_dir]     Select a single file or directory for renaming.
  -s [search_value]    Define custom search-value (default: ' ').
  -n [new_value]       Define custom new-value (default: '_').
  -p [pattern_only]    Only files/dirs containing the pattern are renamed.
  -e [except_pattern]  Only files/dirs not containing the pattern are
                       renamed.
  -d, --dirs-only      Only directories are renamed.
  -f, --files-only     Only files are renamed.
  -r, --recursive      Recurse into directories.
  -i, --immediately    Skip security question, renaming preview and execute
                       immediately.
  -v, --version        Show version number and exit.
  -h, --help           Show this help message and exit.

log and renaming configuration:
  config               Sub-command to interact with spasco's logging and
                       rename settings.

Make your files more computer-friendly 😄

Example 1: Removing Characters


For converting all dash symbols just type:

spasco -s '-'

# changing the new value permamnently:
spasco config --help

# removing characters
spasco config -n ''
spasco -s '.py'   #  removes all .py file endings

Example 2: Replacing patterns other than whitespaces

text


Example 3: set search or new-values permanently

Here I show you how to change spasco's configuration.

text


Example 4: Turning logging on

text


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

spasco-1.0.0.tar.gz (13.7 kB view hashes)

Uploaded Source

Built Distribution

spasco-1.0.0-py3-none-any.whl (13.8 kB view hashes)

Uploaded Python 3

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