<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>一个程序猿 &#187; Python</title>
	<atom:link href="http://www.sunboyu.cn/tag/python/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sunboyu.cn</link>
	<description>时光不会倒流,脚步总要前进</description>
	<lastBuildDate>Tue, 27 Jul 2010 06:24:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>django笔记3-DEMO篇</title>
		<link>http://www.sunboyu.cn/2009/12/15/django%e7%ac%94%e8%ae%b03-demo%e7%af%87.shtml</link>
		<comments>http://www.sunboyu.cn/2009/12/15/django%e7%ac%94%e8%ae%b03-demo%e7%af%87.shtml#comments</comments>
		<pubDate>Tue, 15 Dec 2009 13:06:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[原创技术]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://www.sunboyu.cn/?p=1089</guid>
		<description><![CDATA[1、创建一个project（可理解为站点）
django-admin.py startproject project1
发现新建了一个文件夹 project1
2、创建一个app（可理解为一个……）
python manage.py app1
发现多了一个文件夹 app1
3 、vi ./app1/views.py  增加代码
from django.http import HttpResponse
def index(self,request):
&#160;&#160; &#160;return HttpResponse('hello test')
4、vi ./urls.py  增加代码
( r&#8217;^tests/&#8217; , &#8216;project1.app1.views.index&#8217; ),
5、启动服务
python manage.py runserver domain.com:8000
然后在浏览器打 domain.com:8000/tests
如果能看到 hello test则证明配置成功。
如果不成功，看debug信息吧，debug默认是开启的。
另外我自己配置使用fastcgi方式运行python，python manage.py runfcgi host=127.0.0.1 port=8000,然后用nginx代理访问。两种方式还有所不同，具体的不同点暂时还不知道，希望知道这些差别的大大们多加提示，继续研究中。
]]></description>
			<content:encoded><![CDATA[<p>1、创建一个project（可理解为站点）</p>
<p>django-admin.py startproject project1</p>
<p>发现新建了一个文件夹 project1</p>
<p>2、创建一个app（可理解为一个……）</p>
<p>python manage.py app1</p>
<p>发现多了一个文件夹 app1</p>
<p>3 、vi ./app1/views.py  增加代码</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">from django.http import HttpResponse</li>
<li>def index(self,request):</li>
<li>&nbsp;&nbsp; &nbsp;return HttpResponse('hello test')</li></ol></div>
<p>4、vi ./urls.py  增加代码<br />
( r&#8217;^tests/&#8217; , &#8216;project1.app1.views.index&#8217; ),</p>
<p>5、启动服务</p>
<p>python manage.py runserver domain.com:8000</p>
<p>然后在浏览器打 domain.com:8000/tests</p>
<p>如果能看到 hello test则证明配置成功。</p>
<p>如果不成功，看debug信息吧，debug默认是开启的。</p>
<blockquote><p>另外我自己配置使用fastcgi方式运行python，python manage.py runfcgi host=127.0.0.1 port=8000,然后用nginx代理访问。两种方式还有所不同，具体的不同点暂时还不知道，希望知道这些差别的大大们多加提示，继续研究中。</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.sunboyu.cn/2009/12/15/django%e7%ac%94%e8%ae%b03-demo%e7%af%87.shtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>django笔记1-安装篇</title>
		<link>http://www.sunboyu.cn/2009/12/14/django%e7%ac%94%e8%ae%b01-%e5%ae%89%e8%a3%85%e7%af%87.shtml</link>
		<comments>http://www.sunboyu.cn/2009/12/14/django%e7%ac%94%e8%ae%b01-%e5%ae%89%e8%a3%85%e7%af%87.shtml#comments</comments>
		<pubDate>Mon, 14 Dec 2009 11:02:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[原创技术]]></category>
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://www.sunboyu.cn/?p=1082</guid>
		<description><![CDATA[1、安装django，当然要安装python，我安装的python2.5
./configure &#8211;prefix=你的路径
2、安装mysqldb
这个可以看这篇文章 http://www.sunboyu.cn/2009/04/22/python25mysqldb122%E5%AE%89%E8%A3%85.shtml
3、安装easl_install
http://pypi.python.org/pypi/setuptools  我下的源码，按照提示安装就行
4、使用easl_install安装flup
地址 http://www.saddi.com/software/flup/dist/flup-1.0.2-py2.5.egg
5、安装django1.1
python setup install
到这里大体就算安装完了，底下配置。
]]></description>
			<content:encoded><![CDATA[<p>1、安装django，当然要安装python，我安装的python2.5</p>
<p>./configure &#8211;prefix=你的路径</p>
<p>2、安装mysqldb</p>
<p>这个可以看这篇文章 http://www.sunboyu.cn/2009/04/22/python25mysqldb122%E5%AE%89%E8%A3%85.shtml</p>
<p>3、安装easl_install</p>
<p>http://pypi.python.org/pypi/setuptools  我下的源码，按照提示安装就行</p>
<p>4、使用easl_install安装flup</p>
<p>地址 http://www.saddi.com/software/flup/dist/flup-1.0.2-py2.5.egg</p>
<p>5、安装django1.1</p>
<p>python setup install</p>
<p>到这里大体就算安装完了，底下配置。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sunboyu.cn/2009/12/14/django%e7%ac%94%e8%ae%b01-%e5%ae%89%e8%a3%85%e7%af%87.shtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>设计标准的通讯协议</title>
		<link>http://www.sunboyu.cn/2009/05/17/%e8%ae%be%e8%ae%a1%e6%a0%87%e5%87%86%e7%9a%84%e9%80%9a%e8%ae%af%e5%8d%8f%e8%ae%ae.shtml</link>
		<comments>http://www.sunboyu.cn/2009/05/17/%e8%ae%be%e8%ae%a1%e6%a0%87%e5%87%86%e7%9a%84%e9%80%9a%e8%ae%af%e5%8d%8f%e8%ae%ae.shtml#comments</comments>
		<pubDate>Sun, 17 May 2009 15:48:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[原创技术]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[协议]]></category>
		<category><![CDATA[虚拟主机]]></category>

		<guid isPermaLink="false">http://www.sunboyu.cn/?p=710</guid>
		<description><![CDATA[当然不会是底层通讯协议，因为TCP/IP已经为我们准备好了足够完善的通讯机制确保稳定安全。
此协议为七层应用协议，跟http ftp是平级的，使用socket进行通讯，可以兼容php、python、java、c等语言。
协议开源，使用点对点信息校验，满足普通应用。
协议模拟tcp封包过程，进行数据封装。
协议内容：(伪代码)
struct vhost
{
&#160;&#160; &#160;Head varchar(10),&#160; &#160; &#160; &#160; &#160; &#160; //协议头
&#160;&#160; &#160;Version int(5),&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;//版本
&#160;&#160; &#160;Timestamp int(5),&#160; &#160; &#160; &#160; &#160; &#160; //时间戳
&#160;&#160; &#160;Length int(10),&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; //包长度
&#160;&#160; &#160;Signature varchar(10),&#160; &#160; &#160; //签名
&#160;&#160; &#160;Date varchar(500)&#160; &#160; &#160; &#160; &#160; &#160; //数据 
}
协议包包括了协议头，版本，时间戳，包长度、签名（防止数据篡改和伪造）,数据。基本能满足应用。
控制端数据打包发送后，受控端只需返回接受成功即可，以便客户端及时作出判断。
底下针对此包做PHP版本的封包和python的解包部分。
注释：原来使用问答的方式进行通讯，需要多次数据的应答，而此次的修改只需一次即可完成，而打包封包在一端完成，这样对网络稳定性的依赖就会降低。
]]></description>
			<content:encoded><![CDATA[<p>当然不会是底层通讯协议，因为TCP/IP已经为我们准备好了足够完善的通讯机制确保稳定安全。</p>
<p>此协议为七层应用协议，跟http ftp是平级的，使用socket进行通讯，可以兼容php、python、java、c等语言。</p>
<p>协议开源，使用点对点信息校验，满足普通应用。</p>
<p>协议模拟tcp封包过程，进行数据封装。</p>
<p>协议内容：(伪代码)</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">struct vhost</li>
<li>{</li>
<li>&nbsp;&nbsp; &nbsp;Head varchar(10),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //协议头</li>
<li>&nbsp;&nbsp; &nbsp;Version int(5),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//版本</li>
<li>&nbsp;&nbsp; &nbsp;Timestamp int(5),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //时间戳</li>
<li>&nbsp;&nbsp; &nbsp;Length int(10),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //包长度</li>
<li>&nbsp;&nbsp; &nbsp;Signature varchar(10),&nbsp; &nbsp; &nbsp; //签名</li>
<li>&nbsp;&nbsp; &nbsp;Date varchar(500)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //数据 </li>
<li>}</li></ol></div>
<p>协议包包括了协议头，版本，时间戳，包长度、签名（防止数据篡改和伪造）,数据。基本能满足应用。</p>
<p>控制端数据打包发送后，受控端只需返回接受成功即可，以便客户端及时作出判断。</p>
<p>底下针对此包做PHP版本的封包和python的解包部分。</p>
<p>注释：原来使用问答的方式进行通讯，需要多次数据的应答，而此次的修改只需一次即可完成，而打包封包在一端完成，这样对网络稳定性的依赖就会降低。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sunboyu.cn/2009/05/17/%e8%ae%be%e8%ae%a1%e6%a0%87%e5%87%86%e7%9a%84%e9%80%9a%e8%ae%af%e5%8d%8f%e8%ae%ae.shtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python写的数据库备份程序</title>
		<link>http://www.sunboyu.cn/2009/04/22/python%e5%86%99%e7%9a%84%e6%95%b0%e6%8d%ae%e5%ba%93%e5%a4%87%e4%bb%bd%e7%a8%8b%e5%ba%8f.shtml</link>
		<comments>http://www.sunboyu.cn/2009/04/22/python%e5%86%99%e7%9a%84%e6%95%b0%e6%8d%ae%e5%ba%93%e5%a4%87%e4%bb%bd%e7%a8%8b%e5%ba%8f.shtml#comments</comments>
		<pubDate>Tue, 21 Apr 2009 17:55:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MYSQL]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[mysqldump]]></category>

		<guid isPermaLink="false">http://www.sunboyu.cn/?p=664</guid>
		<description><![CDATA[下载地址:mysqlbak
#!/var/opt/python-2.5/bin/python
import os
import time
import MySQLdb
&#160;
&#160;
CFG = {}
CFG['root'] = {}
CFG['root']['hostname'] = 'localhost'
CFG['root']['username'] = 'root'
CFG['root']['password'] = 'test'
&#160;
&#160;
CFG['mysqldump'] = '/opt/mysql-5.0.22/bin/mysqldump'
&#160;
CFG['time'] = time.strftime(&#34;%Y-%m-%d&#34;, time.localtime(time.time()) ) 
&#160;
CFG['bakpath'] = '/tmp/' + CFG['time']
CFG['mainbak'] = '/home/sunboyu/databak/' + CFG['time']
&#160;
&#160;
if os.path.exists( CFG['bakpath'] ) == False:
&#160;&#160; &#160;os.mkdir( CFG['bakpath'] )
if os.path.exists( CFG['mainbak'] ) == False:
&#160;&#160; &#160;os.mkdir( CFG['mainbak'] )
&#160;
def mysql_database_bak( database ):
&#160;&#160; &#160;global CFG
&#160;&#160; &#160;DIR = CFG['bakpath'] + &#34;/&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>下载地址:<a href='http://www.sunboyu.cn/upfiles/2009/04/mysqlbak.rar'>mysqlbak</a></p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">#!/var/opt/python-2.5/bin/python</li>
<li>import os</li>
<li>import time</li>
<li>import MySQLdb</li>
<li>&nbsp;</li>
<li>&nbsp;</li>
<li>CFG = {}</li>
<li>CFG['root'] = {}</li>
<li>CFG['root']['hostname'] = 'localhost'</li>
<li>CFG['root']['username'] = 'root'</li>
<li>CFG['root']['password'] = 'test'</li>
<li>&nbsp;</li>
<li>&nbsp;</li>
<li>CFG['mysqldump'] = '/opt/mysql-5.0.22/bin/mysqldump'</li>
<li>&nbsp;</li>
<li>CFG['time'] = time.strftime(&quot;%Y-%m-%d&quot;, time.localtime(time.time()) ) </li>
<li>&nbsp;</li>
<li>CFG['bakpath'] = '/tmp/' + CFG['time']</li>
<li>CFG['mainbak'] = '/home/sunboyu/databak/' + CFG['time']</li>
<li>&nbsp;</li>
<li>&nbsp;</li>
<li>if os.path.exists( CFG['bakpath'] ) == False:</li>
<li>&nbsp;&nbsp; &nbsp;os.mkdir( CFG['bakpath'] )</li>
<li>if os.path.exists( CFG['mainbak'] ) == False:</li>
<li>&nbsp;&nbsp; &nbsp;os.mkdir( CFG['mainbak'] )</li>
<li>&nbsp;</li>
<li>def mysql_database_bak( database ):</li>
<li>&nbsp;&nbsp; &nbsp;global CFG</li>
<li>&nbsp;&nbsp; &nbsp;DIR = CFG['bakpath'] + &quot;/&quot; + database</li>
<li>&nbsp;&nbsp; &nbsp;if os.path.exists( DIR )==False:</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;os.mkdir( DIR )</li>
<li>&nbsp;&nbsp; &nbsp;conn = MySQLdb.connect( host = CFG['root']['hostname'] , user = CFG['root']['username'] , passwd = CFG['root']['password'] , db = database )</li>
<li>&nbsp;&nbsp; &nbsp;db = conn.cursor()</li>
<li>&nbsp;&nbsp; &nbsp;sql = &quot;show tables&quot;;</li>
<li>&nbsp;&nbsp; &nbsp;db.execute( sql )</li>
<li>&nbsp;&nbsp; &nbsp;result = {}</li>
<li>&nbsp;&nbsp; &nbsp;for recordline in db.fetchall():</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;os.system( CFG['mysqldump'] + &quot; --opt&nbsp; &quot; + database + &quot; &quot; + recordline[0] + &quot; -u&quot; + CFG['root']['username'] + &quot; -p&quot; + CFG['root']['password'] + &quot; &gt; &quot; + DIR + &quot;/&quot; + database + &quot;_&quot; + recordline[0] + &quot;.sql&quot; )</li>
<li>&nbsp;&nbsp; &nbsp;os.system( &quot;tar cvf &quot; + CFG['bakpath'] + &quot;/&quot; + database + &quot;.tar.gz &quot; +&nbsp; CFG['bakpath'] + &quot;/&quot; + database )</li>
<li>&nbsp;&nbsp; &nbsp;os.system( &quot;mv &quot; + CFG['bakpath'] + &quot;/&quot; + database + &quot;.tar.gz &quot; + CFG['mainbak'] + '/' )</li>
<li>&nbsp;</li>
<li>&nbsp;</li>
<li>conn = MySQLdb.connect( host = CFG['root']['hostname'] , user = CFG['root']['username'] , passwd = CFG['root']['password'] , db = 'test' )</li>
<li>sql = &quot;show databases&quot;;</li>
<li>db = conn.cursor()</li>
<li>db.execute( sql )</li>
<li>result = {}</li>
<li>bigcount = 0</li>
<li>for recordline in db.fetchall():</li>
<li>	littlecount = 0</li>
<li>	result[bigcount] = {}</li>
<li>	for colnum in db.description:</li>
<li>	&nbsp; &nbsp; result[bigcount][colnum[0]] = recordline[littlecount]</li>
<li>	&nbsp; &nbsp; littlecount += 1</li>
<li>	bigcount += 1</li>
<li>&nbsp;</li>
<li>&nbsp;</li>
<li>for tables in result:</li>
<li>&nbsp;&nbsp; &nbsp;mysql_database_bak( result[tables]['Database'] )</li>
<li>&nbsp;</li>
<li>os.system( &quot;rm -rf /tmp/&quot; + CFG['time'] )&nbsp; #警告 rm -rf 这个命令相当危险，使用一定要谨慎</li></ol></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sunboyu.cn/2009/04/22/python%e5%86%99%e7%9a%84%e6%95%b0%e6%8d%ae%e5%ba%93%e5%a4%87%e4%bb%bd%e7%a8%8b%e5%ba%8f.shtml/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>python2.5+MySQLdb1.2.2安装</title>
		<link>http://www.sunboyu.cn/2009/04/22/python25mysqldb122%e5%ae%89%e8%a3%85.shtml</link>
		<comments>http://www.sunboyu.cn/2009/04/22/python25mysqldb122%e5%ae%89%e8%a3%85.shtml#comments</comments>
		<pubDate>Tue, 21 Apr 2009 16:04:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[LINUX]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[MySQLdb]]></category>

		<guid isPermaLink="false">http://www.sunboyu.cn/?p=662</guid>
		<description><![CDATA[最近比较喜欢用python写一些shell，又因为要跟mysql交互，所以安装python2.5＋MySQLdb1.2.2。
选择python而没有选择perl，c之类，是因为python语法相对简单，适合我。其实php也可以，但linux默认安装python并大量使用，而并不默认安装PHP。
在安装过程中遇到很多问题，暂不罗列，google是半万能的，多尝试。
使用这两个版本，是因为在编译过程中的问题，逼我仔细阅读了产品稳当，发现版本依赖性很强，最终选择的这两个。
python编译很简单 ./configure &#8211;prefix=/*****  就OK了。
MySQLdb的安装也很简单,但首先要修改site.cfg的参数，其中threadsafe和mysql_config的值要根据情况修改。
python setup.py build
（如果必要，中间运行这个  ln -s /opt/mysql-5.0.22/lib/libmysqlclient.a ./build/lib.linux-x86_64-2.4/_mysql.so 路径自己调整）
python setup.py install
]]></description>
			<content:encoded><![CDATA[<p>最近比较喜欢用python写一些shell，又因为要跟mysql交互，所以安装python2.5＋MySQLdb1.2.2。</p>
<p>选择python而没有选择perl，c之类，是因为python语法相对简单，适合我。其实php也可以，但linux默认安装python并大量使用，而并不默认安装PHP。</p>
<p>在安装过程中遇到很多问题，暂不罗列，google是半万能的，多尝试。</p>
<p>使用这两个版本，是因为在编译过程中的问题，逼我仔细阅读了产品稳当，发现版本依赖性很强，最终选择的这两个。</p>
<p>python编译很简单 ./configure &#8211;prefix=/*****  就OK了。</p>
<p>MySQLdb的安装也很简单,但首先要修改site.cfg的参数，其中threadsafe和mysql_config的值要根据情况修改。</p>
<p>python setup.py build<br />
（如果必要，中间运行这个  ln -s /opt/mysql-5.0.22/lib/libmysqlclient.a ./build/lib.linux-x86_64-2.4/_mysql.so 路径自己调整）<br />
python setup.py install</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sunboyu.cn/2009/04/22/python25mysqldb122%e5%ae%89%e8%a3%85.shtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python写的数据抽象层</title>
		<link>http://www.sunboyu.cn/2009/03/30/python%e5%86%99%e7%9a%84%e6%95%b0%e6%8d%ae%e6%8a%bd%e8%b1%a1%e5%b1%82.shtml</link>
		<comments>http://www.sunboyu.cn/2009/03/30/python%e5%86%99%e7%9a%84%e6%95%b0%e6%8d%ae%e6%8a%bd%e8%b1%a1%e5%b1%82.shtml#comments</comments>
		<pubDate>Mon, 30 Mar 2009 03:26:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[原创技术]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.sunboyu.cn/?p=622</guid>
		<description><![CDATA[python本身没有对mysql的支持，得依赖附加的库 http://mysql-python.sourceforge.net 。很多框架采用了这个库，比如adodb，django等。不过我倾向于自己写这些东西，所以小研究了一下。 mysql-python 有两个对象 MySQLdb _mysql 这里是介绍http://mysql-python.sourceforge.net/MySQLdb.html,我使用的是 MySQLdb 对象
#!/D:\python25\python.exe
import MySQLdb
&#160;
class Mysql(object):
&#160;&#160; &#160;handle = ''
&#160;&#160; &#160;query = ''
&#160;&#160; &#160;exectime = 0
&#160;&#160; &#160;effected = 0
&#160;
&#160;&#160; &#160;def __init__( self , hostname , username , password , database ):
&#160;&#160; &#160; &#160; &#160;db = MySQLdb.connect( host = hostname , user = username , passwd = password , db = [...]]]></description>
			<content:encoded><![CDATA[<p>python本身没有对mysql的支持，得依赖附加的库 http://mysql-python.sourceforge.net 。很多框架采用了这个库，比如adodb，django等。不过我倾向于自己写这些东西，所以小研究了一下。 mysql-python 有两个对象 MySQLdb _mysql 这里是介绍http://mysql-python.sourceforge.net/MySQLdb.html,我使用的是 MySQLdb 对象</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">#!/D:\python25\python.exe</li>
<li>import MySQLdb</li>
<li>&nbsp;</li>
<li>class Mysql(object):</li>
<li>&nbsp;&nbsp; &nbsp;handle = ''</li>
<li>&nbsp;&nbsp; &nbsp;query = ''</li>
<li>&nbsp;&nbsp; &nbsp;exectime = 0</li>
<li>&nbsp;&nbsp; &nbsp;effected = 0</li>
<li>&nbsp;</li>
<li>&nbsp;&nbsp; &nbsp;def __init__( self , hostname , username , password , database ):</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;db = MySQLdb.connect( host = hostname , user = username , passwd = password , db = database )</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self.handle = db.cursor()</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</li>
<li>&nbsp;&nbsp; &nbsp;def query( self , sql = '' ):</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return self.handle.execute( sql )</li>
<li>&nbsp;</li>
<li>&nbsp;&nbsp; &nbsp;def fetch( self , sql = '' ):</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self.handle.execute( sql )</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;rs = self.handle.fetchone()</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;count = 0</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;result = {}</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for colnum in self.handle.description:</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;result[colnum[0]] = rs[count]</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;count += 1</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return result</li>
<li>&nbsp;&nbsp; &nbsp;</li>
<li>&nbsp;&nbsp; &nbsp;def fetchAll( self , sql = '' ):</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self.handle.execute( sql )</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;result = {}</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;bigcount = 0</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for recordline in self.handle.fetchall():</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;littlecount = 0</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;result[bigcount] = {}</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for colnum in self.handle.description:</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;result[bigcount][colnum[0]] = recordline[littlecount]</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;littlecount += 1</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;bigcount += 1</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return result</li>
<li>&nbsp;</li>
<li>&nbsp;&nbsp; &nbsp;def insertID( self ):</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;self.handle.execute(&quot;SELECT LAST_INSERT_ID() AS lid&quot;)</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rs = self.handle.fetchone()</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return rs[0]</li>
<li>&nbsp;</li>
<li>&nbsp;&nbsp; &nbsp;def close( self ):</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;self.handle.close()</li>
<li>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pass</li>
<li>#DEMO</li>
<li>db = Mysql('localhost','root','123456','frame')</li>
<li>db.fetchAll('select * from user')</li>
<li>#rs = db.fetchAll('select * from user')</li>
<li>#sql = &quot;INSERT INTO tags (module,fid,name,note,`order`) VALUE ('test',1,'fd','ds',1)&quot;</li>
<li>#db.query(sql)</li>
<li>#print db.insertID()</li></ol></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sunboyu.cn/2009/03/30/python%e5%86%99%e7%9a%84%e6%95%b0%e6%8d%ae%e6%8a%bd%e8%b1%a1%e5%b1%82.shtml/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>解决了该死的权限问题，是否真的有效</title>
		<link>http://www.sunboyu.cn/2009/03/12/%e8%a7%a3%e5%86%b3%e4%ba%86%e8%af%a5%e6%ad%bb%e7%9a%84%e6%9d%83%e9%99%90%e9%97%ae%e9%a2%98%ef%bc%8c%e6%98%af%e5%90%a6%e7%9c%9f%e7%9a%84%e6%9c%89%e6%95%88.shtml</link>
		<comments>http://www.sunboyu.cn/2009/03/12/%e8%a7%a3%e5%86%b3%e4%ba%86%e8%af%a5%e6%ad%bb%e7%9a%84%e6%9d%83%e9%99%90%e9%97%ae%e9%a2%98%ef%bc%8c%e6%98%af%e5%90%a6%e7%9c%9f%e7%9a%84%e6%9c%89%e6%95%88.shtml#comments</comments>
		<pubDate>Thu, 12 Mar 2009 15:43:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.sunboyu.cn/?p=600</guid>
		<description><![CDATA[我的apache＋php权限是配置的最为严格的，当然，在用的时候难免伴随着混乱的账户情况，linux的权限机制也是很让人头疼的，终于，还是在风平浪静种碰到了麻烦。
我不认为PHP很强，因为它只是一个面向Web的脚本语言，而PHP的开发者却赋予了它太多，让人去用，有人也滥用。
当然，一门语言能解决N多问题是好的，比如汇编，C，但终究PHP有它跨不过的坎。毕竟它只是web脚本语言。
权限出现很大的问题，至今没有搞透，说白了对linux还是一知半解，使用python写了个第三方的东西，很完美得跳跃了权限的问题。至于效率，python肯定要比php强的，起码PHP作为服务器端程序运行，PHP还没有线程和进程的控制（一直没有发现），python有完善的线程进程的库。在权限管理上，python没细看，PHP在linux下有posix函数库，我一直也没有用过。
在没有更好的解决方案前，我依然用PHP做服务器端程序，python作为一些补充。也许，全部切换过去。
]]></description>
			<content:encoded><![CDATA[<p>我的apache＋php权限是配置的最为严格的，当然，在用的时候难免伴随着混乱的账户情况，linux的权限机制也是很让人头疼的，终于，还是在风平浪静种碰到了麻烦。</p>
<p>我不认为PHP很强，因为它只是一个面向Web的脚本语言，而PHP的开发者却赋予了它太多，让人去用，有人也滥用。</p>
<p>当然，一门语言能解决N多问题是好的，比如汇编，C，但终究PHP有它跨不过的坎。毕竟它只是web脚本语言。</p>
<p>权限出现很大的问题，至今没有搞透，说白了对linux还是一知半解，使用python写了个第三方的东西，很完美得跳跃了权限的问题。至于效率，python肯定要比php强的，起码PHP作为服务器端程序运行，PHP还没有线程和进程的控制（一直没有发现），python有完善的线程进程的库。在权限管理上，python没细看，PHP在linux下有posix函数库，我一直也没有用过。</p>
<p>在没有更好的解决方案前，我依然用PHP做服务器端程序，python作为一些补充。也许，全部切换过去。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sunboyu.cn/2009/03/12/%e8%a7%a3%e5%86%b3%e4%ba%86%e8%af%a5%e6%ad%bb%e7%9a%84%e6%9d%83%e9%99%90%e9%97%ae%e9%a2%98%ef%bc%8c%e6%98%af%e5%90%a6%e7%9c%9f%e7%9a%84%e6%9c%89%e6%95%88.shtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用PYTHON小提apache下的PHP执行权限</title>
		<link>http://www.sunboyu.cn/2009/02/28/%e4%bd%bf%e7%94%a8python%e5%b0%8f%e6%8f%90apache%e4%b8%8b%e7%9a%84php%e6%89%a7%e8%a1%8c%e6%9d%83%e9%99%90.shtml</link>
		<comments>http://www.sunboyu.cn/2009/02/28/%e4%bd%bf%e7%94%a8python%e5%b0%8f%e6%8f%90apache%e4%b8%8b%e7%9a%84php%e6%89%a7%e8%a1%8c%e6%9d%83%e9%99%90.shtml#comments</comments>
		<pubDate>Sat, 28 Feb 2009 15:15:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.sunboyu.cn/?p=583</guid>
		<description><![CDATA[绕了个圈，权限彻底上去了，中间用socket通讯方式解决。
代码暂时还不安全，等拿出安全的方案后公布
]]></description>
			<content:encoded><![CDATA[<p>绕了个圈，权限彻底上去了，中间用socket通讯方式解决。<br />
代码暂时还不安全，等拿出安全的方案后公布</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sunboyu.cn/2009/02/28/%e4%bd%bf%e7%94%a8python%e5%b0%8f%e6%8f%90apache%e4%b8%8b%e7%9a%84php%e6%89%a7%e8%a1%8c%e6%9d%83%e9%99%90.shtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python编译参数</title>
		<link>http://www.sunboyu.cn/2009/02/21/python%e7%bc%96%e8%af%91%e5%8f%82%e6%95%b0.shtml</link>
		<comments>http://www.sunboyu.cn/2009/02/21/python%e7%bc%96%e8%af%91%e5%8f%82%e6%95%b0.shtml#comments</comments>
		<pubDate>Sat, 21 Feb 2009 15:38:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[mod_python]]></category>

		<guid isPermaLink="false">http://www.sunboyu.cn/?p=573</guid>
		<description><![CDATA[python2.6.1和mod_python的编译参数
#python编译参数
./configure --prefix=/opt/python-2.6.1 \
--enable-shared \
--enable-profiling \
--with-gcc \
--with-pydebug \
--with-system-ffi \
--with-signal-module \
--with-dec-threads \
--with-threads \
--with-thread \
--with-pth \
--with-doc-strings \
--with-tsc \
--with-pymalloc \
--with-fpectl
&#160;
#python_mod编译参数
./configure --with-apxs=/opt/httpd-2.2.9 \
--with-python=/opt/python-2.6.1
]]></description>
			<content:encoded><![CDATA[<p>python2.6.1和mod_python的编译参数</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">#python编译参数</li>
<li>./configure --prefix=/opt/python-2.6.1 \</li>
<li>--enable-shared \</li>
<li>--enable-profiling \</li>
<li>--with-gcc \</li>
<li>--with-pydebug \</li>
<li>--with-system-ffi \</li>
<li>--with-signal-module \</li>
<li>--with-dec-threads \</li>
<li>--with-threads \</li>
<li>--with-thread \</li>
<li>--with-pth \</li>
<li>--with-doc-strings \</li>
<li>--with-tsc \</li>
<li>--with-pymalloc \</li>
<li>--with-fpectl</li>
<li>&nbsp;</li>
<li>#python_mod编译参数</li>
<li>./configure --with-apxs=/opt/httpd-2.2.9 \</li>
<li>--with-python=/opt/python-2.6.1</li></ol></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sunboyu.cn/2009/02/21/python%e7%bc%96%e8%af%91%e5%8f%82%e6%95%b0.shtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>明确了方向,Gentoo,Python</title>
		<link>http://www.sunboyu.cn/2009/01/17/%e6%98%8e%e7%a1%ae%e4%ba%86%e6%96%b9%e5%90%91gentoopython.shtml</link>
		<comments>http://www.sunboyu.cn/2009/01/17/%e6%98%8e%e7%a1%ae%e4%ba%86%e6%96%b9%e5%90%91gentoopython.shtml#comments</comments>
		<pubDate>Fri, 16 Jan 2009 16:03:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[感悟]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.sunboyu.cn/?p=493</guid>
		<description><![CDATA[晚上收拾东西，翻出了很多的Linux发行版，Ubuntu，SuseLinux，红旗，Fedora等。不过我最终还是留下了Centos的几个版本。
Fedora5是我的第一个实际应用的发行版，因为公司当时从win迁移linux平台，红帽是我曾经听说过的系统，简单实践过，就硬上了，好在有yum这东西，很端的时间把服务都配起来，还真跑起来了。
不过Fedora在DELL1950的机器上有个硬伤，就是对双网卡的支持不好，只能支持一块网卡，后来迫不得已，找到了Centos，果然很爽，就一直在用了。
以后，基本一直在研究和优化linux下的Web相关服务。不断优化，改进，定制。
终于发现在发行版的基础上优化和精简，逐渐有了障碍，我需要研究linux的各种服务的原理，与其去分析每个服务，不如从零配置一个服务。两个方案，LFS和gentoo。
LFS似乎是个很神秘的东西，其实现在的资料很全，而且很多高手给出了详细的流程。但我选择了gentoo，因为gentoo是完全根据用户定制进行安装，是在一个稳定的基础上进行定制，定制的产品也许稳定性和效率会很高。而LFS，如果我对linux的理解不是太深，也许作出来的版本也是不能进行生产的，只能算个实验室产品。
因此，本着劳以致用的原则，我开始对gentoo系统的研究，另外继续发展熟悉的CentOS4.7Server版本用作生产。
希望下年我能完全切换到gentoo环境＋python开发。
注：转移到python，是因为最近我被一个PHP进程效率问题折腾的焦头烂额，而在linux上实现多个php进程调度的困难和效率的损失让我彻底对PHP失去了信心，因为PHP就是一个面向Web的开发语言，用迷信崇拜的思想往其他领域迁移实在是难受，因此用python去解决多进程的问题再好不好，python的解释型语言和面向对象特性跟PHP很是相似，但相关的类库却接近于底层，又没有c的完全面向底层。python也许又是我下一个迷信的东西。
]]></description>
			<content:encoded><![CDATA[<p>晚上收拾东西，翻出了很多的Linux发行版，Ubuntu，SuseLinux，红旗，Fedora等。不过我最终还是留下了Centos的几个版本。</p>
<p>Fedora5是我的第一个实际应用的发行版，因为公司当时从win迁移linux平台，红帽是我曾经听说过的系统，简单实践过，就硬上了，好在有yum这东西，很端的时间把服务都配起来，还真跑起来了。</p>
<p>不过Fedora在DELL1950的机器上有个硬伤，就是对双网卡的支持不好，只能支持一块网卡，后来迫不得已，找到了Centos，果然很爽，就一直在用了。</p>
<p>以后，基本一直在研究和优化linux下的Web相关服务。不断优化，改进，定制。</p>
<p>终于发现在发行版的基础上优化和精简，逐渐有了障碍，我需要研究linux的各种服务的原理，与其去分析每个服务，不如从零配置一个服务。两个方案，LFS和gentoo。</p>
<p>LFS似乎是个很神秘的东西，其实现在的资料很全，而且很多高手给出了详细的流程。但我选择了gentoo，因为gentoo是完全根据用户定制进行安装，是在一个稳定的基础上进行定制，定制的产品也许稳定性和效率会很高。而LFS，如果我对linux的理解不是太深，也许作出来的版本也是不能进行生产的，只能算个实验室产品。</p>
<p>因此，本着劳以致用的原则，我开始对gentoo系统的研究，另外继续发展熟悉的CentOS4.7Server版本用作生产。</p>
<p>希望下年我能完全切换到gentoo环境＋python开发。</p>
<p>注：转移到python，是因为最近我被一个PHP进程效率问题折腾的焦头烂额，而在linux上实现多个php进程调度的困难和效率的损失让我彻底对PHP失去了信心，因为PHP就是一个面向Web的开发语言，用迷信崇拜的思想往其他领域迁移实在是难受，因此用python去解决多进程的问题再好不好，python的解释型语言和面向对象特性跟PHP很是相似，但相关的类库却接近于底层，又没有c的完全面向底层。python也许又是我下一个迷信的东西。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sunboyu.cn/2009/01/17/%e6%98%8e%e7%a1%ae%e4%ba%86%e6%96%b9%e5%90%91gentoopython.shtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>新书，不是一般的新</title>
		<link>http://www.sunboyu.cn/2008/12/12/%e6%96%b0%e4%b9%a6%ef%bc%8c%e4%b8%8d%e6%98%af%e4%b8%80%e8%88%ac%e7%9a%84%e6%96%b0.shtml</link>
		<comments>http://www.sunboyu.cn/2008/12/12/%e6%96%b0%e4%b9%a6%ef%bc%8c%e4%b8%8d%e6%98%af%e4%b8%80%e8%88%ac%e7%9a%84%e6%96%b0.shtml#comments</comments>
		<pubDate>Fri, 12 Dec 2008 03:34:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.sunboyu.cn/?p=423</guid>
		<description><![CDATA[
中午到中关村图书大厦购得，不错。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sunboyu.cn/upfiles/2008/12/s3140466.jpg"><img class="aligncenter size-full wp-image-424" title="s3140466" src="http://www.sunboyu.cn/upfiles/2008/12/s3140466.jpg" alt="" width="125" height="180" /></a></p>
<p>中午到中关村图书大厦购得，不错。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sunboyu.cn/2008/12/12/%e6%96%b0%e4%b9%a6%ef%bc%8c%e4%b8%8d%e6%98%af%e4%b8%80%e8%88%ac%e7%9a%84%e6%96%b0.shtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自行车VS Program</title>
		<link>http://www.sunboyu.cn/2008/12/12/%e8%87%aa%e8%a1%8c%e8%bd%a6vs-program.shtml</link>
		<comments>http://www.sunboyu.cn/2008/12/12/%e8%87%aa%e8%a1%8c%e8%bd%a6vs-program.shtml#comments</comments>
		<pubDate>Fri, 12 Dec 2008 01:02:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[纯属蛋疼]]></category>
		<category><![CDATA[echo]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.sunboyu.cn/?p=419</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sunboyu.cn/upfiles/2008/12/echo.jpg"><img class="aligncenter size-full wp-image-420" title="echo" src="http://www.sunboyu.cn/upfiles/2008/12/echo.jpg" alt="" width="500" height="333" /></a><a href="http://www.sunboyu.cn/upfiles/2008/12/java.jpg"><img class="aligncenter size-full wp-image-421" title="java" src="http://www.sunboyu.cn/upfiles/2008/12/java.jpg" alt="" width="500" height="346" /></a><a href="http://www.sunboyu.cn/upfiles/2008/12/python.jpg"><img class="aligncenter size-full wp-image-422" title="python" src="http://www.sunboyu.cn/upfiles/2008/12/python.jpg" alt="" width="500" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sunboyu.cn/2008/12/12/%e8%87%aa%e8%a1%8c%e8%bd%a6vs-program.shtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>购得一本新书：《Python网络编程基础》</title>
		<link>http://www.sunboyu.cn/2008/12/08/%e8%b4%ad%e5%be%97%e4%b8%80%e6%9c%ac%e6%96%b0%e4%b9%a6%ef%bc%9a%e3%80%8apython%e7%bd%91%e7%bb%9c%e7%bc%96%e7%a8%8b%e5%9f%ba%e7%a1%80%e3%80%8b.shtml</link>
		<comments>http://www.sunboyu.cn/2008/12/08/%e8%b4%ad%e5%be%97%e4%b8%80%e6%9c%ac%e6%96%b0%e4%b9%a6%ef%bc%9a%e3%80%8apython%e7%bd%91%e7%bb%9c%e7%bc%96%e7%a8%8b%e5%9f%ba%e7%a1%80%e3%80%8b.shtml#comments</comments>
		<pubDate>Mon, 08 Dec 2008 15:04:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[其他]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.sunboyu.cn/?p=416</guid>
		<description><![CDATA[过分迷信PHP是不行的，做事还得找专长

]]></description>
			<content:encoded><![CDATA[<p>过分迷信PHP是不行的，做事还得找专长<br />
<a href='http://www.sunboyu.cn/upfiles/2008/12/s2604186.jpg'><img src="http://www.sunboyu.cn/upfiles/2008/12/s2604186.jpg" alt="" title="s2604186" width="105" height="140" class="aligncenter size-full wp-image-417" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sunboyu.cn/2008/12/08/%e8%b4%ad%e5%be%97%e4%b8%80%e6%9c%ac%e6%96%b0%e4%b9%a6%ef%bc%9a%e3%80%8apython%e7%bd%91%e7%bb%9c%e7%bc%96%e7%a8%8b%e5%9f%ba%e7%a1%80%e3%80%8b.shtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.622 seconds -->
