Package: forgetsql
Version: 0.5.1-10
Severity: normal
Tags: patch upstream
Owner: Morten Werner Forsbring <wer...@debian.org>


Hi,

this was sent to the nav-us...@uninett.no mailinglist. It should be
fixed for the package in Debian as well.


- Werner

Morten Brekkevold <morten.brekkev...@uninett.no> writes:

> Hi all,
>
> forgetSQL is an unmaintained piece of shi^H^Hoftware that NAV versions
> up to 3.5 depend on.  While we have removed this dependency from the
> coming NAV 3.6, some will experience warnings when running NAV under
> Python 2.5, and outright failures on Python 2.6, due to problems with
> the forgetSQL module.
>
> The forgetSQL module raises string exceptions in three places, and
> these are deprecated in Python 2.5, and not supported in 2.6.  You may
> see error messages such as these:
>
>  /var/lib/python-support/python2.5/forgetSQL.py:212: DeprecationWarning: 
> raising a string exception is deprecated
>    raise "NotFound"
>
> or
>
>  File "/var/lib/python-support/python2.6/forgetSQL.py", line 212, in __new__
>    raise "NotFound"
>
>  TypeError: exceptions must be classes or instances, not str
>
>
> I'm attaching a quick forgetSQL patch I've written to overcome these
> problems until NAV 3.6 has reached a stable release.

--- forgetSQL.py.old	2010-02-24 11:55:01.000000000 +0100
+++ forgetSQL.py	2010-02-24 11:57:32.000000000 +0100
@@ -1,4 +1,4 @@
-
+#-*- coding: iso-8859-1 -*-
 __version__ = "0.5.1"
 
 ## Distributed under LGPL
@@ -209,18 +209,18 @@
     try:  # to implement 'goto' in Python.. UGH
       if not cls._cache.has_key(args):
         # unknown
-        raise "NotFound"
+        raise NotFound
       (ref, updated) = cls._cache[args]
       realObject = ref()
       if realObject is None:
         # No more real references to it, dead object
-        raise "NotFound"
+        raise NotFound
       age = time.time() - updated
       if age > cls._timeout:
         # Too old!
-        raise "NotFound"
+        raise NotFound
       updated = time.time()
-    except "NotFound":
+    except NotFound:
       # We'll need to create it
       realObject = object.__new__(cls, *args)  
       ref = weakref.ref(realObject)

Reply via email to