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.
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...
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.
- 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.
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
Document all classes and functions.