<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://performiq.com/kb/index.php?action=history&amp;feed=atom&amp;title=Python_httpd</id>
	<title>Python httpd - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://performiq.com/kb/index.php?action=history&amp;feed=atom&amp;title=Python_httpd"/>
	<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Python_httpd&amp;action=history"/>
	<updated>2026-05-18T12:19:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://performiq.com/kb/index.php?title=Python_httpd&amp;diff=2226&amp;oldid=prev</id>
		<title>PeterHarding at 04:20, 27 May 2008</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Python_httpd&amp;diff=2226&amp;oldid=prev"/>
		<updated>2008-05-27T04:20:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:20, 27 May 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l382&quot;&gt;Line 382:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 382:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:ODBC]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:ODBC]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Internet]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Internet]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Tools]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=Python_httpd&amp;diff=2204&amp;oldid=prev</id>
		<title>PeterHarding at 03:11, 27 May 2008</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Python_httpd&amp;diff=2204&amp;oldid=prev"/>
		<updated>2008-05-27T03:11:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:11, 27 May 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l381&quot;&gt;Line 381:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 381:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Python]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Python]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:ODBC]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:ODBC]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Web&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Internet&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=Python_httpd&amp;diff=2203&amp;oldid=prev</id>
		<title>PeterHarding at 03:10, 27 May 2008</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Python_httpd&amp;diff=2203&amp;oldid=prev"/>
		<updated>2008-05-27T03:10:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:10, 27 May 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l158&quot;&gt;Line 158:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 158:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#-------------------------------------------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#-------------------------------------------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;from &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;RTE &lt;/del&gt;import &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dcl&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;from &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dserver &lt;/ins&gt;import &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;client&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#-------------------------------------------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#-------------------------------------------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l224&quot;&gt;Line 224:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 224:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;def query(no_queries, connector_no):&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;def query(no_queries, connector_no):&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ds = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dcl&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dcl&lt;/del&gt;(port=PORT)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ds = &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;client&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Connect&lt;/ins&gt;(port=PORT)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    if (ds == None):&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    if (ds == None):&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=Python_httpd&amp;diff=2202&amp;oldid=prev</id>
		<title>PeterHarding at 03:09, 27 May 2008</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Python_httpd&amp;diff=2202&amp;oldid=prev"/>
		<updated>2008-05-27T03:09:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:09, 27 May 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l378&quot;&gt;Line 378:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 378:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;quot;&amp;quot;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;quot;&amp;quot;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Python]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Python]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:ODBC]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Web]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Web]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=Python_httpd&amp;diff=2201&amp;oldid=prev</id>
		<title>PeterHarding: New page: =httpd.py=  This script is set up to listen on port 8000 and run test.py when you do a request.  &lt;pre&gt; #!/usr/bin/env python #--------------------------------------------------------------...</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Python_httpd&amp;diff=2201&amp;oldid=prev"/>
		<updated>2008-05-27T02:59:10Z</updated>

		<summary type="html">&lt;p&gt;New page: =httpd.py=  This script is set up to listen on port 8000 and run test.py when you do a request.  &amp;lt;pre&amp;gt; #!/usr/bin/env python #--------------------------------------------------------------...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=httpd.py=&lt;br /&gt;
&lt;br /&gt;
This script is set up to listen on port 8000 and run test.py when you do a request.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;Simple HTTP Server.&lt;br /&gt;
&lt;br /&gt;
This module builds on BaseHTTPServer by implementing the standard GET&lt;br /&gt;
and HEAD requests in a fairly straightforward manner.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
__version__ = &amp;quot;0.6&amp;quot;&lt;br /&gt;
__all__     = [&amp;quot;SimpleHTTPRequestHandler&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import os&lt;br /&gt;
import posixpath&lt;br /&gt;
import BaseHTTPServer&lt;br /&gt;
import urllib&lt;br /&gt;
import urlparse&lt;br /&gt;
import cgi&lt;br /&gt;
import shutil&lt;br /&gt;
import mimetypes&lt;br /&gt;
import commands&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
try:&lt;br /&gt;
    from cStringIO import StringIO&lt;br /&gt;
except ImportError:&lt;br /&gt;
    from StringIO import StringIO&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
class SimpleHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Simple HTTP request handler with GET and HEAD commands.&lt;br /&gt;
&lt;br /&gt;
    This serves files from the current directory and any of its&lt;br /&gt;
    subdirectories.  The MIME type for files is determined by&lt;br /&gt;
    calling the .guess_type() method.&lt;br /&gt;
&lt;br /&gt;
    The GET and HEAD requests are identical except that the HEAD&lt;br /&gt;
    request omits the actual contents of the file.&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    server_version = &amp;quot;SimpleHTTP/&amp;quot; + __version__&lt;br /&gt;
&lt;br /&gt;
    #---------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    def do_GET(self):&lt;br /&gt;
        &amp;quot;&amp;quot;&amp;quot;Serve a GET request.&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
        #f = self.send_head()&lt;br /&gt;
        f = self.do_test()&lt;br /&gt;
        if f:&lt;br /&gt;
            self.copyfile(f, self.wfile)&lt;br /&gt;
            f.close()&lt;br /&gt;
&lt;br /&gt;
    #---------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    def do_HEAD(self):&lt;br /&gt;
        &amp;quot;&amp;quot;&amp;quot;Serve a HEAD request.&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
        f = self.send_head()&lt;br /&gt;
        if f:&lt;br /&gt;
            f.close()&lt;br /&gt;
&lt;br /&gt;
    #---------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    def send_head(self):&lt;br /&gt;
        pass&lt;br /&gt;
&lt;br /&gt;
    #---------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    def do_test(self):&lt;br /&gt;
        f = StringIO()&lt;br /&gt;
        f.write(&amp;quot;&amp;lt;title&amp;gt;Test&amp;lt;/title&amp;gt;\n&amp;quot;)&lt;br /&gt;
        f.write(&amp;quot;&amp;lt;h2&amp;gt;test&amp;lt;/h2&amp;gt;\n&amp;quot;)&lt;br /&gt;
        f.write(&amp;quot;&amp;lt;hr&amp;gt;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        (status, output) = commands.getstatusoutput(&amp;quot;./test.py&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        lines = output.split(&amp;#039;\n&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
        for line in lines:&lt;br /&gt;
            f.write(&amp;quot;%s&amp;lt;br&amp;gt;\n&amp;quot; % line)&lt;br /&gt;
&lt;br /&gt;
        f.write(&amp;quot;&amp;lt;hr&amp;gt;\n&amp;quot;)&lt;br /&gt;
        length = f.tell()&lt;br /&gt;
        f.seek(0)&lt;br /&gt;
&lt;br /&gt;
        self.send_response(200)&lt;br /&gt;
        self.send_header(&amp;quot;Content-type&amp;quot;, &amp;quot;text/html&amp;quot;)&lt;br /&gt;
        self.send_header(&amp;quot;Content-Length&amp;quot;, str(length))&lt;br /&gt;
        self.end_headers()&lt;br /&gt;
        return f&lt;br /&gt;
&lt;br /&gt;
    #---------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    def copyfile(self, source, outputfile):&lt;br /&gt;
        &amp;quot;&amp;quot;&amp;quot;Copy all data between two file objects.&lt;br /&gt;
&lt;br /&gt;
        The SOURCE argument is a file object open for reading&lt;br /&gt;
        (or anything with a read() method) and the DESTINATION&lt;br /&gt;
        argument is a file object open for writing (or&lt;br /&gt;
        anything with a write() method).&lt;br /&gt;
&lt;br /&gt;
        The only reason for overriding this would be to change&lt;br /&gt;
        the block size or perhaps to replace newlines by CRLF&lt;br /&gt;
        -- note however that this the default server uses this&lt;br /&gt;
        to copy binary data as well.&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
        shutil.copyfileobj(source, outputfile)&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
def test(HandlerClass = SimpleHTTPRequestHandler,&lt;br /&gt;
         ServerClass = BaseHTTPServer.HTTPServer):&lt;br /&gt;
    BaseHTTPServer.test(HandlerClass, ServerClass)&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
   test()&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==test.py==&lt;br /&gt;
&lt;br /&gt;
This is the test program which uses the ODBC connection and does the work.  I also uses the ASctiveState ODBC as I did not manage to  find a way of brining up ODBC in the time I had available using the native Cygwin Python.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat test.py&lt;br /&gt;
#!/c/PROGRA~1/ActiveState/Python/python.exe&lt;br /&gt;
#&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import os&lt;br /&gt;
import sys&lt;br /&gt;
import dbi&lt;br /&gt;
import odbc&lt;br /&gt;
import time&lt;br /&gt;
import getopt&lt;br /&gt;
import logging&lt;br /&gt;
&lt;br /&gt;
from datetime import datetime&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
from RTE import dcl&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
__version__   = &amp;quot;1.0.0&amp;quot;&lt;br /&gt;
__id__        = &amp;quot;@(#)  test.py  [%s]  05/03/2008&amp;quot;&lt;br /&gt;
&lt;br /&gt;
verbose_flg   = False&lt;br /&gt;
&lt;br /&gt;
debug_level   = 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
table_name    = &amp;quot;Manifests&amp;quot;&lt;br /&gt;
PORT          = 9579&lt;br /&gt;
MAX_REQUESTS  = 10&lt;br /&gt;
&lt;br /&gt;
log           = None&lt;br /&gt;
handle        = &amp;#039;ODBC_%02d&amp;#039;&lt;br /&gt;
connector_no  = 1&lt;br /&gt;
&lt;br /&gt;
#===============================================================================&lt;br /&gt;
&lt;br /&gt;
def INFO(msg):&lt;br /&gt;
   if log: log.info(&amp;#039; &amp;#039; + msg)&lt;br /&gt;
   if verbose_flg: print &amp;quot;[test]  %s&amp;quot; % msg&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
def ERROR(msg):&lt;br /&gt;
   if log: log.error(msg)&lt;br /&gt;
   sys.stderr.write(&amp;#039;[test]  %s\n&amp;#039; % msg)&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
def WARNING(msg):&lt;br /&gt;
   if log: log.warning(&amp;#039;*****&amp;#039; + msg + &amp;#039;*****&amp;#039;)&lt;br /&gt;
   if verbose_flg: print &amp;quot;[test]  %s&amp;quot; % msg&lt;br /&gt;
&lt;br /&gt;
#===============================================================================&lt;br /&gt;
&lt;br /&gt;
def elapsed_time():&lt;br /&gt;
   t = float(ref_time(False)) * 0.001&lt;br /&gt;
&lt;br /&gt;
   return t&lt;br /&gt;
&lt;br /&gt;
#------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
t_reference = None&lt;br /&gt;
&lt;br /&gt;
def ref_time(flg):&lt;br /&gt;
   global t_reference&lt;br /&gt;
&lt;br /&gt;
   t_now  = datetime.now()&lt;br /&gt;
&lt;br /&gt;
   if (flg):&lt;br /&gt;
      t_reference   = t_now&lt;br /&gt;
      t             = 0&lt;br /&gt;
   else:&lt;br /&gt;
      t_delta       = t_now - t_reference&lt;br /&gt;
      t             = ((t_delta.seconds * 1000000) + t_delta.microseconds)/1000.0&lt;br /&gt;
&lt;br /&gt;
   return t&lt;br /&gt;
&lt;br /&gt;
#===============================================================================&lt;br /&gt;
&lt;br /&gt;
def query(no_queries, connector_no):&lt;br /&gt;
   ds = dcl.dcl(port=PORT)&lt;br /&gt;
&lt;br /&gt;
   if (ds == None):&lt;br /&gt;
      print(&amp;quot;Connection to data server failed - is data server process running?\n&amp;quot;)&lt;br /&gt;
      return 1&lt;br /&gt;
&lt;br /&gt;
   type_ref  = ds.RegisterType(table_name)&lt;br /&gt;
&lt;br /&gt;
   if debug_level &amp;gt; 0:print &amp;quot;Data type \&amp;quot;%s\&amp;quot; registered as %d&amp;quot; % (table_name,  type_ref)&lt;br /&gt;
&lt;br /&gt;
   s = odbc.odbc(handle % connector_no)&lt;br /&gt;
&lt;br /&gt;
   cur = s.cursor()&lt;br /&gt;
&lt;br /&gt;
   cnt = 0&lt;br /&gt;
&lt;br /&gt;
   while cnt &amp;lt; no_queries:&lt;br /&gt;
      cnt += 1&lt;br /&gt;
&lt;br /&gt;
      sp  = ds.GetNext(type_ref)&lt;br /&gt;
&lt;br /&gt;
      if sp != None:&lt;br /&gt;
         manifest = sp[0]&lt;br /&gt;
      else:&lt;br /&gt;
         print &amp;quot;Type %d exhausted&amp;quot; % (pid, type_ref)&lt;br /&gt;
         return&lt;br /&gt;
&lt;br /&gt;
      # print manifest&lt;br /&gt;
&lt;br /&gt;
      qry   = &amp;quot;exec procedure %s&amp;quot; % manifest&lt;br /&gt;
&lt;br /&gt;
      # print qry&lt;br /&gt;
&lt;br /&gt;
      ref_time(True)&lt;br /&gt;
&lt;br /&gt;
      cur.execute(qry)&lt;br /&gt;
&lt;br /&gt;
      t_query = elapsed_time()&lt;br /&gt;
&lt;br /&gt;
      # print cur.description&lt;br /&gt;
&lt;br /&gt;
      # for tup in cur.description:&lt;br /&gt;
         # print tup[0]&lt;br /&gt;
&lt;br /&gt;
      row_cnt = 0&lt;br /&gt;
&lt;br /&gt;
      while 1:&lt;br /&gt;
         rec = cur.fetchmany(10)&lt;br /&gt;
         row_cnt +=  len(rec)&lt;br /&gt;
         if not rec: break&lt;br /&gt;
         #print rec&lt;br /&gt;
&lt;br /&gt;
      msg = &amp;quot;%02d ManifestNo %s  [%.3f] sec  %3d rows returned&amp;quot; % (cnt, manifest, t_query, row_cnt)&lt;br /&gt;
&lt;br /&gt;
      sys.stderr.write(&amp;quot;%s\n&amp;quot; % msg)&lt;br /&gt;
      sys.stderr.flush()&lt;br /&gt;
&lt;br /&gt;
      INFO(msg)&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
def init():&lt;br /&gt;
   global lf&lt;br /&gt;
   global log&lt;br /&gt;
&lt;br /&gt;
   pid      = os.getpid()&lt;br /&gt;
&lt;br /&gt;
   if debug_level &amp;gt; 0:  print &amp;quot;My PID is %d&amp;quot; % pid&lt;br /&gt;
&lt;br /&gt;
   log  = logging.getLogger(&amp;#039;test&amp;#039;)&lt;br /&gt;
   hdlr = logging.FileHandler(&amp;#039;log/hcodevj86_%02d.log&amp;#039; % connector_no)&lt;br /&gt;
   fmtr = logging.Formatter(&amp;#039;%(asctime)s %(levelname)s %(message)s&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
   hdlr.setFormatter(fmtr)&lt;br /&gt;
   log.addHandler(hdlr)&lt;br /&gt;
   log.setLevel(logging.INFO)&lt;br /&gt;
&lt;br /&gt;
   INFO(&amp;quot;===== Started processing ==================================&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
#===============================================================================&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
   global verbose_flg&lt;br /&gt;
   global debug_level&lt;br /&gt;
   global connector_no&lt;br /&gt;
   global MAX_REQUESTS&lt;br /&gt;
&lt;br /&gt;
   try:&lt;br /&gt;
      opts, args = getopt.getopt(sys.argv[1:], &amp;quot;c:dD:M:vVw?&amp;quot;)&lt;br /&gt;
   except getopt.error, msg:&lt;br /&gt;
      print __doc__&lt;br /&gt;
      return 1&lt;br /&gt;
&lt;br /&gt;
   for o, a in opts:&lt;br /&gt;
      if o == &amp;#039;-?&amp;#039;:&lt;br /&gt;
         print __doc__&lt;br /&gt;
         return 1&lt;br /&gt;
      elif o == &amp;#039;-c&amp;#039;:&lt;br /&gt;
         connector_no   = int(a)&lt;br /&gt;
      elif o == &amp;#039;-d&amp;#039;:&lt;br /&gt;
         debug_level   += 1&lt;br /&gt;
      elif o == &amp;#039;-D&amp;#039;:&lt;br /&gt;
         debug_level    = int(a)&lt;br /&gt;
      elif o == &amp;#039;-M&amp;#039;:&lt;br /&gt;
         MAX_REQUESTS   = int(a)&lt;br /&gt;
      elif o == &amp;#039;-v&amp;#039;:&lt;br /&gt;
         verbose_flg    = True&lt;br /&gt;
      elif o == &amp;#039;-V&amp;#039;:&lt;br /&gt;
         print &amp;quot;[xxxx]  Version: %s&amp;quot; % __version__&lt;br /&gt;
         return 1&lt;br /&gt;
      else:&lt;br /&gt;
         print __doc__&lt;br /&gt;
         return 1&lt;br /&gt;
&lt;br /&gt;
   sys.stderr.write(&amp;quot;[test]  Working directory is %s - Using ODBC connector %d\n&amp;quot; % (os.getcwd(), connector_no))&lt;br /&gt;
   sys.stderr.flush()&lt;br /&gt;
&lt;br /&gt;
   if (debug_level &amp;gt; 0): print &amp;quot;Debugging level set to %d&amp;quot; % debug_level&lt;br /&gt;
&lt;br /&gt;
   if args:&lt;br /&gt;
      for arg in args:&lt;br /&gt;
         print arg&lt;br /&gt;
&lt;br /&gt;
   init()&lt;br /&gt;
&lt;br /&gt;
   query(MAX_REQUESTS, connector_no)&lt;br /&gt;
&lt;br /&gt;
   return 0&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039; or __name__ == sys.argv[0]:&lt;br /&gt;
   try:&lt;br /&gt;
      sys.exit(main())&lt;br /&gt;
   except KeyboardInterrupt, e:&lt;br /&gt;
      print &amp;quot;[xxxx]  Interrupted!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Revision History:&lt;br /&gt;
&lt;br /&gt;
     Date     Who   Description&lt;br /&gt;
   --------   ---   ------------------------------------------------------------&lt;br /&gt;
   20031014   plh   Initial implementation&lt;br /&gt;
&lt;br /&gt;
Problems to fix:&lt;br /&gt;
&lt;br /&gt;
To Do:&lt;br /&gt;
&lt;br /&gt;
Issues:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:Web]]&lt;/div&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
</feed>