[Pythonmac-SIG] error with reading fields of dialog

Adam Russell rus20376@salemstate.edu
Sat, 04 Jan 2003 22:11:02 -0500


This is a multi-part message in MIME format.
--------------050400010406020006020105
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

I get the following error when I run the attached script. Thisis really 
simple code!! What is going on here? Being pretty new to python I need 
to turn to the experts.......
Any ideas?
Thanks!!

Traceback (most recent call last):
  File "clash:Desktop Folder:python_dev:ftp:RabbitTransfer.py", line 99, 
in ?
    main()
  File "clash:Desktop Folder:python_dev:ftp:RabbitTransfer.py", line 25, 
in main
    RabbitTransfer()
  File "clash:Desktop Folder:python_dev:ftp:RabbitTransfer.py", line 34, 
in __init__
    self.mainloop()
  File "clash:Applications (Mac OS 9):Python 
2.2.1:Mac:Lib:FrameWork.py", line 166, in mainloop
    self.do1event(mask, wait)
  File "clash:Applications (Mac OS 9):Python 
2.2.1:Mac:Lib:FrameWork.py", line 184, in do1event
    if self.do_dialogevent(event):
  File "clash:Applications (Mac OS 9):Python 
2.2.1:Mac:Lib:FrameWork.py", line 244, in do_dialogevent
    self._windows[window].do_itemhit(item, event)
  File "clash:Desktop Folder:python_dev:ftp:RabbitTransfer.py", line 80, 
in do_itemhit
    self.onConnect()
  File "clash:Desktop Folder:python_dev:ftp:RabbitTransfer.py", line 83, 
in onConnect
    tp, h, rect=self.dlg.GetDialogItem(ITEM_SERVER)
AttributeError: 'NoneType' object has no attribute 'GetDialogItem'


--------------050400010406020006020105
Content-Type: multipart/appledouble;
 boundary="------------ad020303000002020401010202"; x-mac-type="72737263"; x-mac-creator="52534544";
 name="RabbitTransfer.rsrc"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="RabbitTransfer.rsrc"

--------------ad020303000002020401010202
Content-Type: application/applefile
Content-Transfer-Encoding: base64

AAUWBwACAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAADAAAAVgAAABMAAAAJAAAAaQAAACAAAAAI
AAAAiQAAABAAAAAEAAAAmQAAAAAAAAACAAAAmQAAA9VSYWJiaXRUcmFuc2Zlci5yc3JjcnNy
Y1JTRUQBAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAC54MkBanbe0ttDAAFqhh2AAABAAAAAuwA
AAHsAAAA6bwAAAACdAK0gVfBwAFnUEKnLy4ACC8GTq0JqhAfZj5CDmRuc2xvb2t1cC5yc3Jj
cHlyZW5jZXN4aW5nc3J0aHMCAHJzcmNSU0VEAQAABAAMAAAAAAAAAAAAAAAAAAAAAAAArp5d
GQAAAAAAAAKZ8E6tCZodX/7jUkdpCL5u/t5vAP8YfgFCZz8sARBOrQiqPV//+r5u//puej8s
ARBIbv/wPwdOrQiyJqwBeEJnPywBEC8u//BOrQi6OB8mrv7sSkRmTD18AAH+3EJnPywBEC8u
//BOrQi6PV/+2jou/txgIkKnPywBEC8u//A/PAABTgAAACYARAAwAPQBZwAFAQABAAAAAAAC
ABFSZW1vdGUgQ29ubmVjdGlvbgAAABUAYABsARYBeAABAQAAAAAAAAACAQAAAABPQ0sKIT/l
MjAABAAAAAAAAAAAuLzXtLd6dyQAAAAAAAAAAAAAAAAAAAAACmphY2tqYW5zZW4AAAAQZG5z
bG9va3VwLTIucnNyYwAAAAAAAAAAAIYABgAAAAAAJwBhADkBLBAAAAAAAABJAGAAWwErEAAA
AAAAAJUA4QCpARsEB0Nvbm5lY3QAAAAAAAAmAAgAOABbiApTZXJ2ZXJOYW1lAAAAAABIAAkA
WgBViAhVc2VybmFtZQAAAAAAbABgAH4BKxAAAAAAAABqAAkAfABViAhQYXNzd29yZAAAAD4A
AgAAAAAAlgBxAKoAqwQCT0sAAAAAAAoAcQBKALGgAgWXAAAAAABPAF0AXgC+iA5SYWJiaXRU
cmFuc2ZlcgAAACYAQAAQAT8B/AAEAQABAAAAAAACAg5QSUNUIFJlc291cmNlcwAAAAAAAFwA
AwAAAAAACgCqABoBDgcCBZcAAAAAANIAFADnAGoEDFJlY3YgRmlsZShzKQAAAAAA0gC0AOcB
CgQMU2VuZCBGaWxlKHMpAAAAAADSAVQA5wGqBAdSZWZyZXNoKQAAAQAAAALsAAAB7AAAAOkR
z6aEA2YAAAAcAIoAAkRJVEwAAgAaRExPRwACAD5ja2lkAAAAYgIAACsAAACWAAAAAAIBAEoA
AAEgEc+ToAICADkAAAGMEc+sjAIAABkAAAAAEc+slAIBAAAAAAAqEc+Q3AICAFAAAAFiEc+j
xACAAAoAAABDEc+s0AlBYm91dCBib3gOUHJvamVjdG9yIERhdGERQ29ubmVjdGlvbiBEaWFs
b2cNY29ubmVjdERpYWxvZxBSZW1vdGUgRmlsZSBMaXN0BUFib3V0DkJyb3dzZXIgd2luZG93


--------------ad020303000002020401010202
Content-Type: application/octet-stream; name="RabbitTransfer.rsrc"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="RabbitTransfer.rsrc"



--------------ad020303000002020401010202--


--------------050400010406020006020105
Content-Type: text/plain; x-mac-type="54455854"; x-mac-creator="50797468";
 name="RabbitTransfer.py"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="RabbitTransfer.py"

import FrameWork
import EasyDialogs
from Carbon import Res
from Carbon import Dlg
from Carbon import Qd
from Carbon import Win
from Carbon import Controls
from Carbon import List
import sys
import socket
import string
import macresource
#
# Definitions for our resources
ID_CONNECTION=512
ID_ABOUT=513

ITEM_SERVER=1
ITEM_USERNAME=2
ITEM_PASSWD=6
ITEM_CONNECT=3

def main():
    macresource.need("DLOG", ID_CONNECTION, "RabbitTransfer.rsrc")
    RabbitTransfer()
    
class RabbitTransfer(FrameWork.Application):
    "Application class for RabbitTransfer"
    
    def __init__(self):
        # First init menus, etc.
        FrameWork.Application.__init__(self)
        # Finally, go into the event loop
        self.mainloop()
    
    def makeusermenus(self):
        self.filemenu = m = FrameWork.Menu(self.menubar, "File")
        self.quititem = FrameWork.MenuItem(m, "Quit", "Q", self.quit)
        
        self.remotemenu = r = FrameWork.Menu(self.menubar, "Remote")
        self.connectitem=FrameWork.MenuItem(r,"Connect","C",self.connect)
        self.disconnectitem=FrameWork.MenuItem(r,"Disconnect","D",self.disconnect)
    	self.refreshitem=FrameWork.MenuItem(r,"Refresh","R",self.refresh)
    
    def quit(self, *args):
        self._quit()
        
    def connect(self, *args):
    	self.connection_dialog = ConnectionDialog(self)
    	self.connection_dialog.open(ID_CONNECTION)
        
    def disconnect(self, *args):
        self._quit()
        
    def refresh(self, *args):
        self._quit()
        
    def do_about(self, *args):
        f = Dlg.GetNewDialog(ID_ABOUT, -1)
        while 1:
            n = Dlg.ModalDialog(None)
            if n == 1:
                return
                
class ConnectionDialog(FrameWork.DialogWindow):
	"Connection dialog window for RabbitTransfer"
	def __init__(self, parent):
		FrameWork.DialogWindow.__init__(self, parent)
		self.parent = parent
  
	def open(self, id):
		self.id=id
		dlg = Dlg.GetNewDialog(id, -1)
		FrameWork.DialogWindow.open(self,ID_CONNECTION)
		self.dlg.SetDialogDefaultItem(ITEM_CONNECT)
		
	def do_itemhit(self, item, event):
		if item==ITEM_CONNECT:
			self.close()
			self.onConnect()
			
	def onConnect(self):
		tp, h, rect=self.dlg.GetDialogItem(ITEM_SERVER)
		"""txt = Dlg.GetDialogItemText(h)
		print txt

		tp, h, rect = self.dlg.GetDialogItem(ITEM_USERNAME)
		txt = Dlg.GetDialogItemText(h)
		print txt
        
		tp, h, rect = self.dlg.GetDialogItem(ITEM_PASSWD)
		txt = Dlg.GetDialogItemText(h)
 		print txt"""
		
	def do_close(self):
		self.close()
		
                        
main()

--------------050400010406020006020105--