Skip to main content

xmlcmd is a proof of concept experiment in augmenting standard POSIX commands with superpowers, such as outputting xml.

Sadly it is more sleight of hand than any real magic.

To begin with, a directory which is first on the PATH must be created (e.g. ~/bin). This should not be on the path which whereis uses, so if things go wrong you can always do $(whereis cmd) to execute affected commands.

The idea is to put symlinks to xmlcmd (which is created in the normal python setup.py install installation) into this directory for a number of commands. When these commands are run with an –xml option, the _{cmd} module will be imported from the xmlcmd package and the main() function run with two arguments: the original list of command line arguments (typically corresponding to sys.argv) minus the --xml, and the full path to the ‘original’ file which would have been run if the --xml option had not been specified.

This is similar to the way busybox works to implement a whole range of UNIX commands from a single binary, by using argv[0] to determine the required action. This allows the relevant logic to be factored out into a single place.

ben$ sudo pip install xmlcmd
...
ben$ ln -s $(which xmlcmd) ~/bin/ls
ben$ ls --xml
<an XMLish representation of a file listing...>

Plans:

  1. Add a few more commands (currently only supports ls and ps)

  2. Put a bunch of actually helpful XML output things into the xmlcmd package to simplify creation of additional command helpers

  3. A more useful xpath command than the perl program of that name on my OS X and Ubuntu installs

Ben Bass 2011

Metadata

Release files for xmlcmd 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xmlcmd 0.1.2
File Size Uploaded
xmlcmd-0.1.2.tar.gz 3.1 kB Details

Release files / xmlcmd-0.1.2.tar.gz

Download URL xmlcmd-0.1.2.tar.gz
Size 3.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f235d49283af6b25f45251da1b2b5b7e1706c7c29e8a1668cb95c2311b7b1441
BLAKE2b-256 checksum
How to use checksums
3c5f4ea6915924023b7e442cbac93e8023bd3be328bdb563c2b5a9c2ced7990a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.2 This release

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page