Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
631843b3c5
|
|||
|
9c653e44a4
|
|||
| cdd3ba0cbd | |||
|
eee00bb6ee
|
|||
| f9586bbd0e | |||
|
51a7001bf2
|
|||
|
ccf383ebfb
|
|||
|
|
6670c79d47 | ||
|
3285fbaef4
|
@@ -20,7 +20,7 @@ jobs:
|
||||
run: pip install pre-commit
|
||||
|
||||
- name: Run pre-commit hooks
|
||||
uses: pre-commit/action@v3.0.1
|
||||
run: pre-commit run --all-files --color always
|
||||
|
||||
- name: Install pip-audit
|
||||
run: pip install pip-audit
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
__pycache__
|
||||
.pytest_cache
|
||||
dist
|
||||
.coverage
|
||||
|
||||
80
README.md
80
README.md
@@ -1,8 +1,6 @@
|
||||
[](LICENCE)
|
||||
[](https://github.com/guardutils/resrm/)
|
||||
[](https://github.com/guardutils/resrm/releases)
|
||||
[](https://pypi.org/project/resrm/#history)
|
||||
[](https://pypi.org/project/resrm/)
|
||||
[](https://git.sysmd.uk/guardutils/resrm/src/branch/main/LICENCE)
|
||||
[](https://git.sysmd.uk/guardutils/resrm/releases)
|
||||
[](https://git.sysmd.uk/guardutils/resrm/src/branch/main/.pre-commit-config.yaml)
|
||||
|
||||
# resrm
|
||||
|
||||
@@ -22,34 +20,63 @@ It moves files to a per-user _trash_ instead of permanently deleting them, while
|
||||
|
||||
> Note: if you need immediate deletion, use the `--skip-trash` flag.
|
||||
|
||||
---
|
||||
|
||||
## Configuration
|
||||
|
||||
To control how long trashed files are kept, add this line to your shell configuration (e.g. `~/.bashrc`):
|
||||
|
||||
```bash
|
||||
export RESRM_TRASH_LIFE=10
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
### From package manager
|
||||
### From GuardUtils package repo
|
||||
|
||||
This is the preferred method of installation.
|
||||
|
||||
**Ubuntu 22.04 and 24.04**
|
||||
### Debian/Ubuntu
|
||||
|
||||
#### 1) Import the GPG key
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /usr/share/keyrings
|
||||
curl -fsSL https://repo.sysmd.uk/guardutils/guardutils.gpg | sudo gpg --dearmor -o /usr/share/keyrings/guardutils.gpg
|
||||
```
|
||||
|
||||
The GPG fingerprint is `0032C71FA6A11EF9567D4434C5C06BD4603C28B1`.
|
||||
|
||||
#### 2) Add the APT source
|
||||
|
||||
```bash
|
||||
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/guardutils.gpg] https://repo.sysmd.uk/guardutils/debian stable main" | sudo tee /etc/apt/sources.list.d/guardutils.list
|
||||
```
|
||||
|
||||
#### 3) Update and install
|
||||
|
||||
```
|
||||
sudo add-apt-repository ppa:mdaleo/resrm
|
||||
sudo apt update
|
||||
sudo apt install resrm
|
||||
```
|
||||
|
||||
**Fedora 41, 42, 43**
|
||||
### Fedora/RHEL
|
||||
|
||||
#### 1) Import the GPG key
|
||||
|
||||
```
|
||||
sudo dnf copr enable mdaleo/resrm
|
||||
sudo rpm --import https://repo.sysmd.uk/guardutils/guardutils.gpg
|
||||
```
|
||||
|
||||
#### 2) Add the repository configuration
|
||||
|
||||
```
|
||||
sudo tee /etc/yum.repos.d/guardutils.repo > /dev/null << 'EOF'
|
||||
[guardutils]
|
||||
name=GuardUtils Repository
|
||||
baseurl=https://repo.sysmd.uk/guardutils/rpm/$basearch
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
repo_gpgcheck=1
|
||||
gpgkey=https://repo.sysmd.uk/guardutils/guardutils.gpg
|
||||
EOF
|
||||
```
|
||||
|
||||
#### 4) Update and install
|
||||
|
||||
```
|
||||
sudo dnf upgrade --refresh
|
||||
sudo dnf install resrm
|
||||
```
|
||||
|
||||
@@ -74,7 +101,7 @@ pip install resrm
|
||||
### From this repository
|
||||
|
||||
```bash
|
||||
git clone https://github.com/guardutils/resrm.git
|
||||
git clone https://git.sysmd.uk/guardutils/resrm.git
|
||||
cd resrm/
|
||||
poetry install
|
||||
```
|
||||
@@ -107,12 +134,21 @@ resrm --restore <id|name>
|
||||
resrm --empty
|
||||
```
|
||||
|
||||
|
||||
## Trash Location
|
||||
|
||||
Normal users: `~/.local/share/resrm/files`
|
||||
|
||||
Root user: `/root/.local/share/resrm/files`
|
||||
|
||||
## Configuration
|
||||
|
||||
To control how long trashed files are kept, add this line to your shell configuration (e.g. `~/.bashrc`):
|
||||
|
||||
```bash
|
||||
export RESRM_TRASH_LIFE=10
|
||||
```
|
||||
|
||||
### TAB completion
|
||||
Add this to your `.bashrc`
|
||||
```
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
[tool.poetry]
|
||||
name = "resrm"
|
||||
version = "0.3.2"
|
||||
version = "0.3.3"
|
||||
description = "drop-in replacement for rm with undo/restore built-in."
|
||||
authors = ["Marco D'Aleo <marco@marcodaleo.com>"]
|
||||
license = "GPL-3.0-or-later"
|
||||
readme = "README.md"
|
||||
homepage = "https://github.com/guardutils/resrm"
|
||||
repository = "https://github.com/guardutils/resrm"
|
||||
homepage = "https://git.sysmd.uk/guardutils/resrm"
|
||||
repository = "https://git.sysmd.uk/guardutils/resrm"
|
||||
packages = [{include = "resrm", from = "src"}]
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
|
||||
@@ -8,7 +8,7 @@ Basic usage:
|
||||
resrm -f file # ignore nonexistent, no prompt
|
||||
resrm -i file # interactive prompt before removal
|
||||
resrm --skip-trash file # permanent delete (bypass trash)
|
||||
resrm -l # list trash entries (neat table)
|
||||
resrm -l|--list # list trash entries (neat table)
|
||||
resrm --restore <id|name> # restore by short-id (8 chars) or exact basename
|
||||
resrm --empty # empty trash entries (permanent)
|
||||
"""
|
||||
@@ -424,12 +424,12 @@ def main(argv: Optional[List[str]] = None):
|
||||
print(__doc__)
|
||||
return
|
||||
|
||||
if not args.paths and not (args.l or args.empty or args.restore):
|
||||
if not args.paths and not (args.list or args.empty or args.restore):
|
||||
print("resrm: missing operand")
|
||||
print("Try 'resrm --help' for more information.")
|
||||
return
|
||||
|
||||
if args.l:
|
||||
if args.list:
|
||||
list_trash()
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user