File tree 4 files changed +19
-13
lines changed
4 files changed +19
-13
lines changed Original file line number Diff line number Diff line change @@ -6,7 +6,10 @@ Python-Markdown Change Log
6
6
Under development: version 3.2.2 (a bug-fix release).
7
7
8
8
* Load entry_points (for extensions) only once using ` importlib.metadata ` .
9
- * Fixed issue where double escaped entities could end up in TOC.
9
+ * Do not double escape entities in TOC.
10
+ * Correctly report if an extension raises a ` TypeError ` (#939 ).
11
+ * Raise a ` KeyError ` when attempting to delete a nonexistent key from the
12
+ extension registry (#939 ).
10
13
11
14
Feb 12, 2020: Released version 3.2.1 (a bug-fix release).
12
15
Original file line number Diff line number Diff line change @@ -75,15 +75,18 @@ def _extendMarkdown(self, *args):
75
75
md = args [0 ]
76
76
try :
77
77
self .extendMarkdown (md )
78
- except TypeError :
79
- # Must be a 2.x extension. Pass in a dumby md_globals.
80
- self .extendMarkdown (md , {})
81
- warnings .warn (
82
- "The 'md_globals' parameter of '{}.{}.extendMarkdown' is "
83
- "deprecated." .format (self .__class__ .__module__ , self .__class__ .__name__ ),
84
- category = DeprecationWarning ,
85
- stacklevel = 2
86
- )
78
+ except TypeError as e :
79
+ if "missing 1 required positional argument" in str (e ):
80
+ # Must be a 2.x extension. Pass in a dumby md_globals.
81
+ self .extendMarkdown (md , {})
82
+ warnings .warn (
83
+ "The 'md_globals' parameter of '{}.{}.extendMarkdown' is "
84
+ "deprecated." .format (self .__class__ .__module__ , self .__class__ .__name__ ),
85
+ category = DeprecationWarning ,
86
+ stacklevel = 2
87
+ )
88
+ else :
89
+ raise
87
90
88
91
def extendMarkdown (self , md ):
89
92
"""
Original file line number Diff line number Diff line change @@ -399,7 +399,7 @@ def __delitem__(self, key):
399
399
stacklevel = 2 ,
400
400
)
401
401
else :
402
- raise TypeError
402
+ raise KeyError ( 'Cannot delete key {}, not registered.' . format ( key ))
403
403
404
404
def add (self , key , value , location ):
405
405
""" Register a key by location. """
Original file line number Diff line number Diff line change @@ -337,7 +337,7 @@ def testRegistrySetItem(self):
337
337
def testRegistryDelItem (self ):
338
338
r = markdown .util .Registry ()
339
339
r .register (Item ('a' ), 'a' , 20 )
340
- with self .assertRaises (TypeError ):
340
+ with self .assertRaises (KeyError ):
341
341
del r [0 ]
342
342
# TODO: restore this when deprecated __del__ is removed.
343
343
# with self.assertRaises(TypeError):
@@ -352,7 +352,7 @@ def testRegistryDelItem(self):
352
352
self .assertEqual (list (r ), ['a' , 'c' ])
353
353
del r ['a' ]
354
354
self .assertEqual (list (r ), ['c' ])
355
- with self .assertRaises (TypeError ):
355
+ with self .assertRaises (KeyError ):
356
356
del r ['badname' ]
357
357
del r ['c' ]
358
358
self .assertEqual (list (r ), [])
You can’t perform that action at this time.
0 commit comments