Exemplo n.º 1
0
class DownloadJob(Job):

    signals = Target

    def __init__(self, page, observer = None):
        self.signals = Target()
        self.page = page
#         print 'DownloadJob: %r' % page['title']

        super(DownloadJob, self).__init__(download_file
            , page['download']['url']
            , page['download']['base_path']
            , localFileName = page['download']['localFileName']
            , cookie = page['download']['cookie']
            , referer = page['download']['url']
            , download_logs = page['download']['download_logs']
            , observer = self
            )
        page['statusText'] = 'IN_DOWNLOAD_QUEUE'
        if observer:
            self.signals.observe(observer)
#             print 'observes: %r' % self.signals.observes
            self.signals.emit('page:change', object = page)

    def notify(self, topic, value):
#         print 'DownloadJob.notify: %r = %r' % (topic, value)
        if topic == 'progress:change':
            self.page['download']['progress'] = value
            if 0 < value < 100:
                self.page['download']['statusText'] = 'RUNNING'
            elif value == 100:
                self.page['download']['statusText'] = 'FINISHED'
                self.page['finishedOn'] = datetime.utcnow().isoformat() 

            self.signals.emit('page:change', object = self.page)
Exemplo n.º 2
0
    def __init__(self, page, observer = None):
        self.signals = Target()
        self.page = page
#         print 'DownloadJob: %r' % page['title']

        super(DownloadJob, self).__init__(download_file
            , page['download']['url']
            , page['download']['base_path']
            , localFileName = page['download']['localFileName']
            , cookie = page['download']['cookie']
            , referer = page['download']['url']
            , download_logs = page['download']['download_logs']
            , observer = self
            )
        page['statusText'] = 'IN_DOWNLOAD_QUEUE'
        if observer:
            self.signals.observe(observer)
#             print 'observes: %r' % self.signals.observes
            self.signals.emit('page:change', object = page)