--- ppa.py.orig 2010-05-14 08:04:25.795738149 +0100 +++ ppa.py 2010-05-14 08:21:02.199879633 +0100 @@ -21,6 +21,7 @@ from threading import Thread from urllib2 import urlopen, Request, URLError +import urllib import re import subprocess import apt_pkg @@ -43,8 +44,11 @@ sourceslistd = apt_pkg.Config.FindDir("Dir::Etc::sourceparts") line = "deb http://ppa.launchpad.net/%s/%s/ubuntu %s main" % ( ppa_owner, ppa_name, distro_codename) + + encode = lambda s: urllib.quote(s,'').replace('-','%2D').replace('%','-') + file = "%s/%s-%s-%s.list" % ( - sourceslistd, ppa_owner, ppa_name, distro_codename) + sourceslistd, encode(ppa_owner), encode(ppa_name), encode(distro_codename)) return (line, file)