def test_can_document_member(self): # Regression test for enthought/traits#1238 with self.create_directive() as directive: class_documenter = ClassDocumenter( directive, __name__ + ".FindTheTraits" ) class_documenter.parse_name() class_documenter.import_object() self.assertTrue( TraitDocumenter.can_document_member( INSTANCEATTR, "an_int", True, class_documenter, ) ) self.assertTrue( TraitDocumenter.can_document_member( INSTANCEATTR, "another_int", True, class_documenter, ) ) self.assertFalse( TraitDocumenter.can_document_member( INSTANCEATTR, "magic_number", True, class_documenter, ) ) self.assertFalse( TraitDocumenter.can_document_member( INSTANCEATTR, "not_a_trait", True, class_documenter, ) )
def generate_class_autodoc(app, cls): ad = AutoDirective( name="autoclass", arguments=[FULL_NAMES[cls]], options={"noindex": True}, content=StringList([], items=[]), lineno=0, content_offset=1, block_text="", state=None, state_machine=None, ) ad.env = BuildEnvironment(app) ad.genopt = Options(noindex=True) ad.filename_set = set() ad.result = ViewList() documenter = ClassDocumenter(ad, ad.arguments[0]) documenter.generate(all_members=True) with open(OUTPUT_FILES[cls], "w") as fid: fid.write(cls + '\n') fid.write(''.join(['='] * len(cls)) + '\n') for line in ad.result: fid.write(line + "\n")
def __init__(self, *args, **kwargs): super(BlockDocumenter, self).__init__(*args, **kwargs) # Get class name sptr_name = self.name + '_sptr' # Create a Class Documenter to create documentation for the classes members. self.classdoccer = ClassDocumenter(self.directive, sptr_name, indent=self.content_indent) self.classdoccer.doc_as_attr = False self.classdoccer.real_modname = self.classdoccer.get_real_modname() self.classdoccer.options.members = ALL self.classdoccer.options.exclude_members = common_block_members self.classdoccer.parse_name() self.classdoccer.import_object()
def __init__(self, *args, **kwargs): super(OldBlockDocumenter, self).__init__(*args, **kwargs) # Get class name bits = self.name.split('.') if len(bits) != 3 or bits[0] != 'gnuradio': raise ValueError( "expected name to be of form gnuradio.x.y but it is {0}". format(self.name)) sptr_name = 'gnuradio.{0}.{0}_{1}_sptr'.format(bits[1], bits[2]) # Create a Class Documenter to create documentation for the classes members. self.classdoccer = ClassDocumenter(self.directive, sptr_name, indent=self.content_indent) self.classdoccer.doc_as_attr = False self.classdoccer.real_modname = self.classdoccer.get_real_modname() self.classdoccer.options.members = ALL self.classdoccer.options.exclude_members = common_block_members self.classdoccer.parse_name() self.classdoccer.import_object()