#! /usr/bin/env python import cherrypy, tempfile, shutil, os import crans.impression import crans.impression.digicode FILE_UPLOAD_BASE_FOLDER = cherrypy.config.get('fileUpload.folder', "/var/impression/fichiers/") class FileError(Exception): pass class root: ########################## # affichage ########################## # # methode qui affiche la template # def index(self, submit = None, fileList = None, newFile = None ): return {'template':'digicode', 'values':{}, 'stylesheets':['digicode.css'], 'scripts':['digicode.js', 'popup.js'], } index.exposed = True ########################## # AJAX ########################## # # methode qui renvoie la liste des codes # def codeList(self): try: listeBrute = crans.impression.digicode.list_code() liste_formatee = [] for aCode in listeBrute: age = aCode[1] age_jours = (age/3600)/24 age_heures = (age/3600) - age_jours*24 age_minutes = (age/60) - (age/3600)*60 if age_jours > 0: age_string = "%sj %sh %smin" % (str(age_jours), str(age_heures), str( age_minutes )) elif age_heures > 0: age_string = "%sh %smin" % (str(age_heures), str( age_minutes )) else: age_string = "%smin" % (str( age_minutes )) liste_formatee.append({'code':aCode[0], 'age':age_string, 'desc':aCode[2]}) return {'codes': liste_formatee} except Exception, e: return {'erreur':str(e)} codeList.exposed= True # # methode qui cree un code # def createCode(self, code=None): try: if code: try: int(code) if code.__len__() != 6: raise except: return {'formatErreur':1} code = crans.impression.digicode.save_code(code, "Intranet (digicode)") else: code = crans.impression.digicode.gen_code("Intranet (digicode)") return {'code': code, "age" : "new", "desc":"Intranet (digicode)"} except Exception, e: return {'erreur':str(e)} createCode.exposed= True