|
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'
|