Skip to main content

Translate OS X / Windows file URLs to directory paths

Project description

https://travis-ci.org/jimr/pathfix.py.png

Using Linux? Tired of receiving emails with links to files of the form X:\some%20path\on\remote%20share\spreadsheet.xls? Then we can help!

pathfix.py takes an unusable path as input and prints a useful one as output. That’s it.

It can handle Windows drive prefixes (if configured), and will also sort out file:// and smb:// prefixes.

Should work with Python 2.4 - 3.3 and pypy (probably more, but that’s as far as it’s been tested).

Installation

Install system-wide with sudo pip install pathfix.py or sudo easy_install pathfix.py. This will put an executable named pathfix.py into your $PATH.

Configuration

You need to create a config.ini file that contains the root of your network mounts and any drive mappings (see config.example.ini or the example below to get started).

By default, pathfix.py will check for $HOME/.config/pathfix/config.ini, so it’s best to keep your config there. If you are installing from source, you can also just keep a config.ini in the source tree next to pathfix.py.

We assume all your network shares are mounted under a common root, with the form:

/<network mount root>/<host name>/<share name>

If you installed from source, you may find it helpful to symlink pathfix.py to /usr/local/bin or somewhere else on your PATH, or you can just python setup.py install and you’ll get the pathfix.py executable on your path.

Usage

For example, if you have this in your config.ini:

[main]
network_root = /media/network

[drive_maps]
x = host1:share1
y = host2:share2

Then you can do, for example:

% pathfix.py "X:\some%20path\on\remote%20share\spreadsheet.xls"
/media/network/host1/share1/some path/on/remote share/spreadsheet.xls

Which you can use in subshells to fix arguments to other applications, for example:

% libreoffice "$(pathfix.py "X:\some%20path\on\remote%20share\spreadsheet.xls")"

Development

Pull requests are welcome, but please do include test cases that cover any updates.

There are no requirements unless you’re using Python 2.4-2.6, or 3.0-3.1, in which case (if you’re installing from source) you need to install argparse:

pip install -r requirements.txt

To make sure it all still works, run the tests:

python setup.py test

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

pathfix.py-0.6.2.tar.gz (4.5 kB view details)

Uploaded Source

File details

Details for the file pathfix.py-0.6.2.tar.gz.

File metadata

  • Download URL: pathfix.py-0.6.2.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pathfix.py-0.6.2.tar.gz
Algorithm Hash digest
SHA256 b693e85f499b9a54a7d4b0dbb8bf384ab079c415553f5f2de2306503a25f2357
MD5 33354f56498c31072486c2fb45b41f50
BLAKE2b-256 1f83c0eddbfa9ca88d7900e8cf7a8b622967deef388d972ce21630484a52e842

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