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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import os.path as os
  5. __license__ = 'GPL v3'
  6. __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
  7. import textwrap
  8. import os
  9. import glob
  10. from calibre.customize import FileTypePlugin, MetadataReaderPlugin, MetadataWriterPlugin
  11. from calibre.constants import numeric_version
  12. from calibre.ebooks.metadata.archive import ArchiveExtract, get_cbz_metadata
  13.  
  14. class HTML2ZIP(FileTypePlugin):
  15.     name = 'HTML to ZIP'
  16.     author = 'Kovid Goyal'
  17.     description = textwrap.dedent(_('Follow all local links in an HTML file and create a ZIP file containing all linked files. This plugin is run every time you add an HTML file to the library.'))
  18.     version = numeric_version
  19.     file_types = set([
  20.         'html',
  21.         'htm',
  22.         'xhtml',
  23.         'xhtm',
  24.         'shtm',
  25.         'shtml'])
  26.     supported_platforms = [
  27.         'windows',
  28.         'osx',
  29.         'linux']
  30.     on_import = True
  31.     
  32.     def run(self, htmlfile):
  33.         TemporaryDirectory = TemporaryDirectory
  34.         import calibre.ptempfile
  35.         gui_convert = gui_convert
  36.         import calibre.gui2.convert.gui_conversion
  37.         OptionRecommendation = OptionRecommendation
  38.         import calibre.customize.conversion
  39.         initialize_container = initialize_container
  40.         import calibre.ebooks.epub
  41.         
  42.         try:
  43.             tdir = _[1]
  44.             recs = [
  45.                 ('debug_pipeline', tdir, OptionRecommendation.HIGH)]
  46.             recs.append([
  47.                 'keep_ligatures',
  48.                 True,
  49.                 OptionRecommendation.HIGH])
  50.             gui_convert(htmlfile, tdir, recs, abort_after_input_dump = True)
  51.             of = self.temporary_file('_plugin_html2zip.zip')
  52.             tdir = os.path.join(tdir, 'input')
  53.             opf = glob.glob(os.path.join(tdir, '*.opf'))[0]
  54.             ncx = glob.glob(os.path.join(tdir, '*.ncx'))
  55.             if ncx:
  56.                 os.remove(ncx[0])
  57.             
  58.             epub = initialize_container(of.name, os.path.basename(opf))
  59.             epub.add_dir(tdir)
  60.             epub.close()
  61.         finally:
  62.             pass
  63.  
  64.         return of.name
  65.  
  66.     
  67.     def customization_help(self, gui = False):
  68.         return _('Character encoding for the input HTML files. Common choices include: cp1252, latin1, iso-8859-1 and utf-8.')
  69.  
  70.  
  71.  
  72. class PML2PMLZ(FileTypePlugin):
  73.     name = 'PML to PMLZ'
  74.     author = 'John Schember'
  75.     description = _('Create a PMLZ archive containing the PML file and all images in the directory pmlname_img or images. This plugin is run every time you add a PML file to the library.')
  76.     version = numeric_version
  77.     file_types = set([
  78.         'pml'])
  79.     supported_platforms = [
  80.         'windows',
  81.         'osx',
  82.         'linux']
  83.     on_import = True
  84.     
  85.     def run(self, pmlfile):
  86.         import zipfile
  87.         of = self.temporary_file('_plugin_pml2pmlz.pmlz')
  88.         pmlz = zipfile.ZipFile(of.name, 'w')
  89.         pmlz.write(pmlfile, os.path.basename(pmlfile), zipfile.ZIP_DEFLATED)
  90.         pml_img = os.path.splitext(pmlfile)[0] + '_img'
  91.         i_img = os.path.join(os.path.dirname(pmlfile), 'images')
  92.         if os.path.isdir(pml_img):
  93.             pass
  94.         elif os.path.isdir(i_img):
  95.             pass
  96.         
  97.         img_dir = ''
  98.         if img_dir:
  99.             for image in glob.glob(os.path.join(img_dir, '*.png')):
  100.                 pmlz.write(image, os.path.join('images', os.path.basename(image)))
  101.             
  102.         
  103.         pmlz.close()
  104.         return of.name
  105.  
  106.  
  107.  
  108. class ComicMetadataReader(MetadataReaderPlugin):
  109.     name = 'Read comic metadata'
  110.     file_types = set([
  111.         'cbr',
  112.         'cbz'])
  113.     description = _('Extract cover from comic files')
  114.     
  115.     def get_metadata(self, stream, ftype):
  116.         if ftype == 'cbr':
  117.             extract_first = extract_member
  118.             import calibre.libunrar
  119.             extract_first
  120.         else:
  121.             extract_first = extract_member
  122.             import calibre.libunzip
  123.         MetaInformation = MetaInformation
  124.         import calibre.ebooks.metadata
  125.         ret = extract_first(stream)
  126.         mi = MetaInformation(None, None)
  127.         stream.seek(0)
  128.         if ftype == 'cbz':
  129.             
  130.             try:
  131.                 mi.smart_update(get_cbz_metadata(stream))
  132.  
  133.         
  134.         if ret is not None:
  135.             (path, data) = ret
  136.             ext = os.path.splitext(path)[1][1:]
  137.             mi.cover_data = (ext.lower(), data)
  138.         
  139.         return mi
  140.  
  141.  
  142.  
  143. class CHMMetadataReader(MetadataReaderPlugin):
  144.     name = 'Read CHM metadata'
  145.     file_types = set([
  146.         'chm'])
  147.     description = _('Read metadata from %s files') % 'CHM'
  148.     
  149.     def get_metadata(self, stream, ftype):
  150.         get_metadata = get_metadata
  151.         import calibre.ebooks.chm.metadata
  152.         return get_metadata(stream)
  153.  
  154.  
  155.  
  156. class EPUBMetadataReader(MetadataReaderPlugin):
  157.     name = 'Read EPUB metadata'
  158.     file_types = set([
  159.         'epub'])
  160.     description = _('Read metadata from %s files') % 'EPUB'
  161.     
  162.     def get_metadata(self, stream, ftype):
  163.         get_metadata = get_metadata
  164.         get_quick_metadata = get_quick_metadata
  165.         import calibre.ebooks.metadata.epub
  166.         if self.quick:
  167.             return get_quick_metadata(stream)
  168.         return get_metadata(stream)
  169.  
  170.  
  171.  
  172. class FB2MetadataReader(MetadataReaderPlugin):
  173.     name = 'Read FB2 metadata'
  174.     file_types = set([
  175.         'fb2'])
  176.     description = _('Read metadata from %s files') % 'FB2'
  177.     
  178.     def get_metadata(self, stream, ftype):
  179.         get_metadata = get_metadata
  180.         import calibre.ebooks.metadata.fb2
  181.         return get_metadata(stream)
  182.  
  183.  
  184.  
  185. class HTMLMetadataReader(MetadataReaderPlugin):
  186.     name = 'Read HTML metadata'
  187.     file_types = set([
  188.         'html'])
  189.     description = _('Read metadata from %s files') % 'HTML'
  190.     
  191.     def get_metadata(self, stream, ftype):
  192.         get_metadata = get_metadata
  193.         import calibre.ebooks.metadata.html
  194.         return get_metadata(stream)
  195.  
  196.  
  197.  
  198. class IMPMetadataReader(MetadataReaderPlugin):
  199.     name = 'Read IMP metadata'
  200.     file_types = set([
  201.         'imp'])
  202.     description = _('Read metadata from %s files') % 'IMP'
  203.     author = 'Ashish Kulkarni'
  204.     
  205.     def get_metadata(self, stream, ftype):
  206.         get_metadata = get_metadata
  207.         import calibre.ebooks.metadata.imp
  208.         return get_metadata(stream)
  209.  
  210.  
  211.  
  212. class LITMetadataReader(MetadataReaderPlugin):
  213.     name = 'Read LIT metadata'
  214.     file_types = set([
  215.         'lit'])
  216.     description = _('Read metadata from %s files') % 'LIT'
  217.     
  218.     def get_metadata(self, stream, ftype):
  219.         get_metadata = get_metadata
  220.         import calibre.ebooks.metadata.lit
  221.         return get_metadata(stream)
  222.  
  223.  
  224.  
  225. class LRFMetadataReader(MetadataReaderPlugin):
  226.     name = 'Read LRF metadata'
  227.     file_types = set([
  228.         'lrf'])
  229.     description = _('Read metadata from %s files') % 'LRF'
  230.     
  231.     def get_metadata(self, stream, ftype):
  232.         get_metadata = get_metadata
  233.         import calibre.ebooks.lrf.meta
  234.         return get_metadata(stream)
  235.  
  236.  
  237.  
  238. class LRXMetadataReader(MetadataReaderPlugin):
  239.     name = 'Read LRX metadata'
  240.     file_types = set([
  241.         'lrx'])
  242.     description = _('Read metadata from %s files') % 'LRX'
  243.     
  244.     def get_metadata(self, stream, ftype):
  245.         get_metadata = get_metadata
  246.         import calibre.ebooks.metadata.lrx
  247.         return get_metadata(stream)
  248.  
  249.  
  250.  
  251. class MOBIMetadataReader(MetadataReaderPlugin):
  252.     name = 'Read MOBI metadata'
  253.     file_types = set([
  254.         'mobi',
  255.         'prc',
  256.         'azw'])
  257.     description = _('Read metadata from %s files') % 'MOBI'
  258.     
  259.     def get_metadata(self, stream, ftype):
  260.         get_metadata = get_metadata
  261.         import calibre.ebooks.mobi.reader
  262.         return get_metadata(stream)
  263.  
  264.  
  265.  
  266. class ODTMetadataReader(MetadataReaderPlugin):
  267.     name = 'Read ODT metadata'
  268.     file_types = set([
  269.         'odt'])
  270.     description = _('Read metadata from %s files') % 'ODT'
  271.     
  272.     def get_metadata(self, stream, ftype):
  273.         get_metadata = get_metadata
  274.         import calibre.ebooks.metadata.odt
  275.         return get_metadata(stream)
  276.  
  277.  
  278.  
  279. class OPFMetadataReader(MetadataReaderPlugin):
  280.     name = 'Read OPF metadata'
  281.     file_types = set([
  282.         'opf'])
  283.     description = _('Read metadata from %s files') % 'OPF'
  284.     
  285.     def get_metadata(self, stream, ftype):
  286.         OPF = OPF
  287.         import calibre.ebooks.metadata.opf2
  288.         MetaInformation = MetaInformation
  289.         import calibre.ebooks.metadata
  290.         return MetaInformation(OPF(stream, os.getcwd()))
  291.  
  292.  
  293.  
  294. class PDBMetadataReader(MetadataReaderPlugin):
  295.     name = 'Read PDB metadata'
  296.     file_types = set([
  297.         'pdb'])
  298.     description = _('Read metadata from %s files') % 'PDB'
  299.     author = 'John Schember'
  300.     
  301.     def get_metadata(self, stream, ftype):
  302.         get_metadata = get_metadata
  303.         import calibre.ebooks.metadata.pdb
  304.         return get_metadata(stream)
  305.  
  306.  
  307.  
  308. class PDFMetadataReader(MetadataReaderPlugin):
  309.     name = 'Read PDF metadata'
  310.     file_types = set([
  311.         'pdf'])
  312.     description = _('Read metadata from %s files') % 'PDF'
  313.     
  314.     def get_metadata(self, stream, ftype):
  315.         get_metadata = get_metadata
  316.         get_quick_metadata = get_quick_metadata
  317.         import calibre.ebooks.metadata.pdf
  318.         if self.quick:
  319.             return get_quick_metadata(stream)
  320.         return get_metadata(stream)
  321.  
  322.  
  323.  
  324. class PMLMetadataReader(MetadataReaderPlugin):
  325.     name = 'Read PML metadata'
  326.     file_types = set([
  327.         'pml',
  328.         'pmlz'])
  329.     description = _('Read metadata from %s files') % 'PML'
  330.     author = 'John Schember'
  331.     
  332.     def get_metadata(self, stream, ftype):
  333.         get_metadata = get_metadata
  334.         import calibre.ebooks.metadata.pml
  335.         return get_metadata(stream)
  336.  
  337.  
  338.  
  339. class RARMetadataReader(MetadataReaderPlugin):
  340.     name = 'Read RAR metadata'
  341.     file_types = set([
  342.         'rar'])
  343.     description = _('Read metadata from ebooks in RAR archives')
  344.     
  345.     def get_metadata(self, stream, ftype):
  346.         get_metadata = get_metadata
  347.         import calibre.ebooks.metadata.rar
  348.         return get_metadata(stream)
  349.  
  350.  
  351.  
  352. class RBMetadataReader(MetadataReaderPlugin):
  353.     name = 'Read RB metadata'
  354.     file_types = set([
  355.         'rb'])
  356.     description = _('Read metadata from %s files') % 'RB'
  357.     author = 'Ashish Kulkarni'
  358.     
  359.     def get_metadata(self, stream, ftype):
  360.         get_metadata = get_metadata
  361.         import calibre.ebooks.metadata.rb
  362.         return get_metadata(stream)
  363.  
  364.  
  365.  
  366. class RTFMetadataReader(MetadataReaderPlugin):
  367.     name = 'Read RTF metadata'
  368.     file_types = set([
  369.         'rtf'])
  370.     description = _('Read metadata from %s files') % 'RTF'
  371.     
  372.     def get_metadata(self, stream, ftype):
  373.         get_metadata = get_metadata
  374.         import calibre.ebooks.metadata.rtf
  375.         return get_metadata(stream)
  376.  
  377.  
  378.  
  379. class TOPAZMetadataReader(MetadataReaderPlugin):
  380.     name = 'Read Topaz metadata'
  381.     file_types = set([
  382.         'tpz',
  383.         'azw1'])
  384.     description = _('Read metadata from %s files') % 'MOBI'
  385.     
  386.     def get_metadata(self, stream, ftype):
  387.         get_metadata = get_metadata
  388.         import calibre.ebooks.metadata.topaz
  389.         return get_metadata(stream)
  390.  
  391.  
  392.  
  393. class TXTMetadataReader(MetadataReaderPlugin):
  394.     name = 'Read TXT metadata'
  395.     file_types = set([
  396.         'txt'])
  397.     description = _('Read metadata from %s files') % 'TXT'
  398.     author = 'John Schember'
  399.     
  400.     def get_metadata(self, stream, ftype):
  401.         get_metadata = get_metadata
  402.         import calibre.ebooks.metadata.txt
  403.         return get_metadata(stream)
  404.  
  405.  
  406.  
  407. class ZipMetadataReader(MetadataReaderPlugin):
  408.     name = 'Read ZIP metadata'
  409.     file_types = set([
  410.         'zip',
  411.         'oebzip'])
  412.     description = _('Read metadata from ebooks in ZIP archives')
  413.     
  414.     def get_metadata(self, stream, ftype):
  415.         get_metadata = get_metadata
  416.         import calibre.ebooks.metadata.zip
  417.         return get_metadata(stream)
  418.  
  419.  
  420.  
  421. class EPUBMetadataWriter(MetadataWriterPlugin):
  422.     name = 'Set EPUB metadata'
  423.     file_types = set([
  424.         'epub'])
  425.     description = _('Set metadata in %s files') % 'EPUB'
  426.     
  427.     def set_metadata(self, stream, mi, type):
  428.         set_metadata = set_metadata
  429.         import calibre.ebooks.metadata.epub
  430.         set_metadata(stream, mi, apply_null = self.apply_null)
  431.  
  432.  
  433.  
  434. class LRFMetadataWriter(MetadataWriterPlugin):
  435.     name = 'Set LRF metadata'
  436.     file_types = set([
  437.         'lrf'])
  438.     description = _('Set metadata in %s files') % 'LRF'
  439.     
  440.     def set_metadata(self, stream, mi, type):
  441.         set_metadata = set_metadata
  442.         import calibre.ebooks.lrf.meta
  443.         set_metadata(stream, mi)
  444.  
  445.  
  446.  
  447. class MOBIMetadataWriter(MetadataWriterPlugin):
  448.     name = 'Set MOBI metadata'
  449.     file_types = set([
  450.         'mobi',
  451.         'prc',
  452.         'azw'])
  453.     description = _('Set metadata in %s files') % 'MOBI'
  454.     author = 'Marshall T. Vandegrift'
  455.     
  456.     def set_metadata(self, stream, mi, type):
  457.         set_metadata = set_metadata
  458.         import calibre.ebooks.metadata.mobi
  459.         set_metadata(stream, mi)
  460.  
  461.  
  462.  
  463. class PDBMetadataWriter(MetadataWriterPlugin):
  464.     name = 'Set PDB metadata'
  465.     file_types = set([
  466.         'pdb'])
  467.     description = _('Set metadata from %s files') % 'PDB'
  468.     author = 'John Schember'
  469.     
  470.     def set_metadata(self, stream, mi, type):
  471.         set_metadata = set_metadata
  472.         import calibre.ebooks.metadata.pdb
  473.         set_metadata(stream, mi)
  474.  
  475.  
  476.  
  477. class PDFMetadataWriter(MetadataWriterPlugin):
  478.     name = 'Set PDF metadata'
  479.     file_types = set([
  480.         'pdf'])
  481.     description = _('Set metadata in %s files') % 'PDF'
  482.     author = 'Kovid Goyal'
  483.     
  484.     def set_metadata(self, stream, mi, type):
  485.         set_metadata = set_metadata
  486.         import calibre.ebooks.metadata.pdf
  487.         set_metadata(stream, mi)
  488.  
  489.  
  490.  
  491. class RTFMetadataWriter(MetadataWriterPlugin):
  492.     name = 'Set RTF metadata'
  493.     file_types = set([
  494.         'rtf'])
  495.     description = _('Set metadata in %s files') % 'RTF'
  496.     
  497.     def set_metadata(self, stream, mi, type):
  498.         set_metadata = set_metadata
  499.         import calibre.ebooks.metadata.rtf
  500.         set_metadata(stream, mi)
  501.  
  502.  
  503.  
  504. class TOPAZMetadataWriter(MetadataWriterPlugin):
  505.     name = 'Set TOPAZ metadata'
  506.     file_types = set([
  507.         'tpz',
  508.         'azw1'])
  509.     description = _('Set metadata in %s files') % 'TOPAZ'
  510.     author = 'Greg Riker'
  511.     
  512.     def set_metadata(self, stream, mi, type):
  513.         set_metadata = set_metadata
  514.         import calibre.ebooks.metadata.topaz
  515.         set_metadata(stream, mi)
  516.  
  517.  
  518. from calibre.ebooks.comic.input import ComicInput
  519. from calibre.ebooks.epub.input import EPUBInput
  520. from calibre.ebooks.fb2.input import FB2Input
  521. from calibre.ebooks.html.input import HTMLInput
  522. from calibre.ebooks.lit.input import LITInput
  523. from calibre.ebooks.mobi.input import MOBIInput
  524. from calibre.ebooks.odt.input import ODTInput
  525. from calibre.ebooks.pdb.input import PDBInput
  526. from calibre.ebooks.pdf.input import PDFInput
  527. from calibre.ebooks.pml.input import PMLInput
  528. from calibre.ebooks.rb.input import RBInput
  529. from calibre.web.feeds.input import RecipeInput
  530. from calibre.ebooks.rtf.input import RTFInput
  531. from calibre.ebooks.tcr.input import TCRInput
  532. from calibre.ebooks.txt.input import TXTInput
  533. from calibre.ebooks.lrf.input import LRFInput
  534. from calibre.ebooks.chm.input import CHMInput
  535. from calibre.ebooks.epub.output import EPUBOutput
  536. from calibre.ebooks.fb2.output import FB2Output
  537. from calibre.ebooks.lit.output import LITOutput
  538. from calibre.ebooks.lrf.output import LRFOutput
  539. from calibre.ebooks.mobi.output import MOBIOutput
  540. from calibre.ebooks.oeb.output import OEBOutput
  541. from calibre.ebooks.pdb.output import PDBOutput
  542. from calibre.ebooks.pdf.output import PDFOutput
  543. from calibre.ebooks.pml.output import PMLOutput
  544. from calibre.ebooks.rb.output import RBOutput
  545. from calibre.ebooks.rtf.output import RTFOutput
  546. from calibre.ebooks.tcr.output import TCROutput
  547. from calibre.ebooks.txt.output import TXTOutput
  548. from calibre.customize.profiles import input_profiles, output_profiles
  549. from calibre.devices.apple.driver import ITUNES
  550. from calibre.devices.hanlin.driver import HANLINV3, HANLINV5, BOOX
  551. from calibre.devices.blackberry.driver import BLACKBERRY
  552. from calibre.devices.cybook.driver import CYBOOK
  553. from calibre.devices.eb600.driver import EB600, COOL_ER, SHINEBOOK, POCKETBOOK360, GER2, ITALICA, ECLICTO, DBOOK, INVESBOOK, BOOQ, ELONEX, POCKETBOOK301, MENTOR
  554. from calibre.devices.iliad.driver import ILIAD
  555. from calibre.devices.irexdr.driver import IREXDR1000, IREXDR800
  556. from calibre.devices.jetbook.driver import JETBOOK, MIBUK
  557. from calibre.devices.kindle.driver import KINDLE, KINDLE2, KINDLE_DX
  558. from calibre.devices.nook.driver import NOOK
  559. from calibre.devices.prs505.driver import PRS505
  560. from calibre.devices.android.driver import ANDROID, S60
  561. from calibre.devices.nokia.driver import N770, N810, E71X, E52
  562. from calibre.devices.eslick.driver import ESLICK, EBK52
  563. from calibre.devices.nuut2.driver import NUUT2
  564. from calibre.devices.iriver.driver import IRIVER_STORY
  565. from calibre.devices.binatone.driver import README
  566. from calibre.devices.hanvon.driver import N516, EB511, ALEX, AZBOOKA, THEBOOK
  567. from calibre.devices.edge.driver import EDGE
  568. from calibre.devices.teclast.driver import TECLAST_K3, NEWSMY, IPAPYRUS
  569. from calibre.devices.sne.driver import SNE
  570. from calibre.devices.misc import PALMPRE, AVANT, SWEEX, PDNOVEL
  571. from calibre.devices.folder_device.driver import FOLDER_DEVICE_FOR_CONFIG
  572. from calibre.devices.kobo.driver import KOBO
  573. from calibre.ebooks.metadata.fetch import GoogleBooks, ISBNDB, Amazon, LibraryThing
  574. from calibre.ebooks.metadata.douban import DoubanBooks
  575. from calibre.ebooks.metadata.covers import OpenLibraryCovers, LibraryThingCovers
  576. from calibre.library.catalog import CSV_XML, EPUB_MOBI, BIBTEX
  577. from calibre.ebooks.epub.fix.unmanifested import Unmanifested
  578. from calibre.ebooks.epub.fix.epubcheck import Epubcheck
  579. plugins = [
  580.     HTML2ZIP,
  581.     PML2PMLZ,
  582.     ArchiveExtract,
  583.     GoogleBooks,
  584.     ISBNDB,
  585.     Amazon,
  586.     LibraryThing,
  587.     DoubanBooks,
  588.     CSV_XML,
  589.     EPUB_MOBI,
  590.     BIBTEX,
  591.     Unmanifested,
  592.     Epubcheck,
  593.     OpenLibraryCovers,
  594.     LibraryThingCovers]
  595. plugins += [
  596.     ComicInput,
  597.     EPUBInput,
  598.     FB2Input,
  599.     HTMLInput,
  600.     LITInput,
  601.     MOBIInput,
  602.     ODTInput,
  603.     PDBInput,
  604.     PDFInput,
  605.     PMLInput,
  606.     RBInput,
  607.     RecipeInput,
  608.     RTFInput,
  609.     TCRInput,
  610.     TXTInput,
  611.     LRFInput,
  612.     CHMInput]
  613. plugins += [
  614.     EPUBOutput,
  615.     FB2Output,
  616.     LITOutput,
  617.     LRFOutput,
  618.     MOBIOutput,
  619.     OEBOutput,
  620.     PDBOutput,
  621.     PDFOutput,
  622.     PMLOutput,
  623.     RBOutput,
  624.     RTFOutput,
  625.     TCROutput,
  626.     TXTOutput]
  627. plugins += [
  628.     HANLINV3,
  629.     HANLINV5,
  630.     BLACKBERRY,
  631.     CYBOOK,
  632.     ILIAD,
  633.     IREXDR1000,
  634.     IREXDR800,
  635.     JETBOOK,
  636.     MIBUK,
  637.     SHINEBOOK,
  638.     POCKETBOOK360,
  639.     POCKETBOOK301,
  640.     KINDLE,
  641.     KINDLE2,
  642.     KINDLE_DX,
  643.     NOOK,
  644.     PRS505,
  645.     ANDROID,
  646.     S60,
  647.     N770,
  648.     E71X,
  649.     E52,
  650.     N810,
  651.     COOL_ER,
  652.     ESLICK,
  653.     EBK52,
  654.     NUUT2,
  655.     IRIVER_STORY,
  656.     GER2,
  657.     ITALICA,
  658.     ECLICTO,
  659.     DBOOK,
  660.     INVESBOOK,
  661.     BOOX,
  662.     BOOQ,
  663.     EB600,
  664.     README,
  665.     N516,
  666.     THEBOOK,
  667.     EB511,
  668.     ELONEX,
  669.     TECLAST_K3,
  670.     NEWSMY,
  671.     IPAPYRUS,
  672.     EDGE,
  673.     SNE,
  674.     ALEX,
  675.     PALMPRE,
  676.     KOBO,
  677.     AZBOOKA,
  678.     FOLDER_DEVICE_FOR_CONFIG,
  679.     AVANT,
  680.     MENTOR,
  681.     SWEEX,
  682.     PDNOVEL,
  683.     ITUNES]
  684. [] += _[1]
  685. [] += _[2]
  686. plugins += input_profiles + output_profiles
  687.