Skip to main content

Pythod is a lightweigh Python directory organizing CLI tool.

Project description

Pythod

pythod

Table of Contents

  1. Installation
  2. Usage

Installation

You can install Pythod either by cloning the repository with:

git clone https://github.com/not-so-cool-anymore/pythod.git and then run pip install . inside the repository.

Or you can install download and install it via Pip with:

pip install pythod

Usage

Configuration file

In order to properly organize a directory, the tool uses a configuration file that contains information about content types, indicators of those content types and the target folder into which they will be moved. The format of the default configuration file is the following:

{
  "contents": [
    {
      "content_class": "<content_class_x>",
      "target_directory": "<target_directory_x>",
      "content_indicators": ["<indicator>", "<indicator>", "<indicator>"]
    },
    {
      "content_class": "<content_class_y>",
      "target_directory": "<target_directory_y>",
      "content_indicators": ["<indicator>", "<indicator>", "<indicator>"]
    }
  ]
}

Where content_class indicates the type of object that would be moved and must be either file or directory. target_directory is the name of the directory in which files with matching content indicators will be moved. content_indicators is an array of strings which contains indicators about a specific set of files. For directories, it is part of their names, and for files - their file extensions.

There is a default configuration file in the directory of the tool. The file contains the following:

{
  "contents": [
    {
      "content_class": "file",
      "indicators": [
        "mkv",
        "mp4",
        "flv",
        "avi",
        "mov",
        "mpg",
        "amv",
        "wmv",
        "mov"
      ],
      "target_directory": "movies_and_videos"
    },
    {
      "content_class": "file",
      "indicators": [
        "jpg",
        "jpeg",
        "tiff",
        "bat",
        "gif",
        "bmp",
        "png",
        "exif",
        "svg"
      ],
      "target_directory": "images"
    },
    {
      "content_class": "file",
      "indicators": ["txt", "doc", "docx", "md"],
      "target_directory": "text_and_documents"
    },
    {
      "content_class": "file",
      "indicators": ["pdf"],
      "target_directory": "pdfs"
    },
    {
      "content_class": "file",
      "indicators": ["zip", "rar", "tar", "gz"],
      "target_directory": "archives"
    },
    {
      "content_class": "file",
      "indicators": ["exe", "bin", "msi"],
      "target_directory": "executables"
    },
    {
      "content_class": "directory",
      "indicators": ["movie", "xvid", "brip", "dvdrip", "x264", "release"],
      "target_directory": "movies_and_videos"
    },
    {
      "content_class": "file",
      "indicators": [
        "cpp",
        "c",
        "cs",
        "py",
        "go",
        "java",
        "lua",
        "rpy",
        "sh",
        "bas",
        "pl",
        "r",
        "swift",
        "pas",
        "asm"
      ],
      "target_directory": "source_files"
    }
  ]
}

CLI usage

To use the tool type:

pythod --dir <ABS/PATH/TO/DIRECTORY/TO/ORGANIZE> --config <PATH/TO/CUSTOM/CONFIG/FILE>

Where --dir is required parameter and --config is optional. If --config is not provided, the default configuration will be loaded.

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

pythod-0.0.3.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pythod-0.0.3-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file pythod-0.0.3.tar.gz.

File metadata

  • Download URL: pythod-0.0.3.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.9

File hashes

Hashes for pythod-0.0.3.tar.gz
Algorithm Hash digest
SHA256 6898d16316eed068e25b95f10a76155be10bd760f2ec4f4fb9b56c8cdd7e440f
MD5 41ef0ce9bac3d070c13971a83278e762
BLAKE2b-256 7611a2f661f40aa0ddcd600490e3ee0a9bd828689c304bd73adaf7b4c19b85c8

See more details on using hashes here.

File details

Details for the file pythod-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: pythod-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 18.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.9

File hashes

Hashes for pythod-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 71d5bbc1c830c018f4855a1f699d581356c719b838b0ec8b68b6c35c4df87616
MD5 6ef0d173cfe08ded2784eb15f9352d6c
BLAKE2b-256 245465f7b3b5d045955ea5977869a8b072d3e474bd322686261ea4650a905f31

See more details on using hashes here.

Supported by

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