def handle_arguments(self): self.options.output_directory = os.path.expanduser( self.options.output_directory) self.options.track_template = self.options.track_template.decode( 'utf-8') self.options.disc_template = self.options.disc_template.decode('utf-8') if self.options.offset is None: raise ValueError("Drive offset is unconfigured.\n" "Please install pycdio and run 'whipper offset " "find' to detect your drive's offset or set it " "manually in the configuration file. It can " "also be specified at runtime using the " "'--offset=value' argument") if self.options.working_directory is not None: self.options.working_directory = os.path.expanduser( self.options.working_directory) if self.options.logger: try: self.logger = result.getLoggers()[self.options.logger]() except KeyError: msg = "No logger named %s found!" % self.options.logger logger.critical(msg) raise ValueError(msg)
def handle_arguments(self): self.options.output_directory = os.path.expanduser( self.options.output_directory) self.options.track_template = self.options.track_template.decode( 'utf-8') self.options.disc_template = self.options.disc_template.decode('utf-8') if self.options.offset is None: raise ValueError("Drive offset is unconfigured.\n" "Please install pycdio and run 'whipper offset " "find' to detect your drive's offset or set it " "manually in the configuration file. It can " "also be specified at runtime using the " "'--offset=value' argument") if self.options.working_directory is not None: self.options.working_directory = os.path.expanduser( self.options.working_directory) if self.options.logger: try: self.logger = result.getLoggers()[self.options.logger]() except KeyError: msg = "No logger named %s found!" % self.options.logger logger.critical(msg) raise ValueError(msg)
def add_arguments(self): loggers = result.getLoggers().keys() default_offset = None info = drive.getDeviceInfo(self.opts.device) if info: try: default_offset = config.Config().getReadOffset(*info) sys.stdout.write("Using configured read offset %d\n" % default_offset) except KeyError: pass _CD.add_arguments(self.parser) self.parser.add_argument('-L', '--logger', action="store", dest="logger", default='whipper', help="logger to use (choose from '" "', '".join(loggers) + "')") # FIXME: get from config self.parser.add_argument('-o', '--offset', action="store", dest="offset", default=default_offset, help="sample read offset") self.parser.add_argument('-x', '--force-overread', action="store_true", dest="overread", default=False, help="Force overreading into the " "lead-out portion of the disc. Works only " "if the patched cdparanoia package is " "installed and the drive " "supports this feature. ") self.parser.add_argument('-O', '--output-directory', action="store", dest="output_directory", default=os.path.relpath(os.getcwd()), help="output directory; will be included " "in file paths in log") self.parser.add_argument('-W', '--working-directory', action="store", dest="working_directory", help="working directory; whipper will " "change to this directory " "and files will be created relative to " "it when not absolute") self.parser.add_argument('--track-template', action="store", dest="track_template", default=DEFAULT_TRACK_TEMPLATE, help="template for track file naming") self.parser.add_argument('--disc-template', action="store", dest="disc_template", default=DEFAULT_DISC_TEMPLATE, help="template for disc file naming") self.parser.add_argument('-U', '--unknown', action="store_true", dest="unknown", help="whether to continue ripping if " "the CD is unknown", default=False) self.parser.add_argument('--cdr', action="store_true", dest="cdr", help="whether to continue ripping if " "the disc is a CD-R", default=False)
def add_arguments(self): loggers = result.getLoggers().keys() default_offset = None info = drive.getDeviceInfo(self.opts.device) if info: try: default_offset = config.Config().getReadOffset(*info) sys.stdout.write("Using configured read offset %d\n" % default_offset) except KeyError: pass _CD.add_arguments(self.parser) self.parser.add_argument('-L', '--logger', action="store", dest="logger", default='whipper', help="logger to use (choose from '" "', '".join(loggers) + "')") # FIXME: get from config self.parser.add_argument('-o', '--offset', action="store", dest="offset", default=default_offset, help="sample read offset") self.parser.add_argument('-x', '--force-overread', action="store_true", dest="overread", default=False, help="Force overreading into the " "lead-out portion of the disc. Works only " "if the patched cdparanoia package is " "installed and the drive " "supports this feature. ") self.parser.add_argument('-O', '--output-directory', action="store", dest="output_directory", default=os.path.relpath(os.getcwd()), help="output directory; will be included " "in file paths in log") self.parser.add_argument('-W', '--working-directory', action="store", dest="working_directory", help="working directory; whipper will " "change to this directory " "and files will be created relative to " "it when not absolute") self.parser.add_argument('--track-template', action="store", dest="track_template", default=DEFAULT_TRACK_TEMPLATE, help="template for track file naming") self.parser.add_argument('--disc-template', action="store", dest="disc_template", default=DEFAULT_DISC_TEMPLATE, help="template for disc file naming") self.parser.add_argument('-U', '--unknown', action="store_true", dest="unknown", help="whether to continue ripping if " "the CD is unknown", default=False) self.parser.add_argument('--cdr', action="store_true", dest="cdr", help="whether to continue ripping if " "the disc is a CD-R", default=False)
def add_arguments(self): loggers = result.getLoggers().keys() self.parser.add_argument( '-L', '--logger', action="store", dest="logger", default='whipper', help="logger to use (choose from '" + "', '".join(loggers) + "')" )
def add_arguments(self): loggers = result.getLoggers().keys() self.parser.add_argument( '-L', '--logger', action="store", dest="logger", default='whipper', help="logger to use (choose from '" + "', '".join(loggers) + "')" )
def do(self, args): self._cache = cache.ResultCache() persisted = self._cache.getRipResult(args[0], create=False) if not persisted: sys.stderr.write('Could not find a result for cddb disc id %s\n' % args[0]) return 3 try: klazz = result.getLoggers()[self.options.logger] except KeyError: sys.stderr.write("No logger named %s found!\n" % (self.options.logger)) return 3 logger = klazz() sys.stdout.write(logger.log(persisted.object).encode('utf-8'))
def do(self, args): self._cache = cache.ResultCache() persisted = self._cache.getRipResult(args[0], create=False) if not persisted: sys.stderr.write( 'Could not find a result for cddb disc id %s\n' % args[0]) return 3 try: klazz = result.getLoggers()[self.options.logger] except KeyError: sys.stderr.write("No logger named %s found!\n" % ( self.options.logger)) return 3 logger = klazz() sys.stdout.write(logger.log(persisted.object).encode('utf-8'))
def handle_arguments(self): self.options.output_directory = os.path.expanduser( self.options.output_directory) self.options.track_template = self.options.track_template validate_template(self.options.track_template, 'track') self.options.disc_template = self.options.disc_template validate_template(self.options.disc_template, 'disc') if self.options.offset is None: raise SystemExit( "Error: drive offset unconfigured. Please install pycdio and " "run 'whipper offset find' to detect your drive's offset or " "set it manually in the configuration file. It can also be " "specified at runtime using the '--offset=value' argument" ) if self.options.working_directory is not None: self.options.working_directory = os.path.expanduser( self.options.working_directory) if self.options.logger: try: self.logger = result.getLoggers()[self.options.logger]() except KeyError: msg = "No logger named %s found!" % self.options.logger logger.critical(msg) raise ValueError(msg) try: self.options.max_retries = int(self.options.max_retries) except ValueError: raise ValueError("max retries' value must be of integer type") if self.options.max_retries == 0: self.options.max_retries = float("inf") elif self.options.max_retries < 0: raise ValueError("number of max retries must be positive")
def add_arguments(self): loggers = list(result.getLoggers()) default_offset = None info = drive.getDeviceInfo(self.opts.device) if info: try: default_offset = config.Config().getReadOffset(*info) logger.info("using configured read offset %d", default_offset) except KeyError: pass _CD.add_arguments(self.parser) self.parser.add_argument('-L', '--logger', action="store", dest="logger", default='whipper', help=("logger to use (choose from: '%s" % "', '".join(loggers) + "')")) self.parser.add_argument('-o', '--offset', action="store", dest="offset", default=default_offset, help="sample read offset") self.parser.add_argument('-x', '--force-overread', action="store_true", dest="overread", default=False, help="Force overreading into the " "lead-out portion of the disc. Works only " "if the patched cdparanoia package is " "installed and the drive " "supports this feature. ") self.parser.add_argument('-O', '--output-directory', action="store", dest="output_directory", default=os.curdir, help="output directory; will be included " "in file paths in log") self.parser.add_argument('-W', '--working-directory', action="store", dest="working_directory", help="working directory; whipper will " "change to this directory " "and files will be created relative to " "it when not absolute") self.parser.add_argument('--track-template', action="store", dest="track_template", default=DEFAULT_TRACK_TEMPLATE, help="template for track file naming") self.parser.add_argument('--disc-template', action="store", dest="disc_template", default=DEFAULT_DISC_TEMPLATE, help="template for disc file naming") self.parser.add_argument('-U', '--unknown', action="store_true", dest="unknown", help="whether to continue ripping if " "the CD is unknown", default=False) self.parser.add_argument('--cdr', action="store_true", dest="cdr", help="whether to continue ripping if " "the disc is a CD-R", default=False) self.parser.add_argument('-C', '--cover-art', action="store", dest="cover_art", help="fetch cover art and save it as " "standalone file, embed into FLAC files " "or perform both actions: file, embed, " "complete option values respectively", choices=['file', 'embed', 'complete'], default=None) self.parser.add_argument('-r', '--max-retries', action="store", dest="max_retries", help="number of rip attempts before giving " "up if can't rip a track. This defaults to " "{}; 0 means " "infinity.".format(DEFAULT_MAX_RETRIES), default=DEFAULT_MAX_RETRIES) self.parser.add_argument('-k', '--keep-going', action='store_true', help="continue ripping further tracks " "instead of giving up if a track " "can't be ripped")