亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? statistics.py

?? 一個(gè)多點(diǎn)下載且源碼公開的P2P軟件
?? PY
字號:
# Written by Edward Keyes# see LICENSE.txt for license informationfrom threading import Eventtry:    Trueexcept:    True = 1    False = 0class Statistics_Response:    pass    # empty classclass Statistics:    def __init__(self, upmeasure, downmeasure, connecter, httpdl,                 ratelimiter, rerequest_lastfailed, fdatflag):        self.upmeasure = upmeasure        self.downmeasure = downmeasure        self.connecter = connecter        self.httpdl = httpdl        self.ratelimiter = ratelimiter        self.downloader = connecter.downloader        self.picker = connecter.downloader.picker        self.storage = connecter.downloader.storage        self.torrentmeasure = connecter.downloader.totalmeasure        self.rerequest_lastfailed = rerequest_lastfailed        self.fdatflag = fdatflag        self.fdatactive = False        self.piecescomplete = None        self.placesopen = None        self.storage_totalpieces = len(self.storage.hashes)    def set_dirstats(self, files, piece_length):        self.piecescomplete = 0        self.placesopen = 0        self.filelistupdated = Event()        self.filelistupdated.set()        frange = xrange(len(files))        self.filepieces = [[] for x in frange]        self.filepieces2 = [[] for x in frange]        self.fileamtdone = [0.0 for x in frange]        self.filecomplete = [False for x in frange]        self.fileinplace = [False for x in frange]        start = 0L        for i in frange:            l = files[i][1]            if l == 0:                self.fileamtdone[i] = 1.0                self.filecomplete[i] = True                self.fileinplace[i] = True            else:                fp = self.filepieces[i]                fp2 = self.filepieces2[i]                for piece in range(int(start/piece_length),                                   int((start+l-1)/piece_length)+1):                    fp.append(piece)                    fp2.append(piece)                start += l    def update(self):        s = Statistics_Response()        s.upTotal = self.upmeasure.get_total()        s.downTotal = self.downmeasure.get_total()        s.last_failed = self.rerequest_lastfailed()        s.external_connection_made = self.connecter.external_connection_made        if s.downTotal > 0:            s.shareRating = float(s.upTotal)/s.downTotal        elif s.upTotal == 0:           s.shareRating = 0.0        else:           s.shareRating = -1.0        s.torrentRate = self.torrentmeasure.get_rate()        s.torrentTotal = self.torrentmeasure.get_total()        s.numSeeds = self.picker.seeds_connected        s.numOldSeeds = self.downloader.num_disconnected_seeds()        s.numPeers = len(self.downloader.downloads)-s.numSeeds        s.numCopies = 0.0        for i in self.picker.crosscount:            if i==0:                s.numCopies+=1            else:                s.numCopies+=1-float(i)/self.picker.numpieces                break        if self.picker.done:            s.numCopies2 = s.numCopies + 1        else:            s.numCopies2 = 0.0            for i in self.picker.crosscount2:                if i==0:                    s.numCopies2+=1                else:                    s.numCopies2+=1-float(i)/self.picker.numpieces                    break        s.discarded = self.downloader.discarded        s.numSeeds += self.httpdl.seedsfound        s.numOldSeeds += self.httpdl.seedsfound        if s.numPeers == 0 or self.picker.numpieces == 0:            s.percentDone = 0.0        else:            s.percentDone = 100.0*(float(self.picker.totalcount)/self.picker.numpieces)/s.numPeers        s.backgroundallocating = self.storage.bgalloc_active        s.storage_totalpieces = len(self.storage.hashes)        s.storage_active = len(self.storage.stat_active)        s.storage_new = len(self.storage.stat_new)        s.storage_dirty = len(self.storage.dirty)        numdownloaded = self.storage.stat_numdownloaded        s.storage_justdownloaded = numdownloaded        s.storage_numcomplete = self.storage.stat_numfound + numdownloaded        s.storage_numflunked = self.storage.stat_numflunked        s.storage_isendgame = self.downloader.endgamemode        s.peers_kicked = self.downloader.kicked.items()        s.peers_banned = self.downloader.banned.items()        try:            s.upRate = int(self.ratelimiter.upload_rate/1000)            assert s.upRate < 5000        except:            s.upRate = 0        s.upSlots = self.ratelimiter.slots        if self.piecescomplete is None:     # not a multi-file torrent            return s                if self.fdatflag.isSet():            if not self.fdatactive:                self.fdatactive = True        else:            self.fdatactive = False        if self.piecescomplete != self.picker.numgot:            for i in xrange(len(self.filecomplete)):                if self.filecomplete[i]:                    continue                oldlist = self.filepieces[i]                newlist = [ piece                            for piece in oldlist                            if not self.storage.have[piece] ]                if len(newlist) != len(oldlist):                    self.filepieces[i] = newlist                    self.fileamtdone[i] = (                        (len(self.filepieces2[i])-len(newlist))                         /float(len(self.filepieces2[i])) )                    if not newlist:                        self.filecomplete[i] = True                    self.filelistupdated.set()            self.piecescomplete = self.picker.numgot        if ( self.filelistupdated.isSet()                 or self.placesopen != len(self.storage.places) ):            for i in xrange(len(self.filecomplete)):                if not self.filecomplete[i] or self.fileinplace[i]:                    continue                while self.filepieces2[i]:                    piece = self.filepieces2[i][-1]                    if self.storage.places[piece] != piece:                        break                    del self.filepieces2[i][-1]                if not self.filepieces2[i]:                    self.fileinplace[i] = True                    self.storage.set_file_readonly(i)                    self.filelistupdated.set()            self.placesopen = len(self.storage.places)        s.fileamtdone = self.fileamtdone        s.filecomplete = self.filecomplete        s.fileinplace = self.fileinplace        s.filelistupdated = self.filelistupdated        return s

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品天天看| 欧美亚洲国产bt| 中文字幕免费不卡| 99视频精品免费视频| 欧美激情中文字幕| 91一区一区三区| 依依成人综合视频| 在线电影国产精品| 久久精品99国产精品| 精品国产伦一区二区三区观看体验| 久热成人在线视频| 国产女主播一区| 色天天综合久久久久综合片| 亚洲国产sm捆绑调教视频| 欧美一区二区三区小说| 久久成人久久鬼色| 国产精品嫩草99a| 欧美日韩亚洲高清一区二区| 蜜臀av一区二区在线观看| 国产欧美日韩不卡免费| 91久久精品一区二区三| 日本vs亚洲vs韩国一区三区二区| 2019国产精品| 91国在线观看| 精品一区二区综合| 亚洲欧美日韩电影| 精品国产制服丝袜高跟| 91在线国产福利| 蜜臀av一级做a爰片久久| 欧美韩国日本不卡| 91精品综合久久久久久| 成人爱爱电影网址| 日韩中文字幕91| 久久久91精品国产一区二区三区| 色婷婷综合久色| 国内精品伊人久久久久av影院| 中文字幕一区二区三区在线不卡 | 高清国产一区二区三区| 亚洲一区二区三区四区中文字幕| 日韩女优av电影在线观看| av爱爱亚洲一区| 精品一区二区三区在线观看 | 国产成人免费视频网站高清观看视频 | 亚洲一区二区三区四区在线| 精品国产乱子伦一区| 欧美日韩国产综合一区二区三区 | 成人av在线资源网站| 日韩黄色片在线观看| 中文字幕日韩av资源站| 精品免费国产二区三区| 色8久久精品久久久久久蜜| 国产一区二区久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲激情男女视频| 国产精品萝li| 国产亚洲欧美日韩在线一区| 欧美一区二区三区性视频| 欧美亚洲日本国产| caoporen国产精品视频| 国产精品一二三在| 麻豆精品一区二区| 日韩va亚洲va欧美va久久| 一区二区三区加勒比av| 成人免费在线观看入口| 中文字幕在线一区二区三区| 久久午夜老司机| 26uuu久久综合| 日韩免费观看高清完整版| 在线播放/欧美激情| 欧美又粗又大又爽| 日本大香伊一区二区三区| 91老司机福利 在线| av电影在线观看不卡| 成人动漫精品一区二区| 99在线精品免费| 91啪亚洲精品| 色综合色狠狠天天综合色| 色综合天天综合网国产成人综合天| 国产福利一区在线| 夫妻av一区二区| 成人黄色网址在线观看| 9l国产精品久久久久麻豆| 91猫先生在线| 在线观看亚洲精品视频| 欧美视频一二三区| 欧美二区三区的天堂| 精品少妇一区二区三区视频免付费 | 成人黄色在线网站| 99久久久免费精品国产一区二区| 成人黄色软件下载| 色国产综合视频| 欧美人牲a欧美精品| 91精品啪在线观看国产60岁| 日韩免费性生活视频播放| 亚洲精品一线二线三线无人区| 久久久国产午夜精品 | 久久众筹精品私拍模特| 欧美国产精品中文字幕| 国产精品久久久久一区二区三区共| 综合中文字幕亚洲| 亚洲国产wwwccc36天堂| 久久电影国产免费久久电影| 成人精品一区二区三区中文字幕| 91美女片黄在线观看| 欧美一区二区三区在| 久久九九99视频| 悠悠色在线精品| 美女网站一区二区| 成人国产在线观看| 欧美男女性生活在线直播观看| 91精品国产综合久久久久久漫画 | 中文字幕在线免费不卡| 亚洲一区二区三区三| 美腿丝袜亚洲一区| 国产成人免费9x9x人网站视频| 色婷婷激情综合| 精品精品国产高清一毛片一天堂| 亚洲欧美日韩在线不卡| 日韩成人免费看| 国产不卡在线视频| 666欧美在线视频| 中文字幕一区二区三区在线不卡| 水野朝阳av一区二区三区| 国产不卡视频在线播放| 欧美日韩精品电影| 自拍偷拍欧美精品| 国内外成人在线| 欧美午夜在线观看| 国产精品少妇自拍| 免费看精品久久片| 欧美亚洲国产一区二区三区va| 久久久国产综合精品女国产盗摄| 香蕉加勒比综合久久| 成人小视频在线观看| 日韩欧美亚洲一区二区| 樱花草国产18久久久久| 成人精品免费网站| 2023国产精品自拍| 石原莉奈在线亚洲二区| 在线观看区一区二| 中文字幕中文字幕中文字幕亚洲无线| 精一区二区三区| 欧美精品欧美精品系列| 亚洲精品国产a久久久久久| 国产成人精品一区二区三区四区| 91精品国产综合久久精品图片 | 丝袜美腿亚洲一区| 欧美亚洲免费在线一区| 亚洲美女视频在线| av一二三不卡影片| 中文字幕电影一区| 国产成人精品影视| 久久亚洲二区三区| 国产一二精品视频| 日韩欧美久久久| 日韩专区一卡二卡| 欧美精品亚洲二区| 亚洲福利视频一区二区| 欧美系列日韩一区| 亚洲bt欧美bt精品| 91高清视频免费看| 依依成人精品视频| 色8久久精品久久久久久蜜| 一区二区三区在线不卡| 91丨porny丨国产入口| 中文字幕在线不卡| 99re热视频这里只精品| 亚洲欧美色图小说| 日本二三区不卡| 午夜免费欧美电影| 欧美一卡2卡三卡4卡5免费| 水蜜桃久久夜色精品一区的特点| 欧美日本在线观看| 蜜桃精品在线观看| 精品剧情在线观看| 精品无人码麻豆乱码1区2区| xnxx国产精品| 成人av动漫在线| 亚洲图片你懂的| 欧美午夜不卡视频| 日本vs亚洲vs韩国一区三区 | 中国色在线观看另类| 成人妖精视频yjsp地址| 亚洲免费观看在线视频| 91免费版在线| 五月激情综合色| 亚洲精品一区二区三区四区高清| 狠狠色综合播放一区二区| 久久久久国产免费免费| www.久久精品| 午夜精品久久久久久久久| 日韩欧美国产系列| 成人禁用看黄a在线| 一区二区三区不卡在线观看 | 成人黄色大片在线观看| 六月丁香综合在线视频| 日韩精品一区国产麻豆| 高清国产一区二区三区| 亚洲一区二区偷拍精品| 欧美成人精品1314www|