Changeset 410


Ignore:
Timestamp:
19-06-10 00:02:53 (3 years ago)
Author:
thomas
Message:
  • morituri/common/common.py: Add MissingDependencyException?.
  • morituri/program/cdrdao.py:
  • morituri/rip/main.py: Use it to warn about missing cdrdao.
Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r409 r410  
     12010-06-19  Thomas Vander Stichele  <thomas at apestaart dot org> 
     2 
     3        * morituri/common/common.py: 
     4          Add MissingDependencyException. 
     5        * morituri/program/cdrdao.py: 
     6        * morituri/rip/main.py: 
     7          Use it to warn about missing cdrdao. 
     8 
    192010-06-18  Thomas Vander Stichele  <thomas at apestaart dot org> 
    210 
  • trunk/morituri/common/common.py

    r375 r410  
    206206 
    207207    return d1 == d2 
     208 
     209class MissingDependencyException(Exception): 
     210    dependency = None 
     211 
     212    def __init__(self, *args): 
     213        self.args = args 
     214        self.dependency = args[0] 
  • trunk/morituri/program/cdrdao.py

    r395 r410  
    251251 
    252252        bufsize = 1024 
    253         self._popen = asyncsub.Popen(["cdrdao", ] + self.options, 
    254             bufsize=bufsize, 
    255             stdin=subprocess.PIPE, stdout=subprocess.PIPE, 
    256             stderr=subprocess.PIPE, close_fds=True) 
     253        try: 
     254            self._popen = asyncsub.Popen(["cdrdao", ] + self.options, 
     255                bufsize=bufsize, 
     256                stdin=subprocess.PIPE, stdout=subprocess.PIPE, 
     257                stderr=subprocess.PIPE, close_fds=True) 
     258        except OSError, e: 
     259            import errno 
     260            if e.errno == errno.ENOENT: 
     261                raise common.MissingDependencyException('cdrdao') 
     262 
     263            raise 
     264 
    257265        self.debug('Started cdrdao with pid %d and options %r', 
    258266            self._popen.pid, self.options) 
  • trunk/morituri/rip/main.py

    r403 r410  
    44import sys 
    55 
    6 from morituri.common import log, logcommand 
     6from morituri.common import log, logcommand, common, task 
    77from morituri.rip import cd, offset, drive, image 
    88 
     
    1919        # deps.handleImportError(e) 
    2020        # ret = -1 
     21    except task.TaskException, e: 
     22        if isinstance(e.exception, common.MissingDependencyException): 
     23            sys.stderr.write('rip: error: missing dependency "%s"\n' % 
     24                e.exception.dependency) 
     25            return 255 
     26        raise 
    2127 
    2228    if ret is None: 
Note: See TracChangeset for help on using the changeset viewer.