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.5.tar.gz (4.3 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.5-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pythod-0.0.5.tar.gz
  • Upload date:
  • Size: 4.3 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.5.tar.gz
Algorithm Hash digest
SHA256 48ab43df845662c1399ddbe0cc505c32846108fc7d1079745ebab7c1592f4608
MD5 317e8d3d8d40588af9a0f1093e3ca8c3
BLAKE2b-256 4cf773ea885f3b2d811125db3f43da25317fd3f28f3a7a8b5500f55531f51ad4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pythod-0.0.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d3bb286077903f728432bc33d9005aab9aadc8fe0260eba32e7a2d630b4ba6b3
MD5 02141abf95dfd3b1ddeb97ba5a1f542f
BLAKE2b-256 a3ae4c3d8876e5801de3e23b22115ea0fdf2eb12f1281a67d4b84df7d5cbc7e3

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