Can't remember the reason for the change, but it was necessary.  :-)
diff --git a/Doc/tools/partparse.py b/Doc/tools/partparse.py
index be9b1c8..a62d694 100644
--- a/Doc/tools/partparse.py
+++ b/Doc/tools/partparse.py
@@ -1080,7 +1080,7 @@
 	idxsi = hist.indexsubitem	# words
 	command = ''
 	cat_class = ''
-	if idxsi and idxsi[-1] == 'method':
+	if idxsi and idxsi[-1] in ('method', 'attribute'):
 		command = 'defmethod'
 		cat_class = string.join(idxsi[:-1])
 	elif len(idxsi) == 2 and idxsi[1] == 'function':
@@ -1170,10 +1170,10 @@
 	command = ''
 	cat_class = ''
 	class_class = ''
-	if len(idxsi) == 2 and idxsi[1] == 'attribute':
+	if idxsi[-1] == 'attribute':
 		command = 'defcv'
 		cat_class = 'attribute'
-		class_class = idxsi[0]
+		class_class = string.join(idxsi[:-1])
 	elif len(idxsi) == 3 and idxsi[:2] == ['in', 'module']:
 		command = 'defcv'
 		cat_class = 'data'