diff --git a/morituri/common/config.py b/morituri/common/config.py index d9229e6..66e2399 100644 --- a/morituri/common/config.py +++ b/morituri/common/config.py @@ -113,7 +113,7 @@ class Config: section = self._findDriveSection(vendor, model, release) try: - return bool(self._parser.get(section, 'defeats_cache')) + return self._parser.get(section, 'defeats_cache') == 'True' except ConfigParser.NoOptionError: raise KeyError("Could not find defeats_cache for %s/%s/%s" % ( vendor, model, release)) diff --git a/morituri/test/test_common_config.py b/morituri/test/test_common_config.py index 2930c1f..a90f8a1 100644 --- a/morituri/test/test_common_config.py +++ b/morituri/test/test_common_config.py @@ -9,7 +9,7 @@ from morituri.common import config from morituri.test import common as tcommon -class OffsetTestCase(tcommon.TestCase): +class ConfigTestCase(tcommon.TestCase): def setUp(self): fd, self._path = tempfile.mkstemp(suffix=u'.morituri.test.config') @@ -50,3 +50,19 @@ class OffsetTestCase(tcommon.TestCase): offset = self._config.getReadOffset( 'Slimtype', 'eSAU208 2 ', 'ML03') self.assertEquals(offset, 6) + + def testDefeatsCache(self): + self.assertRaises(KeyError, self._config.getDefeatsCache, + 'PLEXTOR ', 'DVDR PX-L890SA', '1.05') + + self._config.setDefeatsCache( + 'PLEXTOR ', 'DVDR PX-L890SA', '1.05', False) + defeats = self._config.getDefeatsCache( + 'PLEXTOR ', 'DVDR PX-L890SA', '1.05') + self.assertEquals(defeats, False) + + self._config.setDefeatsCache( + 'PLEXTOR ', 'DVDR PX-L890SA', '1.05', True) + defeats = self._config.getDefeatsCache( + 'PLEXTOR ', 'DVDR PX-L890SA', '1.05') + self.assertEquals(defeats, True)