def testGetBenchmark(self): info('Putting NZB') start = time.time() q = NZBSegmentQueue( '/home/pjenvey/src/hellanzb/Hellanzb/test/testdata/test_get.nzb') elapsed = time.time() - start info('Took: ' + str(elapsed) + ' to load nzb file. Approx size: ' + str(q.qsize())) from Queue import Empty import sys info('Getting all items..') start = time.time() try: while 1: segment = q.get_nowait() except Empty: pass elapsed = time.time() - start info('Took: ' + str(elapsed) + ' to get them all out') info('better statistics..') stats = [] q2 = NZBSegmentQueue( '/home/pjenvey/src/hellanzb/Hellanzb/test/testdata/test_get.nzb') try: while 1: start = time.time() segment = q2.get_nowait() elapsed = time.time() - start stats.append(elapsed) except Empty: pass avg = 0 for i in stats: avg += i avg = avg / len(stats) info('Average get took: ' + str(avg)) stats.sort() info('Fastest: ' + str(stats[0])) info('Slowest: ' + str(stats[-1]))
def dtestNZBSegmentQueue(self): """ Benchmark loading a typical NZB file into an NZBSegmentQueue via the parser, and also via a simple put() loop """ start = time.time() temp = NZBSegmentQueue( 'Hellanzb/test/testdata/msgid_1008115_Bring__Um_Young_#2.nzb') list = temp.queue elapsed = time.time() - start info('Took: ' + str(elapsed) + ' to load nzb file') start = time.time() del temp nzbq = NZBSegmentQueue() for i in list: nzbq.put((NZBSegmentQueue.NZB_CONTENT_P, i)) elapsed = time.time() - start info('Took: ' + str(elapsed) + ' to create NZBSegmentQueue')
def dtestNZBSlurp(self): start = time.time() Hellanzb.queue = NZBSegmentQueue( 'Hellanzb/test/testdata/msgid_1008115_Bring__Um_Young_#2.nzb') elapsed = time.time() - start info('Took: ' + str(elapsed) + ' to load nzb file') #from thread import start_new_thread #start_new_thread(PriorityQueueTestCase.runReactor, (self,)) rt = ReactorThread() rt.start() rt.join()
def initNZBLeecher(): """ Init """ # Note what version of twisted/python/os being used twistedVersionMsg = 'Using: Twisted-%s' % twistedVersion if twistedVersion >= '2.0.0': from twisted.web import __version__ as twistedWebVersion twistedVersionMsg += ', TwistedWeb-%s' % twistedWebVersion debug(twistedVersionMsg) pythonVersion = 'python: %s' % sys.version [debug(line) for line in pythonVersion.splitlines()] if isWindows(): debug('platform: %s' % sys.platform) else: uname = os.uname() debug('os: %s-%s (%s)' % (uname[0], uname[2], uname[4])) # Create the one and only download queue if initFillServers(): Hellanzb.queue = FillServerQueue() else: Hellanzb.queue = NZBSegmentQueue() # The NZBLeecherFactories Hellanzb.nsfs = [] Hellanzb.totalSpeed = 0 Hellanzb.totalArchivesDownloaded = 0 Hellanzb.totalFilesDownloaded = 0 Hellanzb.totalSegmentsDownloaded = 0 Hellanzb.totalBytesDownloaded = 0 # this class handles updating statistics via the SCROLL level (the UI) Hellanzb.scroller = NZBLeecherTicker() Hellanzb.ht = HellaThrottler(Hellanzb.MAX_RATE * 1024) Hellanzb.getCurrentRate = NZBLeecherFactory.getCurrentRate # loop to scan the queue dir during download Hellanzb.downloadScannerID = None ACODE = Hellanzb.ACODE Hellanzb.NZBLF_COLORS = [ ACODE.F_DBLUE, ACODE.F_DMAGENTA, ACODE.F_LRED, ACODE.F_DGREEN, ACODE.F_YELLOW, ACODE.F_DCYAN, ACODE.F_BWHITE ]
# connect factory to this host and port reactor.connectTCP('unlimited.newshosting.com', 9000, nsf) #reactor.connectTCP('unlimited.newshosting.com', 9000, nsf) #reactor.connectTCP('unlimited.newshosting.com', 9000, nsf) #reactor.connectTCP('unlimited.newshosting.com', 9000, nsf) # run #reactor.run() print 'running' reactor.run(installSignalHandlers=False) # --------------------------------------------------------------------------- if __name__ == '__main__3': nzbq = NZBSegmentQueue() print 'k' nzbq.parseNZB(sys.argv[1]) while 1: try: #print nzbq.get(True)[1].__repr__() print nzbq.get() except: print 'doh' break #if __name__ == '__main__': if __name__ == '__main__2': import sys #(newsgroups, posts) = ParseNZB(sys.argv[1], [1, 2]) (newsgroups, posts) = ParseNZB(sys.argv[1])
def setUpEnv(self): self.stateXMLFileName = os.path.join(self.tempDir, 'testState.xml') self.stateXMLFile = open(self.stateXMLFileName, 'w+') Hellanzb.queue = NZBSegmentQueue() Hellanzb.postProcessors = [] Hellanzb.nzbQueue = []