Skip to main content

CLI tools to organize files on your computer

Project description

move-my-files

mmf is a cli tool for organising files on your computer. Tell it the file name patterns, where to move and matching files from a source directory are moved to target directory. Run it as one-off command or in watch mode to continously observe a source directory.

Installation

Prerequisites:

  • Python >=3.5
  • pip package manager

Install mmf using:

# Install or upgrade mmf
pip install move-my-files -U

Usage

Move files using either one time command or watch mode:

# Supply source and destination directory explicitly
mmf move --source ~/Documents --dest-dir ~/Documents/images --pattern .png

# Uses predefined configuration(provided in using add command)
mmf move --source ~/Documents

# Watch ~/Documents directory for moving files
mmf move --source ~/Documents --dest-dir ~/Documents/images --pattern .png --watch
mmf move --source ~/Documents --watch

Define your favorite configurations using add command. This command keeps track of your configurations so they are not required to be typed in future. Use list command to list configurations you've previosly added.

# Add configuration
mmf add --dest-dir ~/Documents/images --pattern .png
mmf add --dest-dir ~/Documents/pyfiles --pattern .py

# List configurations (previously added)
mmf list

# move without --dest-dir will use configurations
mmf move --source ~/Documents --watch

Available shortcuts for options:

  • --source: -s
  • --dest-dir: -d
  • --pattern: -p
  • --watch: -w

Development

Fork and clone this repository to develop on latest master branch. General steps to execute python code form this repo:

# Create development environment
cd /move-my-files
virtualenv .env && source .env/bin/activate
python3 setup.py install

# Execute CLI (from code)
python3 .
python3 . list

Local testing with unit tests and CLI:

# Run available unit tests
python3 -m pytest tests -v

# Install CLI locally to test (basically testing setup.py)
pip install -e .
mmf

For Packaging and publishing see here:

Contribute

If you have ideas to improve this tool, feel free to raise a new issue in the Issues section or open a PR :)

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

move-my-files-0.2.4.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

move_my_files-0.2.4-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file move-my-files-0.2.4.tar.gz.

File metadata

  • Download URL: move-my-files-0.2.4.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for move-my-files-0.2.4.tar.gz
Algorithm Hash digest
SHA256 ec0b8a79391ce8644a68ee0e19e40e6a07c4d28ebd41b1a7e82c0655ead20220
MD5 46a833328320bbd14d24c16dcb199088
BLAKE2b-256 7e9d87603f94ce153a913bbfef0491d1ccceb435e3972ca548b3aa25c012fc9a

See more details on using hashes here.

File details

Details for the file move_my_files-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: move_my_files-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for move_my_files-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1d649689b2fa891bb9ff1d620b82edf9ce4c207550615eb2bd88e2cd1e085137
MD5 dc4fb2a368712510c1994eb3ebd24d1c
BLAKE2b-256 8d000fcc7d087f128e9a764943f87f9c7bd17e7cfc84ec17d143f15ffa37dbef

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