Untitled
unknown
plain_text
2 years ago
3.3 kB
9
Indexable
import os
import requests
from django.conf import settings
from requests import ConnectionError
from flowbot.tasks import import_zoebi06_file
from global_settings.constants import ZBI06_NOTIFICATION_LIST
from lib.utils import get_file_from_response
def download_xlsxfile(buffer=None, path=None, endpoint=None):
if not buffer and not path:
return None
if buffer:
try:
buffer.seek(0)
except AttributeError:
return None
file = buffer
else:
if not os.path.exists(path):
return None
file = open(path, 'rb')
proxies = {
'http': None,
'https': None
}
try:
if endpoint:
if endpoint == settings.XLS2XLSX_SAP_URL:
print 'settings.XLS_FILE: ', settings.XLS_FILE
file_name = settings.XLS_FILE
else:
print 'settings.MHTML_FILE: ', settings.MHTML_FILE
file_name = settings.MHTML_FILE
print 'endpoint: ', endpoint
print 'proxies: ', proxies
print 'file_name: ', file_name
print 'file ', file
response = requests.post(
endpoint,
proxies=proxies,
files={'file': (file_name, file)}
)
else:
response = requests.post(
settings.XLS2XLSX_URL,
proxies=proxies,
files={'file': ('tempfile.xls', file)}
)
except ConnectionError:
return None
if response.status_code != 200:
return None
return get_file_from_response(response)
def process_report_zoebi06(report_id):
import os
from settings import ROOT_PATH
from django.core.files.base import ContentFile
from reports.models import ReportsGeneratedByUser
from global_settings.models import GlobalSettings
email_list = GlobalSettings.get_or_create_instance(name=ZBI06_NOTIFICATION_LIST).get_formatted_value()
report_to_send = ReportsGeneratedByUser.objects.get(id=report_id)
filename = report_to_send.report_file.name.split('/')[1].split('.')[0]
if report_to_send.report_file.name.split('/')[1].split('.')[1] == "MHTML":
path = os.path.join(ROOT_PATH, 'zina_files/' + filename)
print 'report_to_send.report_file.path: ', report_to_send.report_file.path
print 'settings.MHTML2XLSX: ', settings.MHTML2XLSX
print 'endpoint, settings.XLS2XLSX_SAP_URL: ', settings.MHTML2XLSX, settings.XLS2XLSX_SAP_URL
print 'settings.XLS_FILE: ', settings.XLS_FILE
print 'settings.MHTML_FILE: ', settings.MHTML_FILE
file = download_xlsxfile(path=report_to_send.report_file.path, endpoint=settings.MHTML2XLSX)
print 'file: ', file
if file:
content_file = ContentFile(file.read())
report_to_send.report_file.save(filename + '.xlsx', content_file)
report_to_send.save()
report_to_send.notify()
report_to_send.send_email_report_link(email_list=email_list)
import_zoebi06_file(filename + '.xlsx', content_file)
if os.path.exists(path + '.xlsx'):
os.remove(path + '.xlsx')
process_report_zoebi06(2562865)
Editor is loading...
Leave a Comment