From: <sir...@us...> - 2003-03-28 14:47:34
|
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 |