From: <bel...@us...> - 2003-03-28 21:09:38
|
Update of /cvsroot/btplusplus/BT++/src/WebServer In directory sc8-pr-cvs1:/tmp/cvs-serv17312/src/WebServer Modified Files: BTWebServer.py HTTPConfigFile.py Log Message: Implemented InfoManager for tracker info (namely seeds/downloaders). It manages updates so only one request is sent per tracker if multiple torrents use the same one. Some minor fixes. Index: BTWebServer.py =================================================================== RCS file: /cvsroot/btplusplus/BT++/src/WebServer/BTWebServer.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** BTWebServer.py 25 Mar 2003 00:27:02 -0000 1.11 --- BTWebServer.py 28 Mar 2003 21:09:34 -0000 1.12 *************** *** 12,15 **** --- 12,17 ---- from htmltmpl import TemplateManager, TemplateProcessor from SeedManager import SeedManager + from InfoManager import InfoManager + from core.CurrentRateMeasure import GlobalMeasure import socket *************** *** 53,56 **** --- 55,60 ---- ########################################################################################################### ########################################################################################################### + UpMeasure = GlobalMeasure( 20.0, # MAX RATE PERIOD, + 5.0 ) # UPLOAD RATE FUDGE WebLog = [] *************** *** 105,109 **** '', '' ], ! log = WebLogit ) def MoveToHistory(loader): --- 109,114 ---- '', '' ], ! log = WebLogit, ! upmeasure = UpMeasure ) def MoveToHistory(loader): *************** *** 159,166 **** Config.Get('Paths', 'History') ], log = WebLogit, ! finish = MoveToHistory ) WTLoaders.Update() WTSeeds.Update() ########################################################################################################### ########################################################################################################### --- 164,177 ---- Config.Get('Paths', 'History') ], log = WebLogit, ! finish = MoveToHistory, ! upmeasure = UpMeasure ) WTLoaders.Update() WTSeeds.Update() + WTInfo = InfoManager(log = WebLogit, update = int(HTTPConfig.Get('Display', 'RefreshInfo'))) + WTInfo.AddManager(WTLoaders) + WTInfo.AddManager(WTSeeds) + WTInfo.Update() + ########################################################################################################### ########################################################################################################### *************** *** 170,174 **** class BTHTTPHandler(BaseHTTPRequestHandler): ! server_version = "BTHTTP/" + __version__ def do_GET(self): --- 181,193 ---- class BTHTTPHandler(BaseHTTPRequestHandler): ! server_version = "WTHTTP/" + __version__ ! ! def Update(self): ! WTLoaders.Update() ! WTSeeds.Update() ! WTInfo.Update() ! ! def UpdateConfig(self): ! WTInfo.UpdateUpdate(int(HTTPConfig.Get('Display', 'RefreshInfo'))) def do_GET(self): *************** *** 179,184 **** self.wfile.write(tproc.process(templateRoot)) elif self.requested == 'torrents': ! WTLoaders.Update() ! WTSeeds.Update() sleep(0.5) self.send_torrents() --- 198,202 ---- self.wfile.write(tproc.process(templateRoot)) elif self.requested == 'torrents': ! self.Update() sleep(0.5) self.send_torrents() *************** *** 262,269 **** Config.Save() HTTPConfig.Save() WebLogit("Configuration Changed.", loglevel = LOG_TRIVIAL) ! WTLoaders.Update() ! WTSeeds.Update() sleep(0.5) self.send_torrents() --- 280,287 ---- Config.Save() HTTPConfig.Save() + self.UpdateConfig() WebLogit("Configuration Changed.", loglevel = LOG_TRIVIAL) ! self.Update() sleep(0.5) self.send_torrents() *************** *** 317,321 **** LoaderInfo['FileName'] = loader.Config['File'] LoaderInfo['Status'] = loader.Info['Status'] ! LoaderInfo['Hashing'] = (loader.Info['Status']=='Hashing') LoaderInfo['Allocating'] = (loader.Info['Status']=='Allocating') LoaderInfo['Finished'] = loader.IsFinished() --- 335,339 ---- LoaderInfo['FileName'] = loader.Config['File'] LoaderInfo['Status'] = loader.Info['Status'] ! LoaderInfo['Hashing'] = (loader.Info['Status']=='Hashing') LoaderInfo['Allocating'] = (loader.Info['Status']=='Allocating') LoaderInfo['Finished'] = loader.IsFinished() *************** *** 336,339 **** --- 354,360 ---- LoaderInfo['SpeedUp'] = '%.1f' % loader.Info['SpeedUp'] LoaderInfo['ETA'] = loader.Info['ETA'] + LoaderInfo['Uploaders'] = loader.Info['complete'] + LoaderInfo['Downloaders'] = loader.Info['incomplete'] + LoaderInfo['Seedless'] = (loader.Info['complete'] == 0) LoaderInfos.append(LoaderInfo) SeedInfos = [] *************** *** 349,370 **** else: LoaderInfo['Status'] = loader.Info['Status'] - ## LoaderInfo['Hashing'] = (loader.Info['Status']=='Hashing') - ## LoaderInfo['Finished'] = loader.IsFinished() - ## LoaderInfo['Auto'] = (c <= Config.Get('Download', 'MaxSimDown')) - ## LoaderInfo['Preparing'] = (loader.Info['FractionDone'] == -1) - ## LoaderInfo['PercentDone'] = '%d' % (loader.Info['FractionDone']*100) - ## LoaderInfo['PercentLeft'] = '%d' % (loader.Info['FractionRemain']*100) - ## LoaderInfo['PercentDonePrec'] = '%.1f' % (loader.Info['FractionDone']*100) - ## LoaderInfo['PercentLeftPrec'] = '%.1f' % (loader.Info['FractionRemain']*100) LoaderInfo['FileSize'] = '%.2f MB' % (float(loader.Config['Size']) / 1024 / 1024) - ## if loader.Info['FractionDone'] == -1: - ## LoaderInfo['FileSizeDone'] = '?' - ## LoaderInfo['FileSizeLeft'] = LoaderInfo['FileSize'] - ## else: - ## LoaderInfo['FileSizeDone'] = ('%.2f MB' % (loader.Info['FractionDone'] * loader.Config['Size'] / 1024 / 1024)) - ## LoaderInfo['FileSizeLeft'] = ('%.2f MB' % (loader.Info['FractionRemain'] * loader.Config['Size'] / 1024 / 1024)) - ## LoaderInfo['SpeedDown'] = '%.1f' % loader.Info['SpeedDown'] LoaderInfo['SpeedUp'] = '%.1f' % loader.Info['SpeedUp'] ! ## LoaderInfo['ETA'] = loader.Info['ETA'] SeedInfos.append(LoaderInfo) tproc.set("Loaders", LoaderInfos) --- 370,377 ---- else: LoaderInfo['Status'] = loader.Info['Status'] LoaderInfo['FileSize'] = '%.2f MB' % (float(loader.Config['Size']) / 1024 / 1024) LoaderInfo['SpeedUp'] = '%.1f' % loader.Info['SpeedUp'] ! LoaderInfo['Uploaders'] = loader.Info['complete'] ! LoaderInfo['Downloaders'] = loader.Info['incomplete'] SeedInfos.append(LoaderInfo) tproc.set("Loaders", LoaderInfos) *************** *** 395,398 **** --- 402,406 ---- tproc.set('access_validips', HTTPConfig.Get('Access', 'ValidIPs')) tproc.set('display_refresh', HTTPConfig.Get('Display', 'Refresh')) + tproc.set('display_refreshinfo', HTTPConfig.Get('Display', 'RefreshInfo')) tproc.set('display_loglevel', HTTPConfig.Get('Display', 'LogLevel')) tproc.set('display_logcount', HTTPConfig.Get('Display', 'LogCount')) Index: HTTPConfigFile.py =================================================================== RCS file: /cvsroot/btplusplus/BT++/src/WebServer/HTTPConfigFile.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** HTTPConfigFile.py 16 Mar 2003 01:17:58 -0000 1.5 --- HTTPConfigFile.py 28 Mar 2003 21:09:35 -0000 1.6 *************** *** 12,15 **** --- 12,16 ---- 'Display': { 'Refresh': '10', + 'RefreshInfo': '5', 'LogLevel': '1', 'LogCount': '200' |