import Queue from constant import DETAIL_URL, IMAGE_URL from hentai.logger import logger class Dojinshi(object): def __init__(self, name=None, subtitle=None, id=None, img_id=None, ext='jpg', pages=0): self.name = name self.subtitle = subtitle self.id = id self.img_id = img_id self.ext = ext self.pages = pages self.downloader = None self.url = '%s/%d' % (DETAIL_URL, self.id) def __repr__(self): return '' % self.name def show(self): logger.info('Print dojinshi information') print 'Dojinshi: %s' % self.name print 'Subtitle: %s' % self.subtitle print 'URL: %s' % self.url print 'Pages: %d' % self.pages def download(self): logger.info('Start download dojinshi: %s' % self.name) if self.downloader: download_queue = Queue.Queue() for i in xrange(1, self.pages + 1): download_queue.put('%s/%d/%d.%s' % (IMAGE_URL, int(self.img_id), i, self.ext)) self.downloader.download(download_queue, self.id) else: raise Exception('Downloader has not be loaded') if __name__ == '__main__': test = Dojinshi(name='test hentai dojinshi', id=1) print test test.show() try: test.download() except Exception, e: print 'Exception: %s' % str(e)