home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.2)
-
- from os import path, rename
- from time import sleep
- from wxPython.wx import *
- from TabLog.LogWindow import Log
- from LoaderManager import LoaderManager
- from ConfigFile import Config
- import Renderer
- from Managers import ManagerDown, ManagerUp
-
- class GridTable:
- Sizes = {
- 'ColLabel': 18,
- 'RowLabel': 25,
- 'RowsDef': 22,
- 'ColsDef': 50,
- 'Rows': { },
- 'Cols': { } }
- Renderers = {
- 'Default': Renderer.Default(),
- 'Rows': { },
- 'Cols': {
- 4: Renderer.ProgressBar() } }
-
- def __init__(self, grid):
- self.Grid = grid
- self.Manager = ManagerDown
- self.Manager.Refresh = self.Refresh
- self.Manager.Log = Log
- self.Manager.Finish = self.MoveToHistory
-
-
- def Update(self):
- self.Manager.Update()
-
-
- def GetNumberRows(self):
- return self.Manager.GetNumLoaders()
-
-
- def GetNumberCols(self):
- return 8
-
-
- def GetColLabelSize(self):
- return self.Sizes['ColLabel']
-
-
- def GetRowLabelSize(self):
- return self.Sizes['RowLabel']
-
-
- def GetColSize(self, col):
- if self.Sizes['Cols'].has_key(col):
- return self.Sizes['Cols'][col]
- else:
- return self.Sizes['ColsDef']
-
-
- def SetColSize(self, col, size):
- self.Sizes['Cols'][col] = size
-
-
- def GetRowSize(self, row):
- if self.Sizes['Rows'].has_key(row):
- return self.Sizes['Rows'][row]
- else:
- return self.Sizes['RowsDef']
-
-
- def GetColLabelValue(self, col):
- if col == 0:
- return 'Filename'
-
- if col == 1:
- return 'Size'
-
- if col == 2:
- return 'Transfered'
-
- if col == 3:
- return 'Speed'
-
- if col == 4:
- return 'Progress'
-
- if col == 5:
- return 'Status'
-
- if col == 6:
- return 'Remaining'
-
- if col == 7:
- return 'Time Remaining'
-
-
-
- def GetCellRenderer(self, row, col):
- if self.Renderers['Cols'].has_key(col):
- return self.Renderers['Cols'][col]
- elif self.Renderers['Rows'].has_key(row):
- return self.Renderers['Rowss'][row]
- else:
- return self.Renderers['Default']
-
-
- def GetValue(self, row, col):
-
- def info(name):
- return self.Manager.GetInfo(row, name)
-
- if col == 0:
- return info('File')
-
- if col == 1:
- return '%.2f MB' % float(info('Size')) / 1024 / 1024
-
- if col == 2:
- if info('FractionDone') == -1.0 and info('Status') == 'Hashing' or info('Status') == 'Allocating':
- return '?'
- else:
- return '%.2f MB' % float(info('FractionDone')) * float(info('Size')) / 1024 / 1024
-
- if col == 3:
- return '%.1f / %.1f' % (float(info('SpeedDown')), float(info('SpeedUp')))
-
- if col == 4:
- return info('FractionDone')
-
- if col == 5:
- return info('Status')
-
- if col == 6:
- if info('FractionDone') == -1.0 and info('Status') == 'Hashing' or info('Status') == 'Allocating':
- return '?'
- else:
- return '%.1f%% [%.2f MB]' % (float(info('FractionRemain')) * 100, float(info('FractionRemain')) * float(info('Size')) / 1024 / 1024)
-
- if col == 7:
- return info('ETA')
-
-
-
- def MoveToHistory(self, loader):
- loader.PauseDownload()
- loader.Hashed = true
- loader.Finished = true
- loader.UpdateStatus(fractionDone = 1, timeEst = 0, downRate = 0, upRate = 0, activity = 'Done')
- if loader.Obj.has_key('Storage') and loader.Obj['Storage'] != None:
- loader.Obj['Storage'].close()
- del loader.Obj['Storage']
-
- if loader.Obj.has_key('StorageWrapper') and loader.Obj['StorageWrapper'] != None:
- del loader.Obj['StorageWrapper']
-
- if loader.Config['DirTorFinish'] != '':
-
- try:
- rename(loader.Config['TorFull'], path.join(loader.Config['DirTorFinish'], loader.Config['Tor']))
- loader.OnInfo('Download complete.')
- except:
- loader.OnError('Could not move torrent.')
-
-
- if loader.Config['DirFilFinish'] != '':
-
- try:
- rename(loader.Config['Filename'], path.join(loader.Config['DirFilFinish'], loader.Config['File']))
- except:
- loader.OnError('Could not move downloaded file.')
-
-
- new = ManagerUp.CreateNewLoader(loader.Config['Tor'])
- if new == None:
- return None
-
- if Config.Get('Download', 'KeepUpload'):
- new.StartDownload()
-
-
-
- def Destroy(self, evt = wxCloseEvent()):
- self.Manager.Destroy()
-
-
- def Refresh(self):
- self.Grid.Refresh()
-
-
- def AdjustScrollbars(self):
- self.Grid.AdjustScrollbars()
-
-
-