From 808acafb72273a6aa94041ba9a62a9a57c04198a Mon Sep 17 00:00:00 2001 From: helmutm Date: Sat, 15 Jan 2011 16:15:24 +0000 Subject: [PATCH] work in progress: utility functions for URL manipulation git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@4149 fd906abe-77d9-0310-91a1-e0d9ade77398 --- browser/url.py | 38 ++++++++++++++++++++++++++++++++++++++ browser/url.txt | 12 ++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 browser/url.py create mode 100644 browser/url.txt diff --git a/browser/url.py b/browser/url.py new file mode 100644 index 0000000..942c787 --- /dev/null +++ b/browser/url.py @@ -0,0 +1,38 @@ +# +# Copyright (c) 2011 Helmut Merz helmutm@cy55.de +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +""" URL manipulation utilities + +$Id$ +""" + +from urlparse import urlparse + +from zope.app.container.traversal import ItemTraverser +from zope.interface import Interface, implements + + +TraversalRedirector(ItemTraverser): + + port = 9083 + names = ('ctt', 'sona',) + loc_pattern = 'www.%s.de' + skip = (0, 4) + + def publishTraverse(self, request, name): + return super(TraversalRedirector, self).publishTraverse(request, name) diff --git a/browser/url.txt b/browser/url.txt new file mode 100644 index 0000000..f2e9f91 --- /dev/null +++ b/browser/url.txt @@ -0,0 +1,12 @@ +=================== +URL Rewriting Tools +=================== + + >>> from cybertools.browser.url import TraversalRedirector + + >>> url = ('http://sona.de:9083/sites/ctt/views/sona/suche.html' + ... '?category=2141533106&manufacturer=&x=8&y=7') + + >>> result = ('http://www.sona.de/suche.html' + ... '?category=2141533106&manufacturer=&x=8&y=7') +