Skip to content

Commit dbb3715

Browse files
committed
new version 1.2.1
1 parent 2452cbd commit dbb3715

File tree

6 files changed

+85
-69
lines changed

6 files changed

+85
-69
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,7 @@ ___
407407

408408
### What has been done for version 1.2.1:
409409

410+
- Fixed a regression allowing errors to be displayed in the Spooler.
410411
- Integration of a fix to workaround the [issue #159988][91].
411412

412413
### What remains to be done for version 1.2.1:

README_fr.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,7 @@ ___
407407

408408
### Ce qui a été fait pour la version 1.2.1:
409409

410+
- Correction d'une régression permettant l'affichage des erreurs dans le Spooler.
410411
- Intégration d'un correctif pour contourner le [dysfonctionnement #159988][91].
411412

412413
### Que reste-t-il à faire pour la version 1.2.1:

source/eMailerOOo/resource/eMailer_en_US.properties

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -135,23 +135,16 @@
135135
1011=Start sending {} emails...
136136
1012=Sending {} out of {} email(s)
137137
1013=No email to send...
138-
1014=MailSpooler is closed
138+
1014=MailSpooler disposed
139139
1015=MailSpooler has been stopped
140140

141141
1020=Spooler._sendMails()
142142
1021=Start sending email N\u00ba: {}
143143
1022=Sending email N\u00ba: {} aborted!!!
144144
1023=Error: While sending the email N\u00ba: {} the error: {} occurred with message: {}
145-
1024=Error: While sending the email N\u00ba: {} the error: {} occurred with message: {} and trace:\n{}
145+
1024=Error: While sending the email N\u00ba: {} the error: {} occurred with trace:\n{}
146146
1025=End sending email N\u00ba: {}
147147

148-
1030=Spooler._getThreadMessage()
149-
1031={} - Document merge N\u00ba: {} of: {}
150-
1032=Subject
151-
1033=Document
152-
1034=Attachments
153-
1035=Any
154-
155148
1040=Spooler._getMailServer()
156149
1041=Email N\u00ba: {} cannot be send, Unable to connect with account: {} to server {} - Error: {}
157150

@@ -162,19 +155,34 @@
162155
1054=Error: While composing the email N\u00ba: {} the error occurred: {} with trace:\n{}
163156
1055=End composing the email N\u00ba: {}
164157

165-
1500=Mailer._getDescriptors()
166-
1501=Could not load data source: <{}> it does not exist!!!
167-
1502=Could not load data source, file: <{}> is not an odb file!!!
168-
1503=Could not load data source, file: <{}> does not exist!!!
169-
1504=Could not load data source: <{}>, the table: <{}> does not exist!!!
158+
1500=Mailer.__init__()
159+
1501=Mailer helper initialized.
170160

171161
1510=Mailer._initMailer()
172162
1511=Error: While composing the email N\u00ba: {}, the Document: {} dont exist...
173-
1512=Error: While composing the email N\u00ba: {}, the IspDB Wizard for: {} has been canceled...
174163

175164
1520=Mailer._getMailAttachmentUrl()
176165
1521=Error: While composing the email N\u00ba: {}, the attachment: {} dont exist...
177166

167+
1530=Mailer._getDescriptors()
168+
1531=Could not load data source: <{}> it does not exist!!!
169+
1532=Could not load data source, file: <{}> is not an odb file!!!
170+
1533=Could not load data source, file: <{}> does not exist!!!
171+
1534=Could not load data source: <{}>, the table: <{}> does not exist!!!
172+
173+
1540=Mailer._getMailUser()
174+
1541=Error: While composing the email N\u00ba: {}, the IspDB Wizard for sender: {} has been canceled...
175+
176+
1550=Mailer._getThreadMessage()
177+
1551={} - Document merge N\u00ba: {} of: {}
178+
1552=Subject
179+
1553=Document
180+
1554=Attachments
181+
1555=Any
182+
183+
1560=Mailer.dispose()
184+
1561=Mailer helper disposed.
185+
178186
2000=MailMessage._getMessage()
179187
2001=Unable to compose body of email: {}, body does not include a data flavor...
180188
2002=Unable to attach file: {} to email: {}, attachment does not include a ReadableName...

source/eMailerOOo/resource/eMailer_fr_FR.properties

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -135,23 +135,16 @@
135135
1011=Debut d'envoi de {} courriel(s)...
136136
1012=Envoi de {} courriel(s) sur {}
137137
1013=Aucun courriel \u00e0 envoyer...
138-
1014=MailSpooler c'est ferm\u00e9
138+
1014=Arrêt du MailSpooler
139139
1015=MailSpooler a \u00e9t\u00e9 arret\u00e9
140140

141141
1020=Spooler._sendMails()
142142
1021=Debut d'envoi du courriel N\u00ba: {}
143143
1022=L'envoi du courriel N\u00ba: {} a \u00e9t\u00e9 annul\u00e9!!!
144144
1023=Erreur: Lors de l'envoi du courriel N\u00ba: {} l'erreur: {} a renvoy\u00e9 le message: {}
145-
1024=Erreur: Lors de l'envoi du courriel N\u00ba: {} l'erreur: {} a renvoy\u00e9 le message: {} avec la trace:\n{}
145+
1024=Erreur: Lors de l'envoi du courriel N\u00ba: {} l'erreur: {} a renvoy\u00e9 la trace:\n{}
146146
1025=Fin d'envoi du courriel N\u00ba: {}
147147
148-
1030=Spooler._getThreadMessage()
149-
1031={} - Publipostage N\u00ba: {} de: {}
150-
1032=Objet
151-
1033=Document
152-
1034=Fichiers joints
153-
1035=Aucun
154-
155148
1040=Spooler._getMailServer()
156149
1041=Le courriel N\u00ba: {} ne peut \u00eatre envoy\u00e9, Impossible de se connecter avec le compte: {} au serveur {} - Erreur: {}
157150
@@ -162,19 +155,34 @@
162155
1054=Erreur: Lors de la r\u00e9daction du courriel N\u00ba: {} il s'est produit l'erreur: {} avec la trace:\n{}
163156
1055=Fin de la r\u00e9daction du courriel N\u00ba: {}
164157

165-
1500=Mailer._getDescriptors()
166-
1501=Impossible de charger la source de donn\u00e9es: <{}> elle n'existe pas!!!
167-
1502=Impossible de charger la source de donn\u00e9es, le fichier: <{}> n'est pas un fichier odb!!!
168-
1503=Impossible de charger la source de donn\u00e9es, le fichier: <{}> n'existe pas!!!
169-
1503=Impossible de charger la source de donn\u00e9es: <{}> la table: <{}> n'existe pas!!!
158+
1500=Mailer.__init__()
159+
1501=Initialisation du Mailer.
170160

171161
1510=Mailer._initMailer()
172162
1511=Erreur: Lors de la r\u00e9daction du courriel N\u00ba: {}, le Document: {} n'existe pas...
173-
1512=Erreur: Lors de la r\u00e9daction du courriel N\u00ba: {}, l'assistant de connexion IspDB pour l'exp\u00e9diteur: {} a \u00e9t\u00e9 annul\u00e9...
174163
175164
1520=Mailer._getMailAttachmentUrl()
176165
1521=Erreur: Lors de la r\u00e9daction du courriel N\u00ba: {}, le fichier joint: {} n'existe pas...
177166

167+
1530=Mailer._getDescriptors()
168+
1531=Impossible de charger la source de donn\u00e9es: <{}> elle n'existe pas!!!
169+
1532=Impossible de charger la source de donn\u00e9es, le fichier: <{}> n'est pas un fichier odb!!!
170+
1533=Impossible de charger la source de donn\u00e9es, le fichier: <{}> n'existe pas!!!
171+
1534=Impossible de charger la source de donn\u00e9es: <{}> la table: <{}> n'existe pas!!!
172+
173+
1540=Mailer._getMailUser()
174+
1541=Erreur: Lors de la r\u00e9daction du courriel N\u00ba: {}, l'assistant de connexion IspDB pour l'exp\u00e9diteur: {} a \u00e9t\u00e9 annul\u00e9...
175+
176+
1550=Mailer._getThreadMessage()
177+
1551={} - Publipostage N\u00ba: {} de: {}
178+
1552=Objet
179+
1553=Document
180+
1554=Fichiers joints
181+
1555=Aucun
182+
183+
1560=Mailer.dispose()
184+
1561=Arrêt du Mailer.
185+
178186
2000=MailMessage._getMessage()
179187
2001=Impossible de r\u00e9diger le corps du courriel: {}, le corps du message n'inclut pas de type de donn\u00e9es...
180188
2002=Impossible de joindre le fichier: {} au courriel: {}, la pi\u00e8ce jointe n'est pas nomm\u00e9e...

source/eMailerOOo/service/pythonpath/emailer/spooler/mailer.py

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -92,20 +92,15 @@ def __init__(self, ctx, source, database, logger, send=False):
9292
self._replyto = ''
9393
logo = '%s/%s' % (g_extension, g_logo)
9494
self._logo = getResourceLocation(ctx, g_identifier, logo)
95+
self._logger.logprb(INFO, 'Mailer', '__init__()', 1501)
9596

9697
@property
9798
def _merge(self):
9899
return self._metadata.get('Merge')
99100

100101
def dispose(self):
101-
if self._server is not None:
102-
self._server.disconnect()
103-
if self._descriptor is not None:
104-
self._descriptor['ActiveConnection'].close()
105-
if self._url is not None:
106-
self._url.dispose()
107-
for url in self._urls:
108-
url.dispose()
102+
self._dispose()
103+
self._logger.logprb(INFO, 'Mailer', 'dispose()', 1561)
109104

110105
def getMail(self, job):
111106
recipient = self._database.getRecipient(job)
@@ -126,51 +121,62 @@ def sendMail(self, mail):
126121
self._server.sendMailMessage(mail)
127122

128123
# Private Procedures call
124+
def _dispose(self):
125+
if self._server is not None:
126+
self._server.disconnect()
127+
if self._descriptor is not None:
128+
self._descriptor['ActiveConnection'].close()
129+
if self._url is not None:
130+
self._url.dispose()
131+
for url in self._urls:
132+
url.dispose()
133+
129134
def _initMailer(self, job, recipient):
130135
threadid = None
131136
metadata = self._database.getMailer(recipient.BatchId)
132137
merge = metadata.get('Merge')
133-
document = metadata.get('Document')
134-
self._checkUrl(document, job, 1511)
138+
url = metadata.get('Document')
139+
self._checkUrl(url, job, 1511)
140+
self._urls = self._getMailAttachmentUrl(recipient.BatchId, job)
135141
self._rowset, self._descriptor = self._getDescriptors(merge, metadata)
136-
self._url, self._urls = self._getUrls(recipient, job, document, merge)
142+
self._url = self._getMailUrl(recipient, url, merge)
137143
if self._send:
138144
sender = metadata.get('Sender')
139145
user = self._getMailUser(job, sender)
140146
self._server = self._getMailServer(user, SMTP)
141147
if self._needThread(user, merge):
142-
threadid = self._createThread(recipient.BatchId, user, document, sender, metadata)
148+
threadid = self._createThread(recipient.BatchId, user, url, sender, metadata)
143149
self._reply = user.useReplyTo()
144150
self._replyto = user.getReplyToAddress()
145151
self._batch = recipient.BatchId
146152
self._metadata = metadata
147153
self._threadid = threadid
148154

149-
def _createThread(self, batch, user, document, sender, metadata):
155+
def _createThread(self, batch, user, url, sender, metadata):
150156
threadid = None
151157
server = self._getMailServer(user, IMAP)
152158
folder = server.getSentFolder()
153159
if server.hasFolder(folder):
154160
subject = metadata.get('Subject')
155-
message = self._getThreadMessage(batch, document, subject, metadata.get('Query'))
161+
message = self._getThreadMessage(batch, url, subject, metadata.get('Query'))
156162
body = self._transferable.getByString(message)
157163
mail = getMailMessage(self._ctx, sender, sender, subject, body)
158164
server.uploadMessage(folder, mail)
159165
threadid = mail.MessageId
160166
server.disconnect()
161167
return threadid
162168

163-
def _getThreadMessage(self, batch, document, subject, query):
164-
title = self._logger.resolveString(1031, g_extension, batch, query)
165-
message = self._logger.resolveString(1032)
166-
label = self._logger.resolveString(1033)
167-
files = self._logger.resolveString(1034)
169+
def _getThreadMessage(self, batch, url, subject, query):
170+
title = self._logger.resolveString(1551, g_extension, batch, query)
171+
message = self._logger.resolveString(1552)
172+
label = self._logger.resolveString(1553)
173+
files = self._logger.resolveString(1554)
168174
if self._hasAttachments():
169175
tag = '<a href="%s">%s</a>'
170176
separator = '</li><li>'
171177
attachments = '<ol><li>%s</li></ol>' % self._getAttachments(tag, separator)
172178
else:
173-
attachments = '<p>%s</p>' % self._logger.resolveString(1035)
179+
attachments = '<p>%s</p>' % self._logger.resolveString(1555)
174180
logo = getMessageImage(self._ctx, self._logo)
175181
return '''\
176182
<!DOCTYPE html>
@@ -189,13 +195,13 @@ def _getThreadMessage(self, batch, document, subject, query):
189195
</body>
190196
</html>
191197
''' % (g_extension, logo, g_logourl, title, message, subject,
192-
label, document, self._getDocumentTitle(),
198+
label, url, self._getDocumentTitle(),
193199
files, attachments)
194200

195201
def _getMailUser(self, job, sender):
196202
user = getMailUser(self._ctx, sender)
197203
if user is None:
198-
msg = self._getErrorMessage(1512, job, sender)
204+
msg = self._getErrorMessage(1541, job, sender)
199205
raise MailSpoolerException(msg, self._source, ())
200206
return user
201207

@@ -209,7 +215,7 @@ def _getMailServer(self, user, mailtype):
209215
def _isNewBatch(self, batch):
210216
new = self._batch != batch
211217
if new:
212-
self.dispose()
218+
self._dispose()
213219
return new
214220

215221
def _needThread(self, user, merge):
@@ -273,12 +279,12 @@ def _getDescriptors(self, merge, metadata):
273279
descriptor = None
274280
if merge:
275281
name = metadata.get('DataSource')
276-
dbcontext, location = getDataBaseContext(self._ctx, self._source, name, self._getErrorMessage, 1501)
282+
dbcontext, location = getDataBaseContext(self._ctx, self._source, name, self._getErrorMessage, 1531)
277283
datasource = dbcontext.getByName(name)
278284
connection = self._getDataSourceConnection(datasource)
279285
table = metadata.get('Table')
280286
if not connection.getTables().hasByName(table):
281-
msg = self._getErrorMessage(1504, name, table)
287+
msg = self._getErrorMessage(1534, name, table)
282288
raise MailSpoolerException(msg, self._source, ())
283289
rowset = self._getRowSet(connection, name, table)
284290
descriptor = {'DataSourceName': name,
@@ -307,12 +313,10 @@ def _getRowSet(self, connection, name, table):
307313
rowset.Command = table
308314
return rowset
309315

310-
def _getUrls(self, recipient, job, document, merge):
311-
uri = self._uf.parse(document)
316+
def _getMailUrl(self, recipient, url, merge):
317+
uri = self._uf.parse(url)
312318
descriptor = self._getFilteredDescriptor(recipient.Filter, merge)
313-
url = MailUrl(self._ctx, uri, merge, 'html', descriptor)
314-
urls = self._getMailAttachmentUrl(recipient.BatchId, job)
315-
return url, urls
319+
return MailUrl(self._ctx, uri, merge, 'html', descriptor)
316320

317321
def _getFilteredDescriptor(self, filter, merge=True):
318322
if merge:

source/eMailerOOo/service/pythonpath/emailer/spooler/spooler.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -202,8 +202,8 @@ def _run(self):
202202
self._closed()
203203

204204
def _sendMails(self, jobs):
205-
mailer = Mailer(self._ctx, self._source, self.DataSource.DataBase, self._logger, True)
206205
count = 0
206+
mailer = Mailer(self._ctx, self._source, self.DataSource.DataBase, self._logger, True)
207207
for job in jobs:
208208
self._logger.logprb(INFO, 'MailSpooler', '_sendMails()', 1021, job)
209209
if self._stop.is_set():
@@ -215,17 +215,11 @@ def _sendMails(self, jobs):
215215
self._logger.logprb(INFO, 'MailSpooler', '_sendMails()', 1022, job)
216216
break
217217
mailer.sendMail(mail)
218-
except MailBaseException as e:
219-
self._error(e)
220-
self._logger.logprb(SEVERE, 'MailSpooler', '_sendMails()', 1023, job, type(e).__name__, e.Message)
221-
continue
222218
except UnoException as e:
223-
self._error(MailBaseException(e.Message, e.Context, ()))
224-
self._logger.logprb(SEVERE, 'MailSpooler', '_sendMails()', 1023, job, type(e).__name__, e.Message)
219+
self._logger.logprb(SEVERE, 'MailSpooler', '_sendMails()', 1023, job, e.__class__.__name__, e.Message)
225220
continue
226221
except Exception as e:
227-
self._error(MailBaseException(str(e), self._source, ()))
228-
self._logger.logprb(SEVERE, 'MailSpooler', '_sendMails()', 1024, job, type(e).__name__, repr(e), traceback.format_exc())
222+
self._logger.logprb(SEVERE, 'MailSpooler', '_sendMails()', 1024, job, e.__class__.__name__, traceback.format_exc())
229223
continue
230224
self.DataSource.DataBase.updateRecipient(1, mail.MessageId, job)
231225
self._logger.logprb(INFO, 'MailSpooler', '_sendMails()', 1025, job)

0 commit comments

Comments
 (0)