[Python编程(第4版)].(Programming.Python.4th.Edition).Mark.Lutz.文字版

(yzsuai) #1

elif maintype == 'text':
if self.askOpen(appname, 'Open text part "%s"?' % basename):
try:
encoding = textPartEncoding(fullfilename)
textEditor.TextEditorMainPopup(parent=self,
winTitle=' - %s email part' % (encoding or '?'),
loadFirst=fullfilename, loadEncode=encoding)
except:
showerror(appname, 'Error opening text viewer')


multimedia types: Windows opens mediaplayer, imageviewer, etc.


elif maintype in ['image', 'audio', 'video']:
if self.askOpen(appname, 'Open media part "%s"?' % basename):
try:
webbrowser.open_new('file://' + fullfilename)
except:
showerror(appname, 'Error opening browser')


common Windows documents: Word, Excel, Adobe, archives, etc.


elif (sys.platform[:3] == 'win' and
maintype == 'application' and # 3.0: +x types
extension in ['.doc', '.docx', '.xls', '.xlsx', # generalize me
'.pdf', '.zip', '.tar', '.wmv']):
if self.askOpen(appname, 'Open part "%s"?' % basename):
os.startfile(fullfilename)


else: # punt!
msg = 'Cannot open part: "%s"\nOpen manually in: "%s"'
msg = msg % (basename, os.path.dirname(fullfilename))
showinfo(appname, msg)


###############################################################################


message edit windows - write, reply, forward


###############################################################################


if mailconfig.smtpuser: # user set in mailconfig?
MailSenderClass = mailtools.MailSenderAuth # login/password required
else:
MailSenderClass = mailtools.MailSender


class WriteWindow(ViewWindow, MailSenderClass):
"""
customize view display for composing new mail
inherits sendMessage from mailtools.MailSender
"""
modelabel = 'Write'


def init(self, headermap, starttext):
ViewWindow.init(self, headermap, starttext)
MailSenderClass.init(self)
self.attaches = [] # each win has own open dialog
self.openDialog = None # dialog remembers last dir


PyMailGUI Implementation| 1091
Free download pdf