martiLQ/source/python/client/mutility.py

52 lines
1.4 KiB
Python

import os
import requests
import ftplib
from genericpath import getsize
from mlogging import mLogging
from mconfiguration import mConfiguration
class mUtility:
_oConfiguration = None
_Log = None
def __init__(self):
self._LogOpen = False
self._oConfiguration = mConfiguration()
self._Log = mLogging()
self._Log.SetConfig(self._oConfiguration.GetConfig("logPath"), self._oConfiguration.GetSoftwareName())
def SetConfig(self, Configuration):
self._oConfiguration = Configuration
self._Log.SetConfig(self._oConfiguration.GetConfig("logPath"), self._oConfiguration.GetSoftwareName())
def MakeLocalTempFile(UrlPath, Configuration):
# Create temporary file on disk for cases
# where file size, hashing and encryption are required
# This is useful for (1) CKAN file fetch
parts = UrlPath.split("/")
doc_name = parts[len(parts)-1]
if Configuration is None:
Configuration = mConfiguration()
temp_dir = Configuration.GetConfig("tempPath")
if not os.path.isdir(temp_dir):
_log = mLogging()
_log.SetConfig(Configuration.GetConfig("logPath"), Configuration.GetSoftwareName())
os.makedirs(temp_dir)
_log.WriteLog("Created temp folder : {}".format(temp_dir))
return os.path.join(temp_dir, doc_name)