Skip to content

Library module with various convenience functions and classes

License

Notifications You must be signed in to change notification settings

akai10tsuki/vsutillib

Repository files navigation

vsutillib: module with utility functions and classes

These are a collection of functions and classes that I use on my applications to made easier to maintain I decided to release it and install as a dependency of apps like mkvbatchmultiplex.

For version 2.0.0 onwards will try to maintain it as a real library. Will try to maintain compatibility with interface for as long as possible.

Still the recommendation is to include any relevant code in your project and don't count on updates in the library will always be compatible with a previous version.

Description

A range of functions and classes with a variety of uses for example:

  • functions

    • getFileList - return the files on a directory in
      list of pathlib.Path objects
    • findFile - find a file in the system Path
      return a pathlib.Path object if found
    • getExecutable - find executable file
      in PATH and the normal installation paths for Windows and macOS for linux is like findFile
  • classes

    • RunCommand - execute command in subprocess and capture
      output optionally apply regular expression searches and apply a supplied function to receive every line read and process them as needed
    • ConfigurationSettings - maintain a set of ConfigurationSettings
      in a dictionary and saved it in xml file
  • utilities

    • mkvrun - CLI utility to execute MKVToolNix generated
      command line. MKVBatchMultiplex is a GUI implementation of this and the main reason this module goes public.
    • apply2files - apply a command to all files in the directory
      specified in recursive by default

and so on...

Installation

pip install vsutillib

This install all sub packages.

You can also install any individual packages.

pip install vsutillib-files
pip install vsutillib-log
pip install vsutillib-macos
pip install vsutillib-media
pip install vsutillib-network
pip install vsutillib-processing
pip install vsutillib-vsxml

Main development platform is Windows but limited testing show they work on Lin Linux and macOS. The only OS specific is vsutillib.macos but it run on other operating systems it won't raise exception the results will mainly be None.

Dependencies

  • lxml 4.3.3 or greater on system XmlDB simple xml database
  • pymediainfo 4.0 or greater
  • Python 3.5->3.7
  • MediaInfo tested with versions 17.10->18.12. This is only for Linux a dependency of pymediainfo.

Usage

Import the the library in your program::

from vsutillib import files
from vsutillib import log
from vsutillib import macos
from vsutillib import media
from vsutillib import network
from vsutillib import process
from vsutillib import xml

Roadmap

Document all classes and functions.

About

Library module with various convenience functions and classes

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages