From: SourceForge.net <no...@so...> - 2003-07-31 19:13:55
|
Bugs item #499973, was opened at 2002-01-05 21:51 Message generated for change (Settings changed) made by pedronis You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=499973&group_id=12867 Category: Library >Group: Fixed in 2.2a0 Status: Closed Resolution: Fixed Priority: 5 Submitted By: Finn Bock (bckfnn) Assigned to: brian zimmer (bzimmer) Summary: isql.Prompt can't be written to stdout. Initial Comment: The __str__() method of the isql.Prompt class isn't magicly called when sys.stdout.write(self.prompt) is called. It result in a stacktrace: Jython 2.1 on java1.3.0 (JIT: null) Type "copyright", "credits" or "license" for more information. >>> import dbexts, isql >>> d=3Ddbexts.dbexts("prod_sport") >>> D=3Disql.IsqlCmd(d) >>> D.use_rawinput=3D0 >>> D.cmdloop() Traceback (innermost last): File "<console>", line 1, in ? File "/usr/local/jython/jython-2.1/Lib/cmd.py", line 79, in cmdloop TypeError: write(): 1st arg can't be coerced to String I'm not sure that this have ever worked. Adding a __tojava__ method to the Prompt class seems to fix the problem. def __tojava__(self, cls): if cls == java.lang.String: return self.__str__() return None ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=499973&group_id=12867 |