def exportPDF(self, doc, path_save, options): """ Export to PDF http://wiki.services.openoffice.org/wiki/API/Tutorials/PDF_export """ close = False if isinstance(doc, str): close = True doc = self.openDoc(doc, (('Hidden', True), )) if path_save: if comun.isdir(path_save): path_save = comun.replace_name_ext(path_save, doc.getURL(), EXT_PDF) else: path_save = comun.replace_ext(doc.getURL(), EXT_PDF) path_save = comun.path_to_url(path_save) try: filter_name = '{}_pdf_Export'.format(self.getTypeDoc(doc)) if options: filter_data = comun.set_properties(options) filter_options = ( ('FilterName', filter_name), ('FilterData', filter_data), ) else: filter_options = (('FilterName', filter_name), ) media_descriptor = comun.set_properties(filter_options) doc.storeToURL(path_save, media_descriptor) except: log.error('PDF', exc_info=True) if close: doc.dispose() if comun.exists(path_save): return comun.path_to_os(path_save) return ''
def exportPDF(self, doc, path_save, options): """ Export to PDF http://wiki.services.openoffice.org/wiki/API/Tutorials/PDF_export """ close = False if isinstance(doc, str): close = True doc = self.openDoc(doc, (('Hidden', True),)) if path_save: if comun.isdir(path_save): path_save = comun.replace_name_ext(path_save, doc.getURL(), EXT_PDF) else: path_save = comun.replace_ext(doc.getURL(), EXT_PDF) path_save = comun.path_to_url(path_save) try: filter_name = '{}_pdf_Export'.format(self.getTypeDoc(doc)) if options: filter_data = comun.set_properties(options) filter_options = ( ('FilterName', filter_name), ('FilterData', filter_data), ) else: filter_options = (('FilterName', filter_name),) media_descriptor = comun.set_properties(filter_options) doc.storeToURL(path_save, media_descriptor) except: log.error('PDF', exc_info=True) if close: doc.dispose() if comun.exists(path_save): return comun.path_to_os(path_save) return ''
def send_mail(server, message): sender = server.User receivers = message.To.split(',') + message.Cc.split( ',') + message.Bcc.split(',') email = MIMEMultipart() email['From'] = sender email['To'] = message.To email['Cc'] = message.Cc email['Subject'] = message.Subject body = message.Body.replace('\\n', '<br />').replace('\n', '<br />') email.attach(MIMEText(body, 'html')) for f in message.Files: path = comun.path_to_os(f) if not comun.exists(path): continue part = MIMEBase('application', 'octet-stream') part.set_payload(open(path, 'rb').read()) encoders.encode_base64(part) part.add_header('Content-Disposition', "attachment; filename={}".format(comun.basename(path))) email.attach(part) try: smtp = smtplib.SMTP(server.Name, server.Port, timeout=TIMEOUT) if server.Ssl: smtp.ehlo() smtp.starttls() smtp.ehlo() log.info('Connect server...') smtp.login(server.User, server.Password) log.info('Send mail...') smtp.sendmail(sender, receivers, email.as_string()) log.info('Log out server...') smtp.quit() if server.PathSave and message.Save: save_message(server.PathSave, email) log.info('Close...') return True except SMTPAuthenticationError as e: err = str(e) if '534' in err and 'gmail' in server.Server: msg = 'Need activate cant access other app in your account GMail' log.debug(msg) return False elif '535' in err: msg = 'User or password are invalid' log.debug(msg) return False except SMTPException as e: log.debug(e) return False except Exception as e: log.debug(e) return False
def send_mail(server, message): sender = server.User receivers = message.To.split(',') + message.Cc.split(',') + message.Bcc.split(',') email = MIMEMultipart() email['From'] = sender email['To'] = message.To email['Cc'] = message.Cc email['Subject'] = message.Subject body = message.Body.replace('\\n', '<br />').replace('\n', '<br />') email.attach(MIMEText(body, 'html')) for f in message.Files: path = comun.path_to_os(f) if not comun.exists(path): continue part = MIMEBase('application', 'octet-stream') part.set_payload(open(path, 'rb').read()) encoders.encode_base64(part) part.add_header( 'Content-Disposition', "attachment; filename={}".format(comun.basename(path))) email.attach(part) try: smtp = smtplib.SMTP(server.Name, server.Port, timeout=TIMEOUT) if server.Ssl: smtp.ehlo() smtp.starttls() smtp.ehlo() log.info('Connect server...') smtp.login(server.User, server.Password) log.info('Send mail...') smtp.sendmail(sender, receivers, email.as_string()) log.info('Log out server...') smtp.quit() if server.PathSave and message.Save: save_message(server.PathSave, email) log.info('Close...') return True except SMTPAuthenticationError as e: err = str(e) if '534' in err and 'gmail' in server.Server: msg = 'Need activate cant access other app in your account GMail' log.debug(msg) return False elif '535' in err: msg = 'User or password are invalid' log.debug(msg) return False except SMTPException as e: log.debug(e) return False except Exception as e: log.debug(e) return False
def createDialog(self, data): """ Create dialog from URL. path in OS or URI Specification vnd.sun.star.script """ dp = self._create_instance('com.sun.star.awt.DialogProvider', True) if isinstance(data, Macro): if not data.Library: data.Library = 'Standard' data.Location = 'application' path = 'vnd.sun.star.script:{}.{}?location={}'.format( data.Library, data.Dialog, data.Location) elif comun.exists(data): path = comun.path_to_url(data) return dp.createDialog(path)