skype4py.utils-pysrc.html
来自「基于python的skype的API的说明文档」· HTML 代码 · 共 380 行 · 第 1/5 页
HTML
380 行
<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">callback</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt><a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">callback</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt></div></div><a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> </tt><a name="WeakCallableRef"></a><div id="WeakCallableRef-def"><a name="L171"></a><tt class="py-lineno">171</tt> <a class="py-toggle" href="#" id="WeakCallableRef-toggle" onclick="return toggle('WeakCallableRef');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Skype4Py.utils-module.html#WeakCallableRef">WeakCallableRef</a><tt class="py-op">(</tt><tt class="py-param">c</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt></div><div id="WeakCallableRef-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="WeakCallableRef-expanded"><a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-docstring">'''Creates and returns a new weak reference to a callable object.</tt> </tt><a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt><a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"><tt class="py-docstring"> In contrast to weakref.ref() works on all kinds of callables.</tt> </tt><a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"><tt class="py-docstring"> Usage is same as weakref.ref().</tt> </tt><a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt><a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt class="py-docstring"> @param c: A callable that the weak reference should point at.</tt> </tt><a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"> @type c: callable</tt> </tt><a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-docstring"> @param callback: Callback called when the callable is collected (freed).</tt> </tt><a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring"> @type callback: callable</tt> </tt><a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring"> @return: A weak callable reference.</tt> </tt><a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: weakref</tt> </tt><a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-docstring"> '''</tt> </tt><a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> </tt><a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt><a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">_WeakMethod</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">callback</tt><tt class="py-op">)</tt> </tt><a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt><a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">weakref</tt><tt class="py-op">.</tt><tt class="py-name">ref</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">callback</tt><tt class="py-op">)</tt> </tt></div><a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> </tt><a name="_EventHandlingThread"></a><div id="_EventHandlingThread-def"><a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> </tt><a name="L191"></a><tt class="py-lineno">191</tt> <a class="py-toggle" href="#" id="_EventHandlingThread-toggle" onclick="return toggle('_EventHandlingThread');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Skype4Py.utils._EventHandlingThread-class.html">_EventHandlingThread</a><tt class="py-op">(</tt><tt class="py-base-class">threading</tt><tt class="py-op">.</tt><tt class="py-base-class">Thread</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt></div><div id="_EventHandlingThread-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_EventHandlingThread-expanded"><a name="_EventHandlingThread.__init__"></a><div id="_EventHandlingThread.__init__-def"><a name="L192"></a><tt class="py-lineno">192</tt> <a class="py-toggle" href="#" id="_EventHandlingThread.__init__-toggle" onclick="return toggle('_EventHandlingThread.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Skype4Py.utils._EventHandlingThread-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt></div><div id="_EventHandlingThread.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_EventHandlingThread.__init__-expanded"><a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-docstring">'''__init__.</tt> </tt><a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt><a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"><tt class="py-docstring"> @param name: name</tt> </tt><a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"><tt class="py-docstring"> @type name: unicode</tt> </tt><a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"><tt class="py-docstring"> '''</tt> </tt><a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Thread</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method Skype4Py.API.ICommand.__init__()=Skype4Py.API.ICommand-class.html#__init__,Method Skype4Py.API.darwin.CFDictionary.__init__()=Skype4Py.API.darwin.CFDictionary-class.html#__init__,Method Skype4Py.API.darwin.CFDistributedNotificationCenter.__init__()=Skype4Py.API.darwin.CFDistributedNotificationCenter-class.html#__init__,Method Skype4Py.API.darwin.CFNumber.__init__()=Skype4Py.API.darwin.CFNumber-class.html#__init__,Method Skype4Py.API.darwin.CFString.__init__()=Skype4Py.API.darwin.CFString-class.html#__init__,Method Skype4Py.API.darwin.CFType.__init__()=Skype4Py.API.darwin.CFType-class.html#__init__,Method Skype4Py.API.darwin.Carbon.__init__()=Skype4Py.API.darwin.Carbon-class.html#__init__,Method Skype4Py.API.darwin.CoreFoundation.__init__()=Skype4Py.API.darwin.CoreFoundation-class.html#__init__,Method Skype4Py.API.darwin.EventLoop.__init__()=Skype4Py.API.darwin.EventLoop-class.html#__init__,Method Skype4Py.callchannel.ICallChannel.__init__()=Skype4Py.callchannel.ICallChannel-class.html#__init__,Method Skype4Py.callchannel.ICallChannelManager.__init__()=Skype4Py.callchannel.ICallChannelManager-class.html#__init__,Method Skype4Py.callchannel.ICallChannelMessage.__init__()=Skype4Py.callchannel.ICallChannelMessage-class.html#__init__,Method Skype4Py.client.IClient.__init__()=Skype4Py.client.IClient-class.html#__init__,Method Skype4Py.conversion.IConversion.__init__()=Skype4Py.conversion.IConversion-class.html#__init__,Method Skype4Py.errors.ISkypeAPIError.__init__()=Skype4Py.errors.ISkypeAPIError-class.html#__init__,Method Skype4Py.errors.ISkypeError.__init__()=Skype4Py.errors.ISkypeError-class.html#__init__,Method Skype4Py.profile.IProfile.__init__()=Skype4Py.profile.IProfile-class.html#__init__,Method Skype4Py.settings.ISettings.__init__()=Skype4Py.settings.ISettings-class.html#__init__,Method Skype4Py.skype.ISkype.__init__()=Skype4Py.skype.ISkype-class.html#__init__,Method Skype4Py.utils.EventHandlingBase.__init__()=Skype4Py.utils.EventHandlingBase-class.html#__init__"><a title="Skype4Py.API.ICommand.__init__Skype4Py.API.darwin.CFDictionary.__init__Skype4Py.API.darwin.CFDistributedNotificationCenter.__init__Skype4Py.API.darwin.CFNumber.__init__Skype4Py.API.darwin.CFString.__init__Skype4Py.API.darwin.CFType.__init__Skype4Py.API.darwin.Carbon.__init__Skype4Py.API.darwin.CoreFoundation.__init__Skype4Py.API.darwin.EventLoop.__init__Skype4Py.callchannel.ICallChannel.__init__Skype4Py.callchannel.ICallChannelManager.__init__Skype4Py.callchannel.ICallChannelMessage.__init__Skype4Py.client.IClient.__init__Skype4Py.conversion.IConversion.__init__Skype4Py.errors.ISkypeAPIError.__init__Skype4Py.errors.ISkypeError.__init__Skype4Py.profile.IProfile.__init__Skype4Py.settings.ISettings.__init__Skype4Py.skype.ISkype.__init__Skype4Py.utils.EventHandlingBase.__init__" class="py-name" href="#" onclick="return doclink('link-4', '__init__', 'link-4');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">'%s event handler'</tt> <tt class="py-op">%</tt> <tt class="py-name">name</tt><tt class="py-op">)</tt> </tt><a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">setDaemon</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt><a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Lock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt><a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">queue</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt></div><a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> </tt><a name="_EventHandlingThread.enqueue"></a><div id="_EventHandlingThread.enqueue-def"><a name="L203"></a><tt class="py-lineno">203</tt> <a class="py-toggle" href="#" id="_EventHandlingThread.enqueue-toggle" onclick="return toggle('_EventHandlingThread.enqueue');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Skype4Py.utils._EventHandlingThread-class.html#enqueue">enqueue</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">target</tt><tt class="py-op">,</tt> <tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt></div><div id="_EventHandlingThread.enqueue-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_EventHandlingThread.enqueue-expanded"><a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-docstring">'''enqueue.</tt> </tt><a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt><a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"><tt class="py-docstring"> @param target: Callable to be called.</tt> </tt><a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"><tt class="py-docstring"> @type target: callable</tt> </tt><a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"><tt class="py-docstring"> @param args: Positional arguments for the callable.</tt> </tt><a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"><tt class="py-docstring"> @type args: tuple</tt> </tt><a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"><tt class="py-docstring"> @param kwargs: Keyword arguments for the callable.</tt> </tt><a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"><tt class="py-docstring"> @type kwargs: dict</tt> </tt><a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"><tt class="py-docstring"> '''</tt> </tt><a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">queue</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">target</tt><tt class="py-op">,</tt> <tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-name">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt></div><a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> </tt><a name="_EventHandlingThread.run"></a><div id="_EventHandlingThread.run-def"><a name="L215"></a><tt class="py-lineno">215</tt> <a class="py-toggle" href="#" id="_EventHandlingThread.run-toggle" onclick="return toggle('_EventHandlingThread.run');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Skype4Py.utils._EventHandlingThread-class.html#run">run</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt></div><div id="_EventHandlingThread.run-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_EventHandlingThread.run-expanded"><a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-docstring">'''Executes all enqueued targets.</tt> </tt><a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"><tt class="py-docstring"> '''</tt> </tt><a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt><a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt><a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt><a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt><a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-name">h</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">queue</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt><a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">queue</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt><a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?