"""Extension that omits the creation of file `skeleton.py`"""frompathlibimportPurePathasPathfromtypingimportListfrom..importstructurefrom..actionsimportAction,ActionParams,ScaffoldOpts,Structurefrom.importExtension
[docs]classNoSkeleton(Extension):"""Omit creation of skeleton.py and test_skeleton.py"""
[docs]defactivate(self,actions:List[Action])->List[Action]:"""Activate extension, see :obj:`~pyscaffold.extension.Extension.activate`."""returnself.register(actions,remove_files,after="define_structure")
[docs]defremove_files(struct:Structure,opts:ScaffoldOpts)->ActionParams:"""Remove all skeleton files from structure Args: struct: project representation as (possibly) nested :obj:`dict`. opts: given options, see :obj:`create_project` for an extensive list. Returns: Updated project representation and options """# Namespace is not yet applied so deleting from package is enoughsrc=Path("src")struct=structure.reject(struct,src/opts["package"]/"skeleton.py")struct=structure.reject(struct,"tests/test_skeleton.py")returnstruct,opts