murl: URL manipulation in Python, made simple

murl is a tiny wrapper for the Python module urlparse.

Source:

https://github.com/berkerpeksag/murl/

Issues:

https://github.com/berkerpeksag/murl/issues/

PyPI:

http://pypi.python.org/pypi/murl/

Build status:Travis CI

Getting Started

Install with pip:

$ pip install pyresto

or clone the latest version from GitHub.

Usage

Creating a Url object

>>> from murl import Url
>>> url = Url('https://bugzilla.mozilla.org/show_bug.cgi?id=698201#c0')
>>> url
<Url: https://bugzilla.mozilla.org/show_bug.cgi?id=698201#c0>

Mutating the Url object

>>> url.scheme
'https'
>>> url.scheme = 'http'
>>> url.scheme
'http'

List all attributes of a Url object

>>> dir(url)
[u'fragment', u'host', u'netloc', u'path', u'qs', u'querystring', u'scheme', u'url']

Objects

class Url(url[, **parts])

The url parameter should be a str object.

The parts dictionary should be one of them: scheme, netloc, path, params, query, fragment.

>>> url = murl.Url('http://www.google.com', path='about')
>>> url
<Url: http://www.google.com/about>
url
scheme
host
path
querystring
qs

Return a dict of the current querystring attribute. For example:

>>> url = Url('http://example.com/berkerpeksag?s=1&a=0&b=berker')
>>> url.qs
{'a': ['0'], 's': ['1'], 'b': ['berker']}
fragment
__repr__()

New in version 0.4.

Hacking

To setup a local development environment for hacking:

  1. Clone the repo:

    $ git clone git://github.com/berkerpeksag/murl.git
    $ cd murl
    
  2. Create and activate a new virtual environment:

    $ virtualenv <your_venv_name>
    $ source <your_venv_name>/bin/activate
    
  3. Install required dependencies:

    $ pip install -r requirements-dev.txt
    
  4. To run the tests, do:

    $ nosetests -v
    

License

All files that are part of this project are covered by the following license, except where explicitly noted.

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.