草庐IT

custom_hooks

全部标签

python - Python 3 中的导入后 Hook

我希望在导入特定模块时运行一些回调。例如(使用一个并不真正存在的假@imp.when_imported函数):@imp.when_imported('numpy')defset_linewidth(numpy):importshutilnumpy.set_printoptions(linewidth=shutil.get_terminal_size()[0])此功能是在PEP369:Postimporthooks中设计的但被撤回,原因是:ThisPEPhasbeenwithdrawnbyitsauthor,asmuchofthedetaileddesignisnolongervalid

Python 日志记录模块 : custom loggers

我试图为日志记录创建一个自定义属性(调用者的类名、模块名等),但遇到了一个奇怪的异常,告诉我在该过程中创建的LogRecord实例没有必要的属性。经过一些测试后,我得到了这个:importloggingclassMyLogger(logging.getLoggerClass()):value=Nonelogging.setLoggerClass(MyLogger)loggers=[logging.getLogger(),logging.getLogger(""),logging.getLogger("Name")]forloggerinloggers:print(isinstance(

python - Mercurial 预提交 Hook : How to hook to python program in current directory?

我正在尝试创建一个MercurialHook,该Hook在提交被推送到主存储库时运行。我创建了一个python脚本,如下所示:#commit.pyfrommercurialimportui,hgfrommercurial.i18nimportgettextas_defgetV1ID(ui,repo,**kwargs):ui.write("Thehookworks!!!")v1id=ui.prompt('EntertheVersionOneID')ui.write('VersionOneID:'+v1id)对于每个分支,此commit.py都是重复的,因为它包含在代码被推送到主存储库之前

python - 如何在我的主模式 Hook 中访问目录局部变量?

我已经定义了一个包含以下内容的.dir-locals.el文件:((python-mode.((cr/virtualenv-name."saas"))))在我的.emacs中,我有以下函数来检索此值并提供virtualenv路径:(defuncr/virtualenv()(cond(cr/virtualenv-name(format"%s/%s"virtualenv-basecr/virtualenv-name))((getenv"EMACS_VIRTUAL_ENV")(getenv"EMACS_VIRTUAL_ENV"))(t"~/.emacs.d/python")))最后,在我的p

python - 使用 Python 和 SetWindowsHookExA 应用低级键盘 Hook

所以我想弄清楚如何使用Python注册一个全局键盘钩子(Hook)。根据我的阅读,在DLL中没有回调似乎是可以的。如果你使用WH_KEYBOARD_LL。我不能肯定地确认这一点,但我发现令人鼓舞的是,如果我尝试连接WH_CBT,我不会收到1428错误。我得到了一个钩形handle,但当我按下键盘上的按钮时没有任何显示,正如我所期望的那样。知道为什么我的回调没有被调用吗?或者这甚至可能吗?相关代码:importtimeimportstringimportctypesimportfunctoolsimportatexitimportpythoncomfromctypesimportwind

python - Django : customizing FileField value while editing a model

我有一个模型,带有FileField。当我在View中编辑此模型时,我想更改显示在View表单中的FileField的“当前”值。让我解释一下。模型.py:classDemoVar_model(models.Model):...Welcome_sound=models.FileField(upload_to='files/%Y/%m/%d')表单.py:classDemoVar_addform(ModelForm):...classMeta:model=DemoVar_modelviews.py:soundform=DemoVar_addform(instance=ivrobj)...

python - 为 PyQt4.QtCore 导入 Hook

我正在尝试设置一些importhooks通过sys.meta_path,与thisSOquestion有点相似.为此,我需要定义两个函数find_module和load_module,如上面的链接所述。这是我的load_module函数,importimpdefload_module(name,path):fp,pathname,description=imp.find_module(name,path)try:module=imp.load_module(name,fp,pathname,description)finally:iffp:fp.close()returnmodule对

python - py.test : format failed assert AND print custom message

py.testassertdocs说...ifyouspecifyamessagewiththeassertionlikethis:asserta%2==0,"valuewasodd,shouldbeeven"thennoassertionintrospectiontakesplacesatallandthemessagewillbesimplyshowninthetraceback.Python的内置unittest模块也执行此操作,除非您的TestCase设置longMessage=True.拥有漂亮的断言格式对测试开发人员友好,而自定义消息对业务需求/人性化更友好。当您不在测试上

当使用 Hook 到某些应用程序时,pythoncom 在 KeyDown 上崩溃

我写这段代码是为了观察按键Action的事件。问题似乎是当这个脚本运行时,某些程序会崩溃这个程序,吐出这个错误信息:TypeError:KeyboardSwitch()missing8requiredpositionalarguments:'msg','vk_code','scan_code','ascii','flags','time','hwnd',and'win_name'观察到崩溃的一些程序是:Skype、SublimeText2经过几次尝试调试后,问题似乎出现在最后一行,但我似乎无法缩小范围。我也不明白编译器返回的KeyboardSwitch()的含义...我还发现该程序会交

python-3.x - PEP 302 示例 : New Import Hooks

在哪里可以找到PEP302中描述的“新导入Hook”的示例实现?我想以尽可能向前兼容的方式实现自定义查找器和加载器。换句话说,该实现应该适用于python2.x和3.x。 最佳答案 您可以找到数以千计的开源示例,例如用googlecodesearch,这里是:http://www.google.com/codesearch?hl=en&lr=&q="imp.find_module"+"imp.load_module"&sbtn=Search编辑:正如发问者澄清的那样,他正在寻找实现的例子,而不是使用,更好的URL搜索是:http:/