Python mass editor
Project description
massedit-cli
Python mass editor.
The missing entry point for massedit.
Installation
pipx
This is the recommended installation method.
$ pipx install massedit-cli
pip
$ pip install massedit-cli
Usage
Check out massedit to learn more.
usage: massedit [-h] [-V] [-w] [-v] [-e EXPRESSIONS] [-f FUNCTIONS] [-x EXECUTABLES] [-s START_DIRS] [-m MAX_DEPTH] [-o FILE] [-g FILE] [--encoding ENCODING]
[--newline NEWLINE]
[file pattern ...]
Python mass editor
positional arguments:
file pattern shell-like file name patterns to process or - to read from stdin.
options:
-h, --help show this help message and exit
-V, --version show program's version number and exit
-w, --write modify target file(s) in place. Shows diff otherwise.
-v, --verbose increases log verbosity (can be specified multiple times)
-e EXPRESSIONS, --expression EXPRESSIONS
Python expressions applied to target files. Use the line variable to reference the current line.
-f FUNCTIONS, --function FUNCTIONS
Python function to apply to target file. Takes file content as input and yield lines. Specify function as [module]:?<function name>.
-x EXECUTABLES, --executable EXECUTABLES
Python executable to apply to target file.
-s START_DIRS, --start START_DIRS
Directory(ies) from which to look for targets.
-m MAX_DEPTH, --max-depth-level MAX_DEPTH
Maximum depth when walking subdirectories.
-o FILE, --output FILE
redirect output to a file
-g FILE, --generate FILE
generate stub file suitable for -f option
--encoding ENCODING Encoding of input and output files
--newline NEWLINE Newline character for output files
Examples:
# Simple string substitution (-e). Will show a diff. No changes applied.
massedit -e "re.sub('failIf', 'assertFalse', line)" *.py
# File level modifications (-f). Overwrites the files in place (-w).
massedit -w -f fixer:fixit *.py
# Will change all test*.py in subdirectories of tests.
massedit -e "re.sub('failIf', 'assertFalse', line)" -s tests test*.py
# Will transform virtual methods (almost) to MOCK_METHOD suitable for gmock (see https://github.com/google/googletest).
massedit -e "re.sub(r'\s*virtual\s+([\w:<>,\s&*]+)\s+(\w+)(\([^\)]*\))\s*((\w+)*)(=\s*0)?;', 'MOCK_METHOD(\g<1>, \g<2>, \g<3>, (\g<4>, override));', line)" test.cpp
Develop
$ git clone https://github.com/tddschn/massedit-cli.git
$ cd massedit-cli
$ poetry install
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
massedit-cli-0.1.1.tar.gz
(3.0 kB
view hashes)
Built Distribution
Close
Hashes for massedit_cli-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0db107945a862d363a7bff87c860a60f1f8399027f52ba91fbaf521107af354e |
|
MD5 | a329cc6c51f11bcb8c12c45ae1a883c8 |
|
BLAKE2b-256 | bd936b5aa1f4e1a1613034e1a420815ce91ba10cd5c94f9b4478326a583bcf80 |