skype4py.api.posix_dbus-pysrc.html

来自「基于python的skype的API的说明文档」· HTML 代码 · 共 292 行 · 第 1/5 页

HTML
292
字号
<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt id="link-34" class="py-name"><a title="Skype4Py.API.faked_dbus.dbus" class="py-name" href="#" onclick="return doclink('link-34', 'dbus', 'link-11');">dbus</a></tt><tt class="py-op">.</tt><tt class="py-name">DBusException</tt><tt class="py-op">:</tt> </tt><a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">Wait</tt><tt class="py-op">:</tt> </tt><a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt><a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">                    <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">1.0</tt><tt class="py-op">)</tt> </tt><a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt><a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt><a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt id="link-35" class="py-name"><a title="Skype4Py.errors.ISkypeAPIError" class="py-name" href="#" onclick="return doclink('link-35', 'ISkypeAPIError', 'link-7');">ISkypeAPIError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Skype attach timeout'</tt><tt class="py-op">)</tt> </tt><a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt><a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">cancel</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name"><a title="Skype4Py.API.ICommand" class="py-name" href="#" onclick="return doclink('link-36', 'ICommand', 'link-2');">ICommand</a></tt><tt class="py-op">(</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-string">'NAME %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="Skype4Py.chat.IChat.FriendlyNameSkype4Py.skype.ISkype.FriendlyName" class="py-name" href="#" onclick="return doclink('link-37', 'FriendlyName', 'link-28');">FriendlyName</a></tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-38" class="py-name"><a title="Skype4Py.skype.ISkype.Timeout" class="py-name" href="#" onclick="return doclink('link-38', 'Timeout', 'link-33');">Timeout</a></tt><tt class="py-op">)</tt> </tt><a name="L145"></a><tt class="py-lineno">145</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">skype_out</tt><tt class="py-op">:</tt> </tt><a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="Skype4Py.skype.ISkype.SendCommand" class="py-name" href="#" onclick="return doclink('link-39', 'SendCommand', 'link-30');">SendCommand</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt><a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method Skype4Py.skype.ISkypeEvents.Reply()=Skype4Py.skype.ISkypeEvents-class.html#Reply"><a title="Skype4Py.skype.ISkypeEvents.Reply" class="py-name" href="#" onclick="return doclink('link-40', 'Reply', 'link-40');">Reply</a></tt> <tt class="py-op">!=</tt> <tt class="py-string">'OK'</tt><tt class="py-op">:</tt> </tt><a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">skype_out</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt><a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">SetAttachmentStatus</tt><tt class="py-op">(</tt><tt id="link-41" class="py-name" targets="Variable Skype4Py.enums.apiAttachRefused=Skype4Py.enums-module.html#apiAttachRefused"><a title="Skype4Py.enums.apiAttachRefused" class="py-name" href="#" onclick="return doclink('link-41', 'apiAttachRefused', 'link-41');">apiAttachRefused</a></tt><tt class="py-op">)</tt> </tt><a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt><a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="Skype4Py.skype.ISkype.SendCommand" class="py-name" href="#" onclick="return doclink('link-42', 'SendCommand', 'link-30');">SendCommand</a></tt><tt class="py-op">(</tt><tt id="link-43" class="py-name"><a title="Skype4Py.API.ICommand" class="py-name" href="#" onclick="return doclink('link-43', 'ICommand', 'link-2');">ICommand</a></tt><tt class="py-op">(</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-string">'PROTOCOL %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Variable Skype4Py.skype.ISkype.Protocol=Skype4Py.skype.ISkype-class.html#Protocol"><a title="Skype4Py.skype.ISkype.Protocol" class="py-name" href="#" onclick="return doclink('link-44', 'Protocol', 'link-44');">Protocol</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt><a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">SetAttachmentStatus</tt><tt class="py-op">(</tt><tt id="link-45" class="py-name" targets="Variable Skype4Py.enums.apiAttachSuccess=Skype4Py.enums-module.html#apiAttachSuccess"><a title="Skype4Py.enums.apiAttachSuccess" class="py-name" href="#" onclick="return doclink('link-45', 'apiAttachSuccess', 'link-45');">apiAttachSuccess</a></tt><tt class="py-op">)</tt> </tt></div><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"> </tt><a name="_ISkypeAPI.IsRunning"></a><div id="_ISkypeAPI.IsRunning-def"><a name="L154"></a><tt class="py-lineno">154</tt> <a class="py-toggle" href="#" id="_ISkypeAPI.IsRunning-toggle" onclick="return toggle('_ISkypeAPI.IsRunning');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Skype4Py.API.posix_dbus._ISkypeAPI-class.html#IsRunning">IsRunning</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="_ISkypeAPI.IsRunning-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_ISkypeAPI.IsRunning-expanded"><a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt><a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">bus</tt><tt class="py-op">.</tt><tt class="py-name">get_object</tt><tt class="py-op">(</tt><tt class="py-string">'com.Skype.API'</tt><tt class="py-op">,</tt> <tt class="py-string">'/com/Skype'</tt><tt class="py-op">)</tt> </tt><a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt><a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt id="link-46" class="py-name"><a title="Skype4Py.API.faked_dbus.dbus" class="py-name" href="#" onclick="return doclink('link-46', 'dbus', 'link-11');">dbus</a></tt><tt class="py-op">.</tt><tt class="py-name">DBusException</tt><tt class="py-op">:</tt> </tt><a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt></div><a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"> </tt><a name="_ISkypeAPI.Start"></a><div id="_ISkypeAPI.Start-def"><a name="L161"></a><tt class="py-lineno">161</tt> <a class="py-toggle" href="#" id="_ISkypeAPI.Start-toggle" onclick="return toggle('_ISkypeAPI.Start');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Skype4Py.API.posix_dbus._ISkypeAPI-class.html#Start">Start</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">Minimized</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-param">Nosplash</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt></div><div id="_ISkypeAPI.Start-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_ISkypeAPI.Start-expanded"><a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-comment"># options are not supported as of Skype 1.4 Beta for Linux</tt> </tt><a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Variable Skype4Py.client.IClient.IsRunning=Skype4Py.client.IClient-class.html#IsRunning"><a title="Skype4Py.client.IClient.IsRunning" class="py-name" href="#" onclick="return doclink('link-47', 'IsRunning', 'link-47');">IsRunning</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt><a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">            <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt><a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">fork</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> <tt class="py-comment"># we're child</tt> </tt><a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">                <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">setsid</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt><a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">                <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">execlp</tt><tt class="py-op">(</tt><tt class="py-string">'skype'</tt><tt class="py-op">)</tt> </tt></div><a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"> </tt><a name="_ISkypeAPI.Shutdown"></a><div id="_ISkypeAPI.Shutdown-def"><a name="L169"></a><tt class="py-lineno">169</tt> <a class="py-toggle" href="#" id="_ISkypeAPI.Shutdown-toggle" onclick="return toggle('_ISkypeAPI.Shutdown');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Skype4Py.API.posix_dbus._ISkypeAPI-class.html#Shutdown">Shutdown</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="_ISkypeAPI.Shutdown-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_ISkypeAPI.Shutdown-expanded"><a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt><a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-keyword">from</tt> <tt class="py-name">signal</tt> <tt class="py-keyword">import</tt> <tt class="py-name">SIGINT</tt> </tt><a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">fh</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">popen</tt><tt class="py-op">(</tt><tt class="py-string">'ps -o %p --no-heading -C skype'</tt><tt class="py-op">)</tt> </tt><a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">pid</tt> <tt class="py-op">=</tt> <tt class="py-name">fh</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-name">fh</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt><a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">pid</tt><tt class="py-op">:</tt> </tt><a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">kill</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">pid</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">SIGINT</tt><tt class="py-op">)</tt> </tt><a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">skype_in</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">skype_out</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt></div><a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"> </tt><a name="_ISkypeAPI.SendCommand"></a><div id="_ISkypeAPI.SendCommand-def"><a name="L179"></a><tt class="py-lineno">179</tt> <a class="py-toggle" href="#" id="_ISkypeAPI.SendCommand-toggle" onclick="return toggle('_ISkypeAPI.SendCommand');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Skype4Py.API.posix_dbus._ISkypeAPI-class.html#SendCommand">SendCommand</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">Command</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt></div><div id="_ISkypeAPI.SendCommand-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_ISkypeAPI.SendCommand-expanded"><a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">skype_out</tt><tt class="py-op">:</tt> </tt><a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Method Skype4Py.skype.ISkype.Attach()=Skype4Py.skype.ISkype-class.html#Attach"><a title="Skype4Py.skype.ISkype.Attach" class="py-name" href="#" onclick="return doclink('link-48', 'Attach', 'link-48');">Attach</a></tt><tt class="py-op">(</tt><tt id="link-49" class="py-name" targets="Method Skype4Py.skype.ISkype.Command()=Skype4Py.skype.ISkype-class.html#Command,Method Skype4Py.skype.ISkypeEvents.Command()=Skype4Py.skype.ISkypeEvents-class.html#Command"><a title="Skype4Py.skype.ISkype.CommandSkype4Py.skype.ISkypeEvents.Command" class="py-name" href="#" onclick="return doclink('link-49', 'Command', 'link-49');">Command</a></tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="Skype4Py.skype.ISkype.Timeout" class="py-name" href="#" onclick="return doclink('link-50', 'Timeout', 'link-33');">Timeout</a></tt><tt class="py-op">)</tt> </tt><a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CommandsStackPush</tt><tt class="py-op">(</tt><tt id="link-51" class="py-name"><a title="Skype4Py.skype.ISkype.CommandSkype4Py.skype.ISkypeEvents.Command" class="py-name" href="#" onclick="return doclink('link-51', 'Command', 'link-49');">Command</a></tt><tt class="py-op">)</tt> </tt><a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CallHandler</tt><tt class="py-op">(</tt><tt class="py-string">'send'</tt><tt class="py-op">,</tt> <tt id="link-52" class="py-name"><a title="Skype4Py.skype.ISkype.CommandSkype4Py.skype.ISkypeEvents.Command" class="py-name" href="#" onclick="return doclink('link-52', 'Command', 'link-49');">Command</a></tt><tt class="py-op">)</tt> </tt><a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-name">com</tt> <tt class="py-op">=</tt> <tt class="py-string">u'#%d %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-53" class="py-name"><a title="Skype4Py.skype.ISkype.CommandSkype4Py.skype.ISkypeEvents.Command" class="py-name" href="#" onclick="return doclink('link-53', 'Command', 'link-49');">Command</a></tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Variable Skype4Py.call.ICall.Id=Skype4Py.call.ICall-class.html#Id,Variable Skype4Py.call.IConference.Id=Skype4Py.call.IConference-class.html#Id,Variable Skype4Py.call.IParticipant.Id=Skype4Py.call.IParticipant-class.html#Id,Variable Skype4Py.chat.IChatMember.Id=Skype4Py.chat.IChatMember-class.html#Id,Variable Skype4Py.chat.IChatMessage.Id=Skype4Py.chat.IChatMessage-class.html#Id,Variable Skype4Py.client.IPluginEvent.Id=Skype4Py.client.IPluginEvent-class.html#Id,Variable Skype4Py.client.IPluginMenuItem.Id=Skype4Py.client.IPluginMenuItem-class.html#Id,Variable Skype4Py.filetransfer.IFileTransfer.Id=Skype4Py.filetransfer.IFileTransfer-class.html#Id,Variable Skype4Py.sms.ISmsChunk.Id=Skype4Py.sms.ISmsChunk-class.ht

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?