catacomb/__init__.py: Don't try to convert text strings to `ByteString'.
[catacomb-python] / pock
diff --git a/pock b/pock
index cb49996..a980cbe 100644 (file)
--- a/pock
+++ b/pock
@@ -38,6 +38,10 @@ import catacomb as C
 ###--------------------------------------------------------------------------
 ### Utilities.
 
+def _excval():
+  """Return the most recent exception object."""
+  return SYS.exc_info()[1]
+
 class ExpectedError (Exception):
   """
   I represent an expected error, which should be reported in a friendly way.
@@ -603,7 +607,7 @@ def check(pp, line):
   if p.nbits != nb:
     raise ExpectedError('check failed: nbits(%s) = %d /= %d' % \
                         (label, p.nbits, nb))
-  if VERBOSITY: print ';; %s = %d [%d]' % (label, p, nb)
+  if VERBOSITY: print(';; %s = %d [%d]' % (label, p, nb))
 
 def setsievebits(pp, line):
   """
@@ -715,8 +719,9 @@ class PrimeProof (object):
         if step is not None:
           me.addstep(step)
           lastp = step.p
-      except ExpectedError, e:
-        raise ExpectedError('%s:%d: %s' % (file.name, lno, e.message))
+      except ExpectedError:
+        raise ExpectedError('%s:%d: %s' %
+                            (file.name, lno, _excval().message))
     return lastp
 
 ###--------------------------------------------------------------------------
@@ -1004,20 +1009,20 @@ def __main__():
   ## Prepare an option parser.
   op = OP.OptionParser(
     usage = '''\
-pock [-qv] CMD ARGS...
+pock [-qv] [-s SIEVEBITS] CMD ARGS...
         gen NBITS
         ll NBITS NSUBBITS
         check [FILE]''',
     description = 'Generate or verify certified prime numbers.')
   op.add_option('-v', '--verbose', dest = 'verbosity',
                 action = 'count', default = 1,
-                help = 'Print mysterious runes while looking for prime numbers.')
+                help = 'print mysterious runes while looking for prime numbers')
   op.add_option('-q', '--quiet', dest = 'quietude',
                 action = 'count', default = 0,
-                help = 'be quiet while looking for prime numbers.')
+                help = 'be quiet while looking for prime numbers')
   op.add_option('-s', '--sievebits', dest = 'sievebits',
                 type = 'int', default = 32,
-                help = 'Size (in bits) of largest small prime.')
+                help = 'size (in bits) of largest small prime')
   opts, argv = op.parse_args()
   VERBOSITY = opts.verbosity - opts.quietude
   p = ProgressReporter()
@@ -1059,7 +1064,7 @@ pock [-qv] CMD ARGS...
 if __name__ == '__main__':
   prog = OS.path.basename(argv[0])
   try: __main__()
-  except ExpectedError, e: exit('%s: %s' % (prog, e.message))
-  except IOError, e: exit('%s: %s' % (prog, e))
+  except ExpectedError: exit('%s: %s' % (prog, _excval().message))
+  except IOError: exit('%s: %s' % (prog, _excval()))
 
 ###----- That's all, folks --------------------------------------------------