lock=threading.RLock()# doufam, ze kdyz je lock tady, ze je funknci. Closure...? XX nejak otestovat
myDB:None
lock=threading.RLock()# doufam, ze kdyz je lock tady, ze je funknci. Closure...? XX nejak otestovat
THUMBNAIL_SIZE=640,640
MAX_WHOIS_DOMAIN_THREADS=10# spusti maximalne 10 threadu doraz, jednou mi to totiz preteklo (kazda domena spusti jeste tolik threadu, kolik ma IP, ale tech byva jen par)
MAX_BROWSER_EXPIRATION=15# pocet vterin, ktere muzeme max cekat, nez se browser zavre (trva, nez zapise soubory)
MAX_WHOIS_DOMAIN_THREADS=10# spusti maximalne 10 threadu doraz, jednou mi to totiz preteklo (kazda domena spusti jeste tolik threadu, kolik ma IP, ale tech byva jen par)
MAX_BROWSER_RUN_TIME=25# maximum time for a browser to run
MAX_BROWSER_EXPIRATION=15# seconds that we wait before killing the browser (waiting for the files to be written)
defconnect():
# XX resim problem peewee.OperationalError: (2006, "MySQL server has gone away (BrokenPipeError(32, 'Broken pipe'))") po 7 hodinach timeoutu
# XX kupodivu pripojeni nemuze byt v dbp DBModel.connect. Prestoze type je pak spravne (MySQLDatabase), nic udelat nejde a pokusy o select konci NoneType.
logging.debug("Connecting to DB.")
Config.myDB=MySQLDatabase("mdmaug",host='localhost',port=3306,user="mdmaug",passwd="fidFDSs676")# XX dal jsem pryc: , threadlocals=False
self.spyfile=[]# cesta k souboru se podezrelym kodem poustenym strankou
self.sourcefile=[]# cesta k souboru se zdrojovym kodem. Muze jich byt vice, http://seznam.cz/index.htm a https://seznam.cz/index.htm jsou oba pod domenou seznam.cz
# paths to files with a suspicious code, run by the inspected page
self.spyfiles=[]
# paths to files with source codes.
# Both 'http://example.com/index.htm' and 'https://example.com/index.htm' are under example.com domain.
self.sourcefiles=[]
defadd_sourcefile(self,sourcefile):
self.sourcefiles.append(sourcefile)
defaddSourcefile(self,sourcefile):
#if self.sourcefile != None:
# raise RuntimeError('sourcefile', 'uz bylo definovano ' + self.sourcefile) # na tohle nejsme pripraveni - asi funkce v main.js pro jmeno souboru je spatna, protoze je jina od Domains.funkce
self.sourcefile.append(sourcefile)
defadd_spyfile(self,spyfile):
self.spyfiles.append(spyfile)
defaddSpyfile(self,spyfile):
#if self.spyfile != None:
# raise RuntimeError('spyfile', 'uz bylo definovano') # na tohle nejsme pripraveni - asi funkce v main.js pro jmeno souboru je spatna, protoze je jina od Domains.funkce