[Catalog-sig] Untested patch for PyPI exceptions
A.M. Kuchling
amk at amk.ca
Thu May 3 21:22:37 CEST 2007
On Thu, May 03, 2007 at 02:53:14PM -0400, Jean-Paul Calderone wrote:
> The indentation looks wrong, at least.
Oops, thanks! Attempt #2...
--amk
Index: flamenco.py
===================================================================
--- flamenco.py (revision 452)
+++ flamenco.py (working copy)
@@ -1,6 +1,7 @@
#!/usr/bin/python
import sys, pprint, cgi, urllib, os, time, cStringIO
+import psycopg
def flatten(d):
l = d[1]
@@ -114,15 +115,18 @@
# overlapping update, just release the lock
self.store.commit()
return
- self.cursor.execute("delete from browse_tally")
- # Using PostgreSQL COPY here, instead of a series of INSERT statements
- s = cStringIO.StringIO()
- for _, _, items in self.list_choices()[1]:
- for path, packages in items:
- s.write('%d\t%d\n' % (self.trove.getid(path), len(packages)))
- s.seek(0)
- self.cursor.copy_from(s, 'browse_tally')
- self.cursor.execute("update timestamps set value=now() where name='browse_tally'")
+ try:
+ self.cursor.execute("delete from browse_tally")
+ # Using PostgreSQL COPY here, instead of a series of INSERT statements
+ s = cStringIO.StringIO()
+ for _, _, items in self.list_choices()[1]:
+ for path, packages in items:
+ s.write('%d\t%d\n' % (self.trove.getid(path), len(packages)))
+ s.seek(0)
+ self.cursor.copy_from(s, 'browse_tally')
+ self.cursor.execute("update timestamps set value=now() where name='browse_tally'")
+ except psycopg.ProgrammingError:
+ pass
self.store.commit()
def get_matches(self, addl_fields=[]):
More information about the Catalog-sig
mailing list