单击库的附加实用程序
clickutils的Python项目详细描述
单击实用程序
Extra utils for click library
示例
^{pr2}$importosimportclickfromclickutilsimportclick_loader@click.group()@click.option('--verbose','-v',type=bool,is_flag=True,default=False,help='Print more verbose output')defcli(verbose:bool):'''click_plugins'''click_loader.load(plugins_group,os.path.dirname(os.path.abspath(__file__)),verbose=verbose)@click.group()defplugins_group():'''click_plugins test plugins'''passcli.add_command(plugins_group,name='plugins')if__name__=='__main__':cli()
使用decorator的相同示例
importosimportclickfromclickutilsimportclick_loader@click.group()defcli(verbose:bool):'''click_plugins'''@click_loader.group(os.path.dirname(os.path.abspath(__file__)),name='plugins')defplugins_group():'''click_plugins test plugins'''passcli.add_command(plugins_group)if__name__=='__main__':cli()
ClickViewset的早期示例
importclickfromclickutils.viewsetsimportAbstractClickViewset,clickmixinsfromclickutils.viewsetsimportAbstractClickViewset,clickmixinsclassUserDictViewset(AbstractClickViewset):Name='DictionaryViewset'Version='1.0.0'Viewset={'users':['user1','user2','user3']}commands=('list','version','another_command','echo')hidden_commands=('echo',)@clickmixins.command(name='another_command')defanother_command(self):print('defined another user command that can interact with object (self) which contains Viewset attributes')""" overloading convert function in BaseClickViewset; this is a custom way to add the Viewset into the command class attributes """defconvert(self):ifisinstance(self.Viewset,dict):forkey,valueinself.Viewset.items():setattr(self,key,value)@UserDictViewset(name='test_command2')deftest_command_group2():"""Test command2 plugin"""pass
- 项目
标签: