I think I did this right, but if I did, it did not resolve the problem.
Below is my diff of the original and modified file.
[EMAIL PROTECTED] TMDA]# diff -c Pending.py.orig Pending.py
*** Pending.py.orig 2004-10-08 08:28:35.000000000 -0700
--- Pending.py 2004-10-08 08:39:20.000000000 -0700
***************
*** 64,70 ****
self.verbose = verbose
self.younger = younger
self.pretend = pretend
!
self.stdout = sys.stdout
--- 64,71 ----
self.verbose = verbose
self.younger = younger
self.pretend = pretend
!
! self.interactive = 0
self.stdout = sys.stdout
***************
*** 86,91 ****
--- 87,93 ----
self.msgs.extend(line.strip().split())
self.msgs.remove('-')
# re-open stdin on the tty
+ if self.interactive:
sys.stdin.close()
sys.stdin = open('/dev/tty', 'r')
***************
*** 341,346 ****
--- 343,349 ----
younger,
pretend)
+ self.interactive = 1
def initQueue(self):
"""Additionally initialize the interactive queue."""
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of David Grimberg
Sent: Friday, October 08, 2004 7:55 AM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: RE: bug report: tmda-pending and /dev/tty
Jesse,
I hit that same error, and on investigating it discovered that when you use
the -b switch tmda-pending runs a subclassed version of the Queue class. I
took advantage of this difference to and modified the Queue class and it's
subclass InteractiveQueue to have a new "interactive" property that gets
checked by the initQueue method.
You can try the editing your Pending.py file to contain the following new
and revised lines, however, I think you will need to do this by hand since
this is the second revision from the v1.0.2 baseline code, so the line
numbers are likely to be off.
[circle:source> diff -c Pending.v1.0.2.a.py Pending.v1.0.2.b.py
*** Pending.v1.0.2.a.py 2004-08-13 08:51:18.000000000 -0700
--- Pending.v1.0.2.b.py 2004-09-14 10:10:19.000000000 -0700
***************
*** 66,71 ****
--- 66,72 ----
self.younger = younger
self.pretend = pretend
+ self.interactive = 0
self.stdout = sys.stdout
***************
*** 87,94 ****
self.msgs.extend(line.strip().split())
self.msgs.remove('-')
# re-open stdin on the tty
! sys.stdin.close()
! sys.stdin = open('/dev/tty', 'r')
if not self.msgs and not wantedstdin:
cwd = os.getcwd()
--- 88,96 ----
self.msgs.extend(line.strip().split())
self.msgs.remove('-')
# re-open stdin on the tty
! if self.interactive:
! sys.stdin.close()
! sys.stdin = open('/dev/tty', 'r')
if not self.msgs and not wantedstdin:
cwd = os.getcwd()
***************
*** 353,358 ****
--- 355,362 ----
younger,
pretend)
+ self.interactive = 1
+
def initQueue(self):
"""Additionally initialize the interactive queue."""
[circle:source>
Hope this helps,
Dave Grimberg
Computer Aficionado
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Jesse Guardiani
Sent: Thursday, October 07, 2004 12:53 PM
To: [EMAIL PROTECTED]
Subject: bug report: tmda-pending and /dev/tty
Hello,
When I try to run this line from /etc/crontab under Gentoo Linux:
/usr/bin/tmda-pending -c \
/usr/local/vpopmail/domains/wingnet.net/craig/.tmdarc \ -b -T | egrep -i
"words|I|don't|want|to|see|go|here" \
| awk '{print $1}' | /usr/bin/tmda-pending -c \
/usr/local/vpopmail/domains/wingnet.net/craig/.tmdarc \ -b -d -
I get this traceback:
Traceback (most recent call last):
File "/usr/bin/tmda-pending", line 312, in ?
main()
File "/usr/bin/tmda-pending", line 303, in main
pretend = pretend
File "/usr/lib/python2.3/site-packages/TMDA/Pending.py", line 90, in
initQueue
sys.stdin = open('/dev/tty', 'r')
IOError: [Errno 6] No such device or address: '/dev/tty'
This is a bug. We shouldn't try to open /dev/tty when operating in batch
mode! I'd love to patch this, but I can't figure out how to accurately
determine if we are interactive or not on line 90 of Pending.py.
Any ideas?
--
Jesse Guardiani, Systems Administrator
WingNET Internet Services,
P.O. Box 2605 // Cleveland, TN 37320-2605 423-559-LINK (v) 423-559-5145 (f)
http://www.wingnet.net
_____________________________________________
tmda-users mailing list ([EMAIL PROTECTED])
http://tmda.net/lists/listinfo/tmda-users
_____________________________________________
tmda-users mailing list ([EMAIL PROTECTED])
http://tmda.net/lists/listinfo/tmda-users
_____________________________________________
tmda-users mailing list ([EMAIL PROTECTED])
http://tmda.net/lists/listinfo/tmda-users