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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. from __future__ import with_statement
  5. __license__ = 'GPL v3'
  6. __copyright__ = '2009, John Schember <john@nachtimwald.com>'
  7. __docformat__ = 'restructuredtext en'
  8. import string
  9. import sys
  10. from calibre.utils.config import OptionParser
  11. from calibre.utils.logging import Log
  12. from calibre.constants import preferred_encoding
  13. from calibre.ebooks.pdf.manipulate import crop, decrypt, encrypt, info, merge, reverse, rotate, split
  14. COMMANDS = {
  15.     'crop': crop,
  16.     'decrypt': decrypt,
  17.     'encrypt': encrypt,
  18.     'info': info,
  19.     'merge': merge,
  20.     'reverse': reverse,
  21.     'rotate': rotate,
  22.     'split': split }
  23. USAGE = '%prog ' + _('command ...\n\ncommand can be one of the following:\n[%%commands]\n\nUse %prog command --help to get more information about a specific command\n\nManipulate a PDF.\n').replace('%%commands', string.join(sorted(COMMANDS.keys()), ', '))
  24.  
  25. def print_help(parser, log):
  26.     help = parser.format_help().encode(preferred_encoding, 'replace')
  27.     log(help)
  28.  
  29.  
  30. def option_parser():
  31.     return OptionParser(usage = USAGE)
  32.  
  33.  
  34. def main(args = sys.argv):
  35.     log = Log()
  36.     parser = option_parser()
  37.     if len(args) < 2:
  38.         print 'Error: No command sepecified.\n'
  39.         print_help(parser, log)
  40.         return 1
  41.     command = args[1].lower().strip()
  42.     if command in COMMANDS.keys():
  43.         del args[1]
  44.         return COMMANDS[command].main(args, command)
  45.     parser.parse_args(args)
  46.     print 'Unknown command %s.\n' % command
  47.     print_help(parser, log)
  48.     return 1
  49.     return 0
  50.  
  51. if __name__ == '__main__':
  52.     sys.exit(main())
  53.  
  54.