home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_788 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  3.0 KB  |  85 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. __license__ = 'GPL v3'
  5. __copyright__ = '2009, John Schember <john at nachtimwald.com>'
  6. __docformat__ = 'restructuredtext en'
  7. import os
  8. import cStringIO
  9. from calibre.devices.usbms.driver import USBMS
  10.  
  11. class NOOK(USBMS):
  12.     name = 'Nook Device Interface'
  13.     gui_name = _('The Nook')
  14.     description = _('Communicate with the Nook eBook reader.')
  15.     author = 'John Schember'
  16.     icon = I('devices/nook.jpg')
  17.     supported_platforms = [
  18.         'windows',
  19.         'linux',
  20.         'osx']
  21.     FORMATS = [
  22.         'epub',
  23.         'pdb',
  24.         'pdf']
  25.     VENDOR_ID = [
  26.         8320,
  27.         6353]
  28.     PRODUCT_ID = [
  29.         1]
  30.     BCD = [
  31.         802]
  32.     VENDOR_NAME = 'B&N'
  33.     WINDOWS_MAIN_MEM = 'NOOK'
  34.     WINDOWS_CARD_A_MEM = 'NOOK'
  35.     OSX_MAIN_MEM = 'B&N nook Media'
  36.     OSX_CARD_A_MEM = OSX_MAIN_MEM
  37.     MAIN_MEMORY_VOLUME_LABEL = 'Nook Main Memory'
  38.     STORAGE_CARD_VOLUME_LABEL = 'Nook Storage Card'
  39.     EBOOK_DIR_MAIN = 'my documents'
  40.     THUMBNAIL_HEIGHT = 144
  41.     DELETE_EXTS = [
  42.         '.jpg']
  43.     SUPPORTS_SUB_DIRS = True
  44.     
  45.     def upload_cover(self, path, filename, metadata):
  46.         
  47.         try:
  48.             Image = Image
  49.             ImageDraw = ImageDraw
  50.             import PIL
  51.             (Image, ImageDraw)
  52.         except ImportError:
  53.             import Image
  54.             import ImageDraw
  55.  
  56.         coverdata = getattr(metadata, 'thumbnail', None)
  57.         if coverdata and coverdata[2]:
  58.             cover = Image.open(cStringIO.StringIO(coverdata[2]))
  59.         else:
  60.             coverdata = open(I('library.png'), 'rb').read()
  61.             cover = Image.new('RGB', (96, 144), 'black')
  62.             im = Image.open(cStringIO.StringIO(coverdata))
  63.             im.thumbnail((96, 144), Image.ANTIALIAS)
  64.             (x, y) = im.size
  65.             cover.paste(im, ((96 - x) / 2, (144 - y) / 2))
  66.             draw = ImageDraw.Draw(cover)
  67.             draw.text((1, 15), metadata.get('title', _('Unknown')).encode('ascii', 'ignore'))
  68.             draw.text((1, 115), metadata.get('authors', _('Unknown')).encode('ascii', 'ignore'))
  69.         data = cStringIO.StringIO()
  70.         cover.save(data, 'JPEG')
  71.         coverdata = data.getvalue()
  72.         
  73.         try:
  74.             coverfile = _[1]
  75.             coverfile.write(coverdata)
  76.         finally:
  77.             pass
  78.  
  79.  
  80.     
  81.     def sanitize_path_components(self, components):
  82.         return [ x.replace('#', '_') for x in components ]
  83.  
  84.  
  85.