From b57740fc03050d2ac7e39132925f7f498ed2be51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Metin?= Date: Tue, 28 Jun 2005 07:50:34 +0000 Subject: [PATCH] =?UTF-8?q?here=20we=20go...=20Pisi=20Url=20mod=C3=BCl?= =?UTF-8?q?=C3=BCm=C3=BCz.=20Birazdan=20di=C4=9Fer=20mod=C3=BCllerde=20bun?= =?UTF-8?q?u=20kullanmaya=20ba=C5=9Flayaca=C4=9F=C4=B1m.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pisi/purl.py | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 pisi/purl.py diff --git a/pisi/purl.py b/pisi/purl.py new file mode 100644 index 00000000..33d73c9f --- /dev/null +++ b/pisi/purl.py @@ -0,0 +1,71 @@ +# Simplifying working with URLs, PURL module provides common URL +# parsing interface + +from urlparse import urlparse +from os.path import basename + +class PUrl(object): + """PUrl class provides a URL parser and simplifies working with + URLs.""" + + def __init__(self, uri=None): + if uri: + self.setUri(uri) + else: + self.__scheme = None + self.__location = None + self.__path = None + self.__filename = None + self.__params = None + self.__query = None + self.__fragment = None + self.__uri = None + + def getUri(self): + if self.__uri: + return self.__uri + + def setUri(self, uri): + # (scheme, location, path, params, query, fragment) + u = urlparse(uri, "file") + self.__scheme = u[0] + self.__location = u[1] + self.__path = u[2] + self.__filename = basename(self.__path) + self.__params = u[3] + self.__query = u[4] + self.__fragment = u[5] + + self.__uri = uri + + def isLocalFile(self): + if self.scheme() == "file": + return True + else: + return False + + def isRemoteFile(self): + return not self.isLocalFile() + + def scheme(self): + return self.__scheme + + def location(self): + return self.__location + + def path(self): + return self.__path + + def filename(self): + return self.__filename + + def params(self): + return self.__params + + def query(self): + return self.__query + + def fragment(self): + return self.__fragment + + uri = property(getUri, setUri)