Пример #1
0
    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')
Пример #2
0
    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')
Пример #3
0
    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]))
Пример #4
0
    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()
Пример #5
0
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
    ]
Пример #6
0
    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]))
Пример #7
0
        #Hellanzb.queue = NZBSegmentQueue(sys.argv[1])
    
        # 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])
Пример #8
0
        # 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])
Пример #9
0
 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 = []