Update of /cvsroot/btplusplus/BT++/src
In directory sc8-pr-cvs1:/tmp/cvs-serv17351/src
Modified Files:
Loader.py
Log Message:
- Fixed pause while hashing.
- Fixed little bug in 'Add Torrent'.
Index: Loader.py
===================================================================
RCS file: /cvsroot/btplusplus/BT++/src/Loader.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Loader.py 28 Mar 2003 13:38:05 -0000 1.5
--- Loader.py 28 Mar 2003 14:47:27 -0000 1.6
***************
*** 50,53 ****
--- 50,56 ----
self.FlagHash.clear()
+ self.ThrHashing = None
+ self.ThrDownload = None
+
self.Info = {}
self.Config = {}
***************
*** 64,70 ****
raise
- self.ThrHashing = Thread( target = self.ProcessFiles )
- self.ThrHashing.setDaemon(false)
-
###########################################################################################################
###########################################################################################################
--- 67,70 ----
***************
*** 93,96 ****
--- 93,97 ----
self.Config['Filename'] = path.join(self.Config['DirTemp'], torinfo['name'])
self.Config['Pieces'] = torinfo['pieces']
+ self.Config['Pieces'] = [self.Config['Pieces'][x:x+20] for x in xrange(0, len(self.Config['Pieces']), 20)]
self.Config['PiecesLen'] = torinfo['piece length']
self.Config['InfoHash'] = sha(bencode(torinfo)).digest()
***************
*** 140,153 ****
def StartHashing(self):
self.ThrHashing.start()
self.OnTrivialInfo('Hashing started')
def StartDownload( self ):
- if self.Hashed == false:
- self.StartHashing()
-
self.FlagEnd.clear()
self.Paused = false
self.UserPause = false
self.ThrDownload = Thread( target = self.Download )
--- 141,156 ----
def StartHashing(self):
+ self.ThrHashing = Thread( target = self.ProcessFiles )
+ self.ThrHashing.setDaemon(false)
self.ThrHashing.start()
self.OnTrivialInfo('Hashing started')
def StartDownload( self ):
self.FlagEnd.clear()
self.Paused = false
self.UserPause = false
+
+ if self.Hashed == false:
+ self.StartHashing()
self.ThrDownload = Thread( target = self.Download )
***************
*** 157,164 ****
def PauseDownload( self, user = false ):
! if self.ThrHashing.isAlive():
self.FlagHash.clear()
self.Hashed = false
self.FlagEnd.set()
self.Paused = true
--- 160,172 ----
def PauseDownload( self, user = false ):
! if self.ThrHashing != None and self.ThrHashing.isAlive():
self.FlagHash.clear()
self.Hashed = false
+ self.Obj['Storage'] = None
+ self.Obj['StorageWrapper'] = None
+
+ self.UpdateStatus( fractionDone = -1 )
+
self.FlagEnd.set()
self.Paused = true
***************
*** 169,173 ****
upRate = 0,
activity = 'Paused' )
!
self.OnTrivialInfo('Download Paused')
--- 177,181 ----
upRate = 0,
activity = 'Paused' )
!
self.OnTrivialInfo('Download Paused')
***************
*** 191,195 ****
def IsHashing(self):
! return self.ThrHashing.isAlive()
def HasHashed(self):
--- 199,206 ----
def IsHashing(self):
! if self.ThrHashing == None:
! return False
! else:
! return self.ThrHashing.isAlive()
def HasHashed(self):
***************
*** 326,331 ****
return
- self.Config['Pieces'] = [self.Config['Pieces'][x:x+20] for x in xrange(0, len(self.Config['Pieces']), 20)]
-
try:
self.Obj['Storage'] = \
--- 337,340 ----
***************
*** 383,387 ****
while 1:
self.FlagHash.wait(2.0)
! if not self.ThrHashing.isAlive():
break
--- 392,396 ----
while 1:
self.FlagHash.wait(2.0)
! if self.ThrHashing == None or not self.ThrHashing.isAlive():
break
|