UI/EmailDialog.py

changeset 1112
8a7d1b9d18db
parent 1027
75707baf9551
child 1131
7781e396c903
equal deleted inserted replaced
1109:9552b5e16a07 1112:8a7d1b9d18db
10 import os 10 import os
11 import mimetypes 11 import mimetypes
12 import smtplib 12 import smtplib
13 import socket 13 import socket
14 14
15 from PyQt4.QtCore import * 15 from PyQt4.QtCore import Qt, pyqtSlot
16 from PyQt4.QtGui import * 16 from PyQt4.QtGui import QCursor, QHeaderView, QLineEdit, QDialog, QInputDialog, \
17 QApplication, QDialogButtonBox, QTreeWidgetItem
17 18
18 from E5Gui import E5MessageBox, E5FileDialog 19 from E5Gui import E5MessageBox, E5FileDialog
19 20
20 from .Ui_EmailDialog import Ui_EmailDialog 21 from .Ui_EmailDialog import Ui_EmailDialog
21 22
22 from .Info import BugAddress, FeatureAddress 23 from .Info import BugAddress, FeatureAddress
23 import Preferences 24 import Preferences
24 import Utilities 25 import Utilities
26 from base64 import b64encode as _bencode
27
28 from email import encoders
29 from email.mime.text import MIMEText
30 from email.mime.image import MIMEImage
31 from email.mime.audio import MIMEAudio
32 from email.mime.application import MIMEApplication
33 from email.mime.multipart import MIMEMultipart
34 from email.header import Header
35
25 36
26 ############################################################ 37 ############################################################
27 ## This code is to work around a bug in the Python email ## 38 ## This code is to work around a bug in the Python email ##
28 ## package for Image and Audio mime messages. ## 39 ## package for Image and Audio mime messages. ##
29 ############################################################ 40 ############################################################
30 from base64 import b64encode as _bencode
31 41
32 42
33 def _encode_base64(msg): 43 def _encode_base64(msg):
34 """ 44 """
35 Function to encode the message's payload in Base64. 45 Function to encode the message's payload in Base64.
41 orig = msg.get_payload() 51 orig = msg.get_payload()
42 encdata = str(_bencode(orig), "ASCII") 52 encdata = str(_bencode(orig), "ASCII")
43 msg.set_payload(encdata) 53 msg.set_payload(encdata)
44 msg['Content-Transfer-Encoding'] = 'base64' 54 msg['Content-Transfer-Encoding'] = 'base64'
45 55
46 from email import encoders
47 encoders.encode_base64 = _encode_base64 # WORK AROUND: implement our corrected encoder 56 encoders.encode_base64 = _encode_base64 # WORK AROUND: implement our corrected encoder
48 from email.mime.text import MIMEText
49 from email.mime.image import MIMEImage
50 from email.mime.audio import MIMEAudio
51 from email.mime.application import MIMEApplication
52 from email.mime.multipart import MIMEMultipart
53 from email.header import Header
54 57
55 58
56 class EmailDialog(QDialog, Ui_EmailDialog): 59 class EmailDialog(QDialog, Ui_EmailDialog):
57 """ 60 """
58 Class implementing a dialog to send bug reports. 61 Class implementing a dialog to send bug reports.

eric ide

mercurial