diff --git a/src/calibre/ebooks/html_transform_rules.py b/src/calibre/ebooks/html_transform_rules.py index 71ce575993..d821c61f54 100644 --- a/src/calibre/ebooks/html_transform_rules.py +++ b/src/calibre/ebooks/html_transform_rules.py @@ -153,11 +153,14 @@ def rule_to_text(rule): def export_rules(serialized_rules): - return json_dumps(serialized_rules, indent=2, sort_keys=True) + return json_dumps({'version': 1, 'type': 'html_transform_rules', 'rules': serialized_rules}, indent=2, sort_keys=True) def import_rules(raw_data): - return json_loads(raw_data) + d = json_loads(raw_data) + if d.get('version') == 1 and d.get('type') == 'html_transform_rules': + return d['rules'] + return [] def test(return_tests=False): # {{{ @@ -189,7 +192,7 @@ def test(return_tests=False): # {{{ def test_export_import(self): rule = {'property':'a', 'match_type':'*', 'query':'some text', 'action':'remove', 'action_data':'color: red; a: b'} - self.ae(rule, next(import_rules(export_rules([rule])))) + self.ae(rule, next(iter(import_rules(export_rules([rule]))))) tests = unittest.defaultTestLoader.loadTestsFromTestCase(TestTransforms) if return_tests: