sys.exit(0)
def http_reply_and_exit(data, mime_type='text/html', charset='utf-8'):
+ if data is None: data = ''
# références horaires
current_time = time.time()
mtime = time.gmtime(current_time)
os.umask(0022)
logname = _make_wcs_cache_name(domain, form, 'last-run.log')
- logging.basicConfig(level=logging.DEBUG,
- format='%(asctime)s %(levelname)s %(message)s',
- filename=os.path.join(WCS_CACHE_DIR, logname),
- filemode='w')
+ logger = logging.getLogger('wcs-dynexport')
+ logger.setLevel(logging.DEBUG)
+ log_formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
+ log_handler = logging.FileHandler(os.path.join(WCS_CACHE_DIR, logname))
+ log_handler.setLevel(logging.DEBUG)
+ log_handler.setFormatter(log_formatter)
+ logger.addHandler(log_handler)
- logging.info('Début.')
+ logger.info('Début.')
+ log_handler.flush()
set_wcs_publisher(domain)
from wcs.formdef import FormDef
liste_attachements = {}
for object in formdef.data_class().select():
if object.user is None:
- logging.warning("Dossier '%s' sans utilisateur associé ?!?"\
+ logger.warning("Dossier '%s' sans utilisateur associé ?!?"\
" On ignore...", object.id)
continue
m = magicmime.file(p).split()[0].strip(';')
extension = mimetypes.guess_extension(m)
except:
- logging.warning("Type de fichier inconnu pour '%s'.", p)
+ logger.warning("Type de fichier inconnu pour '%s'.", p)
extension = None
if extension is not None:
extension = extension[1:]
result[field_name] = "%s.%s" % (field_name, extension)
qfiles[field_name] = data.qfilename
else:
- logging.warning("Type de champ inconnu '%s' pour '%s' (%s).",
+ logger.warning("Type de champ inconnu '%s' pour '%s' (%s).",
field.__class__.__name__, field_name, field.label)
num_dossier = result['num_dossier']
data = json.dumps(result, ensure_ascii=False).encode('utf-8')
set_wcs_cache(domain, form, 'data_%s.json' % filename, data)
- logging.info("Dossier '%s' : %s.",
+ logger.info("Dossier '%s' : %s.",
filename, result['wcs_workflow_status'])
data = json.dumps(liste_attachements, ensure_ascii=False).encode('utf-8')
set_wcs_cache(domain, form, 'liste-dossiers.json', data)
metadata.update({'dossiers': liste_dossiers})
- logging.info('Fin.')
+ logger.info('Fin.')
+ log_handler.flush()
data = json.dumps(metadata, ensure_ascii=False).encode('utf-8')
set_wcs_cache(domain, form, 'metadata.json', data)
# try:
# extract_data(formdef, OUTPUT_DIRECTORY)
# except:
-# logging.exception("Interruption du traitement pour cause d'erreur !")
+# logger.exception("Interruption du traitement pour cause d'erreur !")
#--------------------------------------------------------------------------
# gestion des requêtes web