Skip to content

Commit 715d953

Browse files
committed
Add exception handling, fix typo.
1 parent 450d75d commit 715d953

File tree

3 files changed

+34
-24
lines changed

3 files changed

+34
-24
lines changed

informer.py

+9-8
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020

2121
class QtInformer(QtGui.QWidget):
22-
2322
""" Main Informer Window. """
2423

2524
def __init__(self, THREAD_PARSER, POP_PARSER):
@@ -32,18 +31,19 @@ def initUI(self):
3231
self.setGeometry(1000, 200, 350, 550)
3332
self.setWindowTitle("Informer's main window")
3433
self.setWindowIcon(QtGui.QIcon(path.dirname(path.realpath(__file__)) +
35-
'/call.png'))
34+
'/call.png'))
3635
self.btn = QtGui.QPushButton('Check mail', self)
3736
self.connect(self.btn, QtCore.SIGNAL("clicked()"), self.clicked)
3837
self.btn.setToolTip('Click for check you mail.')
3938
self.show()
4039

4140
def closeEvent(self, event):
4241
reply = QtGui.QMessageBox.question(self, 'Message',
43-
"Close telnet session?\n" + str(self.THREAD_PARSER.contacts_book),
44-
QtGui.QMessageBox.Yes |
45-
QtGui.QMessageBox.No,
46-
QtGui.QMessageBox.No)
42+
"Close telnet session?\n" +
43+
str(self.THREAD_PARSER.contacts_book),
44+
QtGui.QMessageBox.Yes |
45+
QtGui.QMessageBox.No,
46+
QtGui.QMessageBox.No)
4747

4848
if reply == QtGui.QMessageBox.Yes:
4949
self.THREAD_PARSER._stop()
@@ -54,10 +54,10 @@ def closeEvent(self, event):
5454

5555
def clicked(self):
5656
mails = self.POP_PARSER.pop3_parser()
57-
for i,j in enumerate(mails):
57+
for i, j in enumerate(mails):
5858
self.label = QtGui.QLabel(j[:-1], self)
5959
self.label.setMinimumWidth(200)
60-
self.label.move(20, 30+i*25)
60+
self.label.move(20, 30 + i * 25)
6161
self.label.show()
6262

6363

@@ -70,6 +70,7 @@ def qtWindow(THREAD_PARSER, POP_PARSER):
7070
TELNET_PARSER = TelnetParser()
7171
POP_PARSER = PopParser()
7272

73+
7374
def main():
7475
"""
7576
Starting window and parsing process.

log/readme

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
Log format exapmle
1+
Log format example
22
----------
33
2013-02-06-13:07: Incoming call from 0999999999 13-02-06 13:00 John Doe

parser/parsers.py

+24-15
Original file line numberDiff line numberDiff line change
@@ -151,10 +151,13 @@ def parser(self):
151151
class PopParser(CommonParser):
152152
def __init__(self):
153153
super().__init__()
154+
PATH = path.dirname(path.realpath(__file__)) + '/../log/' + \
155+
"{:%d.%m.%Y}".format(datetime.now())
154156
self.pop3_ip = super().config.get('options', 'pop3_ip')
155157
self.pop3_user = super().config.get('options', 'user')
156158
self.pop3_pass = super().config.get('options', 'pass')
157159
self.pop3_timeout = super().config.get('options', 'timeout')
160+
self.FILE_ERR = PATH + '-pop.err'
158161

159162
def pop3_parser(self):
160163
"""
@@ -163,22 +166,28 @@ def pop3_parser(self):
163166
:rtype : str
164167
:return: mails
165168
"""
166-
pop = POP3(self.pop3_ip)
167-
pop.user(self.pop3_user)
168-
pop.pass_(self.pop3_pass)
169169
mails = []
170-
171-
if pop.stat()[0] > 0:
172-
numMessages = len(pop.list()[1])
173-
result = ''
174-
for i in range(numMessages):
175-
tmp = str(i + 1) + ' From: ' + pop.retr(i + 1)[1][0].decode('UTF-8').split(':')[1].lstrip()[1:-1] + '\n'
176-
result += tmp
177-
mails.append(tmp)
178-
view_notify(result)
179-
180-
pop.quit()
181-
return mails
170+
try:
171+
pop = POP3(self.pop3_ip)
172+
except Exception as e:
173+
self.write_log(self.FILE_ERR, 'Connection to server is not available: ', e)
174+
else:
175+
pop.user(self.pop3_user)
176+
pop.pass_(self.pop3_pass)
177+
178+
if pop.stat()[0] > 0:
179+
numMessages = len(pop.list()[1])
180+
result = ''
181+
for i in range(numMessages):
182+
tmp = str(i + 1) + ' From: ' + pop.retr(i + 1)[1][0].\
183+
decode('UTF-8').split(':')[1].lstrip()[1:-1] + '\n'
184+
result += tmp
185+
mails.append(tmp)
186+
view_notify(result)
187+
188+
pop.quit()
189+
finally:
190+
return mails
182191

183192
def parser(self):
184193
self.pop3_parser()

0 commit comments

Comments
 (0)