nouveau fichier: Doxyfile

nouveau fichier: doc/html/annotated.html
 	nouveau fichier: doc/html/annotated.js
 	nouveau fichier: doc/html/bc_s.png
 	nouveau fichier: doc/html/bdwn.png
 	nouveau fichier: doc/html/classes.html
 	nouveau fichier: doc/html/classm_1_1load_conf_1_1_config_error-members.html
 	nouveau fichier: doc/html/classm_1_1load_conf_1_1_config_error.html
 	nouveau fichier: doc/html/classm_1_1load_conf_1_1_config_error.js
 	nouveau fichier: doc/html/classm_1_1load_conf_1_1_config_error.png
 	nouveau fichier: doc/html/classm_1_1load_conf_1_1_load_conf-members.html
 	nouveau fichier: doc/html/classm_1_1load_conf_1_1_load_conf.html
 	nouveau fichier: doc/html/classm_1_1load_conf_1_1_load_conf.js
 	nouveau fichier: doc/html/classm_1_1load_conf_1_1_load_conf.png
 	nouveau fichier: doc/html/classm_1_1log_1_1_log-members.html
 	nouveau fichier: doc/html/classm_1_1log_1_1_log.html
 	nouveau fichier: doc/html/classm_1_1log_1_1_log.js
 	nouveau fichier: doc/html/classm_1_1log_1_1_log.png
 	nouveau fichier: doc/html/classm_1_1log_1_1_single_level_filter-members.html
 	nouveau fichier: doc/html/classm_1_1log_1_1_single_level_filter.html
 	nouveau fichier: doc/html/classm_1_1log_1_1_single_level_filter.js
 	nouveau fichier: doc/html/classm_1_1log_1_1_single_level_filter.png
 	nouveau fichier: doc/html/classm_1_1log_1_1bcolors-members.html
 	nouveau fichier: doc/html/classm_1_1log_1_1bcolors.html
 	nouveau fichier: doc/html/classm_1_1log_1_1lvl-members.html
 	nouveau fichier: doc/html/classm_1_1log_1_1lvl.html
 	nouveau fichier: doc/html/classm_1_1login_1_1_login-members.html
 	nouveau fichier: doc/html/classm_1_1login_1_1_login.html
 	nouveau fichier: doc/html/classm_1_1login_1_1_login.js
 	nouveau fichier: doc/html/classm_1_1login_1_1_login.png
 	nouveau fichier: doc/html/classsuper_tornado_1_1_base_handler-members.html
 	nouveau fichier: doc/html/classsuper_tornado_1_1_base_handler.html
 	nouveau fichier: doc/html/classsuper_tornado_1_1_base_handler.js
 	nouveau fichier: doc/html/classsuper_tornado_1_1_base_handler.png
 	nouveau fichier: doc/html/classsuper_tornado_1_1_disconnection_handler-members.html
 	nouveau fichier: doc/html/classsuper_tornado_1_1_disconnection_handler.html
 	nouveau fichier: doc/html/classsuper_tornado_1_1_disconnection_handler.js
 	nouveau fichier: doc/html/classsuper_tornado_1_1_disconnection_handler.png
 	nouveau fichier: doc/html/classsuper_tornado_1_1_global_vars-members.html
 	nouveau fichier: doc/html/classsuper_tornado_1_1_global_vars.html
 	nouveau fichier: doc/html/classsuper_tornado_1_1_main_handler-members.html
 	nouveau fichier: doc/html/classsuper_tornado_1_1_main_handler.html
 	nouveau fichier: doc/html/classsuper_tornado_1_1_main_handler.js
 	nouveau fichier: doc/html/classsuper_tornado_1_1_main_handler.png
 	nouveau fichier: doc/html/classsuper_tornado_1_1_unauthorized_handler-members.html
 	nouveau fichier: doc/html/classsuper_tornado_1_1_unauthorized_handler.html
 	nouveau fichier: doc/html/classsuper_tornado_1_1_unauthorized_handler.js
 	nouveau fichier: doc/html/classsuper_tornado_1_1_unauthorized_handler.png
 	nouveau fichier: doc/html/classsuper_tornado_1_1_video_handler-members.html
 	nouveau fichier: doc/html/classsuper_tornado_1_1_video_handler.html
 	nouveau fichier: doc/html/classsuper_tornado_1_1_video_handler.js
 	nouveau fichier: doc/html/classsuper_tornado_1_1_video_handler.png
 	nouveau fichier: doc/html/classsuper_tornado_1_1_w_socket_handler-members.html
 	nouveau fichier: doc/html/classsuper_tornado_1_1_w_socket_handler.html
 	nouveau fichier: doc/html/classsuper_tornado_1_1_w_socket_handler.js
 	nouveau fichier: doc/html/classsuper_tornado_1_1_w_socket_handler.png
 	nouveau fichier: doc/html/closed.png
 	nouveau fichier: doc/html/dir_060e062f70a4a7965197b0046a5699c1.html
 	nouveau fichier: doc/html/dir_b9f9e361513c934f24957ae0a3633a41.html
 	nouveau fichier: doc/html/dir_cc95ad066e2e041bbee057a78f4a0df2.html
 	nouveau fichier: doc/html/doxygen.css
 	nouveau fichier: doc/html/doxygen.png
 	nouveau fichier: doc/html/dynsections.js
 	nouveau fichier: doc/html/ftv2blank.png
 	nouveau fichier: doc/html/ftv2cl.png
 	nouveau fichier: doc/html/ftv2doc.png
 	nouveau fichier: doc/html/ftv2folderclosed.png
 	nouveau fichier: doc/html/ftv2folderopen.png
 	nouveau fichier: doc/html/ftv2lastnode.png
 	nouveau fichier: doc/html/ftv2link.png
 	nouveau fichier: doc/html/ftv2mlastnode.png
 	nouveau fichier: doc/html/ftv2mnode.png
 	nouveau fichier: doc/html/ftv2mo.png
 	nouveau fichier: doc/html/ftv2node.png
 	nouveau fichier: doc/html/ftv2ns.png
 	nouveau fichier: doc/html/ftv2plastnode.png
 	nouveau fichier: doc/html/ftv2pnode.png
 	nouveau fichier: doc/html/ftv2splitbar.png
 	nouveau fichier: doc/html/ftv2vertline.png
 	nouveau fichier: doc/html/functions.html
 	nouveau fichier: doc/html/functions_func.html
 	nouveau fichier: doc/html/hierarchy.html
 	nouveau fichier: doc/html/hierarchy.js
 	nouveau fichier: doc/html/index.html
 	nouveau fichier: doc/html/jquery.js
 	nouveau fichier: doc/html/link lol.gif
 	nouveau fichier: doc/html/md__r_e_a_d_m_e.html
 	nouveau fichier: doc/html/namespaces.html
 	nouveau fichier: doc/html/namespaces.js
 	nouveau fichier: doc/html/namespacesuper_tornado.html
 	nouveau fichier: doc/html/namespacesuper_tornado.js
 	nouveau fichier: doc/html/nav_f.png
 	nouveau fichier: doc/html/nav_g.png
 	nouveau fichier: doc/html/nav_h.png
 	nouveau fichier: doc/html/navtree.css
 	nouveau fichier: doc/html/navtree.js
 	nouveau fichier: doc/html/navtreeindex0.js
 	nouveau fichier: doc/html/open.png
 	nouveau fichier: doc/html/pages.html
 	nouveau fichier: doc/html/resize.js
 	nouveau fichier: doc/html/search/all_0.html
 	nouveau fichier: doc/html/search/all_0.js
 	nouveau fichier: doc/html/search/all_1.html
 	nouveau fichier: doc/html/search/all_1.js
 	nouveau fichier: doc/html/search/all_2.html
 	nouveau fichier: doc/html/search/all_2.js
 	nouveau fichier: doc/html/search/all_3.html
 	nouveau fichier: doc/html/search/all_3.js
 	nouveau fichier: doc/html/search/all_4.html
 	nouveau fichier: doc/html/search/all_4.js
 	nouveau fichier: doc/html/search/all_5.html
 	nouveau fichier: doc/html/search/all_5.js
 	nouveau fichier: doc/html/search/all_6.html
 	nouveau fichier: doc/html/search/all_6.js
 	nouveau fichier: doc/html/search/all_7.html
 	nouveau fichier: doc/html/search/all_7.js
 	nouveau fichier: doc/html/search/all_8.html
 	nouveau fichier: doc/html/search/all_8.js
 	nouveau fichier: doc/html/search/all_9.html
 	nouveau fichier: doc/html/search/all_9.js
 	nouveau fichier: doc/html/search/all_a.html
 	nouveau fichier: doc/html/search/all_a.js
 	nouveau fichier: doc/html/search/all_b.html
 	nouveau fichier: doc/html/search/all_b.js
 	nouveau fichier: doc/html/search/all_c.html
 	nouveau fichier: doc/html/search/all_c.js
 	nouveau fichier: doc/html/search/all_d.html
 	nouveau fichier: doc/html/search/all_d.js
 	nouveau fichier: doc/html/search/classes_0.html
 	nouveau fichier: doc/html/search/classes_0.js
 	nouveau fichier: doc/html/search/classes_1.html
 	nouveau fichier: doc/html/search/classes_1.js
 	nouveau fichier: doc/html/search/classes_2.html
 	nouveau fichier: doc/html/search/classes_2.js
 	nouveau fichier: doc/html/search/classes_3.html
 	nouveau fichier: doc/html/search/classes_3.js
 	nouveau fichier: doc/html/search/classes_4.html
 	nouveau fichier: doc/html/search/classes_4.js
 	nouveau fichier: doc/html/search/classes_5.html
 	nouveau fichier: doc/html/search/classes_5.js
 	nouveau fichier: doc/html/search/classes_6.html
 	nouveau fichier: doc/html/search/classes_6.js
 	nouveau fichier: doc/html/search/classes_7.html
 	nouveau fichier: doc/html/search/classes_7.js
 	nouveau fichier: doc/html/search/classes_8.html
 	nouveau fichier: doc/html/search/classes_8.js
 	nouveau fichier: doc/html/search/classes_9.html
 	nouveau fichier: doc/html/search/classes_9.js
 	nouveau fichier: doc/html/search/close.png
 	nouveau fichier: doc/html/search/functions_0.html
 	nouveau fichier: doc/html/search/functions_0.js
 	nouveau fichier: doc/html/search/functions_1.html
 	nouveau fichier: doc/html/search/functions_1.js
 	nouveau fichier: doc/html/search/functions_2.html
 	nouveau fichier: doc/html/search/functions_2.js
 	nouveau fichier: doc/html/search/functions_3.html
 	nouveau fichier: doc/html/search/functions_3.js
 	nouveau fichier: doc/html/search/functions_4.html
 	nouveau fichier: doc/html/search/functions_4.js
 	nouveau fichier: doc/html/search/functions_5.html
 	nouveau fichier: doc/html/search/functions_5.js
 	nouveau fichier: doc/html/search/functions_6.html
 	nouveau fichier: doc/html/search/functions_6.js
 	nouveau fichier: doc/html/search/functions_7.html
 	nouveau fichier: doc/html/search/functions_7.js
 	nouveau fichier: doc/html/search/mag_sel.png
 	nouveau fichier: doc/html/search/namespaces_0.html
 	nouveau fichier: doc/html/search/namespaces_0.js
 	nouveau fichier: doc/html/search/nomatches.html
 	nouveau fichier: doc/html/search/pages_0.html
 	nouveau fichier: doc/html/search/pages_0.js
 	nouveau fichier: doc/html/search/search.css
 	nouveau fichier: doc/html/search/search.js
 	nouveau fichier: doc/html/search/search_l.png
 	nouveau fichier: doc/html/search/search_m.png
 	nouveau fichier: doc/html/search/search_r.png
 	nouveau fichier: doc/html/sync_off.png
 	nouveau fichier: doc/html/sync_on.png
 	nouveau fichier: doc/html/tab_a.png
 	nouveau fichier: doc/html/tab_b.png
 	nouveau fichier: doc/html/tab_h.png
 	nouveau fichier: doc/html/tab_s.png
 	nouveau fichier: doc/html/tabs.css
 	nouveau fichier: doc/latex/Makefile
 	nouveau fichier: doc/latex/annotated.tex
 	nouveau fichier: doc/latex/classm_1_1load_conf_1_1_config_error.eps
 	nouveau fichier: doc/latex/classm_1_1load_conf_1_1_config_error.pdf
 	nouveau fichier: doc/latex/classm_1_1load_conf_1_1_config_error.tex
 	nouveau fichier: doc/latex/classm_1_1load_conf_1_1_load_conf.eps
 	nouveau fichier: doc/latex/classm_1_1load_conf_1_1_load_conf.pdf
 	nouveau fichier: doc/latex/classm_1_1load_conf_1_1_load_conf.tex
 	nouveau fichier: doc/latex/classm_1_1log_1_1_log.eps
 	nouveau fichier: doc/latex/classm_1_1log_1_1_log.pdf
 	nouveau fichier: doc/latex/classm_1_1log_1_1_log.tex
 	nouveau fichier: doc/latex/classm_1_1log_1_1_single_level_filter.eps
 	nouveau fichier: doc/latex/classm_1_1log_1_1_single_level_filter.pdf
 	nouveau fichier: doc/latex/classm_1_1log_1_1_single_level_filter.tex
 	nouveau fichier: doc/latex/classm_1_1log_1_1bcolors.tex
 	nouveau fichier: doc/latex/classm_1_1log_1_1lvl.tex
 	nouveau fichier: doc/latex/classm_1_1login_1_1_login.eps
 	nouveau fichier: doc/latex/classm_1_1login_1_1_login.pdf
 	nouveau fichier: doc/latex/classm_1_1login_1_1_login.tex
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_base_handler.eps
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_base_handler.pdf
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_base_handler.tex
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_disconnection_handler.eps
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_disconnection_handler.pdf
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_disconnection_handler.tex
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_global_vars.tex
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_main_handler.eps
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_main_handler.pdf
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_main_handler.tex
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_unauthorized_handler.eps
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_unauthorized_handler.pdf
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_unauthorized_handler.tex
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_video_handler.eps
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_video_handler.pdf
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_video_handler.tex
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_w_socket_handler.eps
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_w_socket_handler.pdf
 	nouveau fichier: doc/latex/classsuper_tornado_1_1_w_socket_handler.tex
 	nouveau fichier: doc/latex/dir_060e062f70a4a7965197b0046a5699c1.tex
 	nouveau fichier: doc/latex/dir_b9f9e361513c934f24957ae0a3633a41.tex
 	nouveau fichier: doc/latex/dir_cc95ad066e2e041bbee057a78f4a0df2.tex
 	nouveau fichier: doc/latex/doxygen.sty
 	nouveau fichier: doc/latex/hierarchy.tex
 	nouveau fichier: doc/latex/md__r_e_a_d_m_e.tex
 	nouveau fichier: doc/latex/namespaces.tex
 	nouveau fichier: doc/latex/namespacesuper_tornado.tex
 	nouveau fichier: doc/latex/refman.tex
 	nouveau fichier: doc/link lol.gif
 	nouveau fichier: doc/man/man3/_home_sidya_Documents_iut_ptut_m_.3
 	nouveau fichier: doc/man/man3/_home_sidya_Documents_iut_ptut_v_.3
 	nouveau fichier: doc/man/man3/_home_sidya_Documents_iut_ptut_v_js_.3
 	nouveau fichier: doc/man/man3/m_loadConf_ConfigError.3
 	nouveau fichier: doc/man/man3/m_loadConf_LoadConf.3
 	nouveau fichier: doc/man/man3/m_log_Log.3
 	nouveau fichier: doc/man/man3/m_log_SingleLevelFilter.3
 	nouveau fichier: doc/man/man3/m_log_bcolors.3
 	nouveau fichier: doc/man/man3/m_log_lvl.3
 	nouveau fichier: doc/man/man3/m_login_Login.3
 	nouveau fichier: doc/man/man3/md__r_e_a_d_m_e.3
 	nouveau fichier: doc/man/man3/superTornado.3
 	nouveau fichier: doc/man/man3/superTornado_BaseHandler.3
 	nouveau fichier: doc/man/man3/superTornado_DisconnectionHandler.3
 	nouveau fichier: doc/man/man3/superTornado_GlobalVars.3
 	nouveau fichier: doc/man/man3/superTornado_MainHandler.3
 	nouveau fichier: doc/man/man3/superTornado_UnauthorizedHandler.3
 	nouveau fichier: doc/man/man3/superTornado_VideoHandler.3
 	nouveau fichier: doc/man/man3/superTornado_WSocketHandler.3
 	renommé:         m/fichier/autorise -> m/fichier/allow
 	supprimé:        m/fichier/log
 	modifié:         m/loadConf.py
 	modifié:         m/log.py
 	modifié:         m/login.py
 	modifié:         superTornado.py
 	modifié:         v/index.html
 	modifié:         v/video.html
This commit is contained in:
sidya82
2014-03-18 11:36:31 +01:00
parent f6d3e0c6df
commit 34d8a7c6b3
258 changed files with 18029 additions and 59 deletions

View File

@ -1 +0,0 @@

View File

@ -1,8 +1,13 @@
class LoadConf(object):
"""Loading configuration file"""
def loadValue(self, key):
"""
Return the value associate to the key into conf file (fichier/conf)
Else return "error"
"""
with open("m/fichier/conf", "r") as source :
for ligne in source:
data = ligne.rstrip('\n\r').split('=')
data = ligne.rstrip('\r\n').split('=')
if data[0] == key :
source.close()
return data[1]
@ -10,6 +15,10 @@ class LoadConf(object):
return "error"
def isBlind(self):
"""
Return true if configuration is for Blind
Else false
"""
rep = self.loadValue("blind")
if rep == "1" :
return True
@ -18,19 +27,38 @@ class LoadConf(object):
else :
return rep
"""
Return ipCamera configuration
Else "error"
"""
def ipCamera(self) :
return self.loadValue("camera")
"""
Return portCamera configuration
Else "error"
"""
def portCamera(self) :
return self.loadValue("portCamera")
"""
Return ipServ configuration
Else "error"
"""
def ipServ(self) :
return self.loadValue("serv")
"""
Return portServ configuration
Else "error"
"""
def portServ(self) :
return self.loadValue("portServ")
class ConfigError(Exception):
"""Exception : error loading configuration"""
def __init__(self, value):
self.value = value
def __str__(self):

View File

@ -2,6 +2,9 @@ import logging
from logging.handlers import RotatingFileHandler
class bcolors:
"""
Define constant value color for different level
"""
DEBUG = '\033[94m'
INFO = '\033[95m'
SUCCESS = '\033[92m'
@ -10,6 +13,9 @@ class bcolors:
ENDC = '\033[0m'
class lvl:
"""
Define constant value for level log
"""
NOTSET = 0
DEBUG = 10
INFO = 20
@ -18,37 +24,46 @@ class lvl:
FAIL = 40
class SingleLevelFilter(logging.Filter):
"""Filter for one level"""
def __init__(self, passlevel, reject):
"""
Constructor
passlevel : level to filter
reject : true on reject state
"""
self.passlevel = passlevel
self.reject = reject
def filter(self, record):
if self.reject:
return (record.levelno != self.passlevel)
else:
return (record.levelno == self.passlevel)
class Log(object):
"""
Log Manager
"""
def __init__(self) :
"""
Define 3 differents log :
activity.log -> all activity server
warning.log -> only warning server (including illegal acess)
error.log' -> error server
Write all message on terminal too
"""
logging.addLevelName(lvl.SUCCESS, "SUCCESS")
self.logger = logging.getLogger()
self.logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)-15s :: %(levelname)s :: %(message)s')
file_handler = RotatingFileHandler('activity.log', 'a', 1000000, 1)
file_handler = RotatingFileHandler('log/activity.log', 'a', 1000000, 1)
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(formatter)
self.logger.addHandler(file_handler)
file_handler_warning = RotatingFileHandler('warning.log', 'a', 1000000, 1)
file_handler_warning = RotatingFileHandler('log/warning.log', 'a', 1000000, 1)
f1 = SingleLevelFilter(logging.WARNING, False)
file_handler_warning.addFilter(f1)
file_handler_warning.setFormatter(formatter)
self.logger.addHandler(file_handler_warning)
file_handler_error = RotatingFileHandler('error.log', 'a', 1000000, 1)
file_handler_error = RotatingFileHandler('log/error.log', 'a', 1000000, 1)
file_handler_error.setLevel(logging.ERROR)
file_handler_error.setFormatter(formatter)
self.logger.addHandler(file_handler_error)
@ -59,6 +74,11 @@ class Log(object):
def printL(self,pMsg,pLvl):
"""
Add color and write in log with an define level
pMsg : message to write in log
pLvl : level of log message
"""
if pLvl == lvl.DEBUG :
pMsg = bcolors.DEBUG + pMsg + bcolors.ENDC
elif pLvl == lvl.INFO :

View File

@ -3,24 +3,29 @@ import httplib
class Login(object):
def verifLogin(self,pLog,pMdp):
hashMdp = hashlib.sha224(pMdp).hexdigest()
with open("m/fichier/autorise", "r") as source :
"""
Login manager
"""
def checkLogin(self,pLog,pPasswd):
"""
Check if login and password are correct (in file fichier/allow)
password in File are hash (sha224)
pLog : id login
pPasswd : password
return : true if correct login
false else
"""
hashMdp = hashlib.sha224(pPasswd).hexdigest()
with open("m/fichier/allow", "r") as source :
for ligne in source :
data = ligne.rstrip('\n\r').split(',')
if data[0] == pLog :
if data[1] in hashMdp :
if data[1] == hashMdp :
source.close()
return True
source.close()
return False
def connexion(self,pLog,pMdp):
if self.verifLogin(pLog,pMdp) == True :
return True
else :
return False