00001 ############################################################################## 00002 # 00003 # Copyright (c) 2009 Albert Cervera i Areny <albert@nan-tic.com> 00004 # 00005 # WARNING: This program as such is intended to be used by professional 00006 # programmers who take the whole responsability of assessing all potential 00007 # consequences resulting from its eventual inadequacies and bugs 00008 # End users who are looking for a ready-to-use solution with commercial 00009 # garantees and support are strongly adviced to contract a Free Software 00010 # Service Company 00011 # 00012 # This program is Free Software; you can redistribute it and/or 00013 # modify it under the terms of the GNU General Public License 00014 # as published by the Free Software Foundation; either version 2 00015 # of the License, or (at your option) any later version. 00016 # 00017 # This program is distributed in the hope that it will be useful, 00018 # but WITHOUT ANY WARRANTY; without even the implied warranty of 00019 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00020 # GNU General Public License for more details. 00021 # 00022 # You should have received a copy of the GNU General Public License 00023 # along with this program; if not, write to the Free Software 00024 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00025 # 00026 ############################################################################## 00027 00028 def encodeForUrl(text): 00029 result = text[:] 00030 reserved = ('$', '&', '+', ',', '/', ':', ';', '=', '?', '@') 00031 for invalid in reserved: 00032 valid = '%%%x' % ord(invalid) 00033 result = result.replace( invalid, valid ) 00034 return result 00035 00036 def decodeFromUrl(text): 00037 result = text[:] 00038 reserved = ('$', '&', '+', ',', '/', ':', ';', '=', '?', '@') 00039 for invalid in reserved: 00040 valid = '%%%x' % ord(invalid) 00041 result = result.replace( valid, invalid ) 00042 return result 00043