Source code for radical.saga.url
__author__ = "Andre Merzky, Ole Weidner"
__copyright__ = "Copyright 2012-2013, The SAGA Project"
__license__ = "MIT"
import radical.utils as ru
import radical.utils.signatures as rus
# ------------------------------------------------------------------------------
#
[docs]class Url (ru.Url) :
"""
The SAGA Url class.
URLs are used in several places in the SAGA API: to specify service
endpoints for job submission or resource management, for file or
directory locations, etc.
The URL class is designed to simplify URL management for these
purposes -- it allows to manipulate individual URL elements, while
ensuring that the resulting URL is well formatted. Example::
# create a URL from a string
location = saga.Url ("file://localhost/tmp/file.dat")
d = saga.filesystem.Directory(location)
A URL consists of the following components (where one or more can
be 'None')::
<scheme>://<user>:<pass>@<host>:<port>/<path>?<query>#<fragment>
Each of these components can be accessed via its property or
alternatively, via getter / setter methods. Example::
url = saga.Url ("scheme://pass:user@host:123/path?query#fragment")
# modify the scheme
url.scheme = "anotherscheme"
# above is equivalent with
url.set_scheme("anotherscheme")
"""
@rus.takes ('Url',
rus.optional (str, 'Url'))
@rus.returns (rus.nothing)
def __init__ (self, url_in=''):
"""
__init__(url_string='')
Create a new Url object from a string or another Url object.
"""
self._super = super (Url, self)
self._super.__init__ (url_in)
# --------------------------------------------------------------------------
#
@rus.takes ('Url',
('Url', dict))
@rus.returns ('Url')
def __deepcopy__ (self, memo) :
"""
__deepcopy__(self, memo)
Deep copy of a Url
"""
return Url (self)
# ------------------------------------------------------------------------------
#