[Pypi-checkins] r832 - trunk/appengine

martin.von.loewis python-checkins at python.org
Thu Jul 29 23:26:09 CEST 2010


Author: martin.von.loewis
Date: Thu Jul 29 23:26:08 2010
New Revision: 832

Modified:
   trunk/appengine/fetch.py
Log:
Fix encoding problems.


Modified: trunk/appengine/fetch.py
==============================================================================
--- trunk/appengine/fetch.py	(original)
+++ trunk/appengine/fetch.py	Thu Jul 29 23:26:08 2010
@@ -15,11 +15,12 @@
 def rpc():
     return xmlrpclib.ServerProxy('http://pypi.python.org/pypi')
 
-def simple_page(m, project):
+def simple_page(m, uproject):
+    project = uproject.encode('utf-8')
     h = httplib.HTTPConnection('pypi.python.org')
     if project:
         h.putrequest('GET', '/simple/'+urllib2.quote(project)+'/')
-        obj = model.Project.get_by_key_name(project)
+        obj = model.Project.get_by_key_name(uproject)
     else:
         h.putrequest('GET', '/simple/')
         obj = m
@@ -38,7 +39,7 @@
     if obj:
         obj.simple = html
     else:
-        obj = model.Project(key_name=project, simple=html)
+        obj = model.Project(key_name=uproject, simple=html)
     if project:
         # the root index is not signed
         h.putrequest('GET', '/serversig/'+urllib2.quote(project)+'/')
@@ -82,7 +83,7 @@
     if f:
         f = f[0]
     h = httplib.HTTPConnection('pypi.python.org')
-    h.putrequest('HEAD', '/packages/'+path)
+    h.putrequest('HEAD', '/packages/'+urllib2.quote(path))
     if f:
         h.putheader("If-none-match", f.etag)
     h.endheaders()
@@ -114,7 +115,7 @@
             f.etag = r.msg['etag']
         f.put()
     else:
-        raise ValueError, "Bad HTTP status"
+        raise ValueError, "Bad HTTP status (%s %s)" % (path, r.status)
 
 
 def packages_listed(m, todo, t):


More information about the Pypi-checkins mailing list