From a437b6d47ead783b611683d6ed6f6bc1ca5540f0 Mon Sep 17 00:00:00 2001 From: Vincent Jacques Date: Sun, 26 Feb 2012 10:02:22 +0000 Subject: [PATCH] Experiment with auto-documentation --- github/ObjectCapacities/Basic.py | 13 +++++++++++-- github/ObjectCapacities/List.py | 4 ++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/github/ObjectCapacities/Basic.py b/github/ObjectCapacities/Basic.py index 0a249cbc..e65d05ea 100644 --- a/github/ObjectCapacities/Basic.py +++ b/github/ObjectCapacities/Basic.py @@ -21,6 +21,7 @@ class AttributeFromCallable: cls._addAttribute( self.__name, AttributeFromCallable.AttributeDefinition( self.__name, self.__callable ) ) def autoDocument( self ): + return "" return "* `" + self.__name + "`\n" ### @todo include the ArgumentsChecker @@ -62,6 +63,7 @@ class InternalAttribute: cls._addAttribute( self.__attributeName, InternalAttribute.AttributeDefinition( self.__typePolicy ) ) def autoDocument( self ): + return "" return "* `" + self.__attributeName + "`: `" + self.__typePolicy.documentTypeName() + "`\n" class ExternalAttribute: @@ -82,12 +84,19 @@ class ExternalAttribute: return "* `get_" + self.__attributeName + "()`: `" + self.__typePolicy.documentTypeName() + "`\n" class SeveralAttributePolicies: - def __init__( self, attributePolicies ): + def __init__( self, attributePolicies, documentationSection = None ): self.__attributePolicies = attributePolicies + self.__documentationSection = documentationSection def apply( self, cls ): for attributePolicy in self.__attributePolicies: attributePolicy.apply( cls ) def autoDocument( self ): - return "".join( attributePolicy.autoDocument() for attributePolicy in self.__attributePolicies ) + doc = "" + if self.__documentationSection is not None: + doc += "\n" + doc += self.__documentationSection + "\n" + doc += "-" * len( self.__documentationSection ) + "\n" + doc += "".join( attributePolicy.autoDocument() for attributePolicy in self.__attributePolicies ) + return doc diff --git a/github/ObjectCapacities/List.py b/github/ObjectCapacities/List.py index 3909bdea..1f05c01c 100644 --- a/github/ObjectCapacities/List.py +++ b/github/ObjectCapacities/List.py @@ -215,9 +215,9 @@ class ListDeletable( ListCapacity ): def ExternalListOfObjects( attributeName, singularName, type, *capacities ): for capacity in capacities: capacity.setList( attributeName, singularName, ObjectTypePolicy( type ) ) - return SeveralAttributePolicies( capacities ) + return SeveralAttributePolicies( capacities, attributeName ) def ExternalListOfSimpleTypes( attributeName, singularName, *capacities ): for capacity in capacities: capacity.setList( attributeName, singularName, SimpleTypePolicy() ) - return SeveralAttributePolicies( capacities ) + return SeveralAttributePolicies( capacities, attributeName )