<?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>DanFolkes &#187; Python</title>
	<atom:link href="http://danfolkes.com/index.php/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://danfolkes.com</link>
	<description>programmers blog</description>
	<lastBuildDate>Wed, 01 Sep 2010 22:02:50 +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>IPMap Python Ip Address Locator Command Line Script</title>
		<link>http://danfolkes.com/index.php/2009/04/29/ipmapcom-python/</link>
		<comments>http://danfolkes.com/index.php/2009/04/29/ipmapcom-python/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 18:08:25 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[address]]></category>
		<category><![CDATA[geocode]]></category>
		<category><![CDATA[Geolocation]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[ip address]]></category>
		<category><![CDATA[ipmap]]></category>
		<category><![CDATA[locator]]></category>

		<guid isPermaLink="false">http://danfolkes.com/?p=230</guid>
		<description><![CDATA[
This program uses this site IpMap to get peoples location based off of their IP address.
It&#8217;s written in python.  Enjoy.
Download Source  &#8211; GPLv3 Code.  Give back.
Usage:
 python ipmap.py 74.125.45.100 all
 python ipmap.py 74.125.45.100
 python ipmap.py  (This will get you the help screen)
Args:
          [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://danfolkes.com/wp-content/uploads/2009/04/ipmap.jpg"><img src="http://danfolkes.com/wp-content/uploads/2009/04/ipmap.jpg" alt="ipmap python ip location geocode" title="ipmap python ip location geocode" width="415" height="336" class="size-full wp-image-239" /></a></p>
<p>This program uses this site <a href="http://www.ipmap.com/" target="_blank">IpMap</a> to get peoples location based off of their IP address.</p>
<p>It&#8217;s written in python.  Enjoy.</p>
<p><a href='http://danfolkes.com/wp-content/uploads/2009/04/ipmap.py'>Download Source</a>  &#8211; <a href="http://www.gnu.org/copyleft/gpl.html">GPLv3</a> Code.  Give back.<br />
Usage:<br />
 python ipmap.py 74.125.45.100 all<br />
 python ipmap.py 74.125.45.100<br />
 python ipmap.py  (This will get you the help screen)</p>
<p>Args:<br />
                all =   Prints all details<br />
                nomap = Gets All, no map<br />
                loc =   Gets: Country, Region, City<br />
<span id="more-230"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">urllib2</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>
&nbsp;
i = <span style="color: #ff4500;">0</span>
<span style="color: #008000;">help</span> = <span style="color: #483d8b;">&quot;&quot;&quot;
        Made by Daniel Folkes
==============================
        Usage:
                python ipmap.py 74.125.45.100 all
        Args:
                all =   Prints all details
                nomap = Gets All, no map
                loc =   Gets: Country, Region, City
&quot;&quot;&quot;</span>
alen = <span style="color: #008000;">len</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#41;</span>
argz = <span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> alen<span style="color: #66cc66;">&lt;</span>=<span style="color: #ff4500;">1</span> <span style="color: #ff7700;font-weight:bold;">or</span> alen<span style="color: #66cc66;">&gt;</span><span style="color: #ff4500;">3</span>:
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #008000;">help</span>
        quit<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">elif</span> alen == <span style="color: #ff4500;">2</span>:
        ip = argz<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>
        comm = <span style="color: #483d8b;">&quot;all&quot;</span>
<span style="color: #ff7700;font-weight:bold;">elif</span> alen == <span style="color: #ff4500;">3</span>:
        ip = argz<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>
        comm = argz<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: #66cc66;">;</span> <span style="color: #808080; font-style: italic;">#ahrd</span>
&nbsp;
req = <span style="color: #dc143c;">urllib2</span>.<span style="color: black;">Request</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;http://www.ipmap.com/&quot;</span>+ip<span style="color: black;">&#41;</span>
response = <span style="color: #dc143c;">urllib2</span>.<span style="color: black;">urlopen</span><span style="color: black;">&#40;</span>req<span style="color: black;">&#41;</span>
pg = response.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
pg = pg<span style="color: black;">&#91;</span>pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;table'</span><span style="color: black;">&#41;</span>:pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;div id=&quot;footer&quot;'</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span>
&nbsp;
&nbsp;
st = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;td&gt;'</span><span style="color: black;">&#41;</span>
st2 = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&amp;nbsp;'</span><span style="color: black;">&#41;</span>
ed = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;/tr'</span><span style="color: black;">&#41;</span>
info0 = pg<span style="color: black;">&#91;</span>st+<span style="color: #ff4500;">4</span>:st2<span style="color: black;">&#93;</span>
&nbsp;
pg = pg<span style="color: black;">&#91;</span>ed+<span style="color: #ff4500;">4</span>:<span style="color: black;">&#93;</span>
&nbsp;
st = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;td&gt;'</span><span style="color: black;">&#41;</span>
st2 = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&amp;nbsp;'</span><span style="color: black;">&#41;</span>
ed = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;/tr'</span><span style="color: black;">&#41;</span>
info1 = pg<span style="color: black;">&#91;</span>st+<span style="color: #ff4500;">4</span>:st2<span style="color: black;">&#93;</span>
&nbsp;
&nbsp;
pg = pg<span style="color: black;">&#91;</span>ed+<span style="color: #ff4500;">4</span>:<span style="color: black;">&#93;</span>
&nbsp;
st = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;td&gt;'</span><span style="color: black;">&#41;</span>
&nbsp;
st = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;td&gt;'</span><span style="color: black;">&#41;</span>
st2 = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&amp;nbsp;'</span><span style="color: black;">&#41;</span>
ed = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;/tr'</span><span style="color: black;">&#41;</span>
info2 = pg<span style="color: black;">&#91;</span>st+<span style="color: #ff4500;">4</span>:st2<span style="color: black;">&#93;</span>
&nbsp;
pg = pg<span style="color: black;">&#91;</span>ed+<span style="color: #ff4500;">4</span>:<span style="color: black;">&#93;</span>
&nbsp;
st = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;td&gt;'</span><span style="color: black;">&#41;</span>
st2 = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&amp;nbsp;'</span><span style="color: black;">&#41;</span>
ed = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;/tr'</span><span style="color: black;">&#41;</span>
info3 = pg<span style="color: black;">&#91;</span>st+<span style="color: #ff4500;">4</span>:st2<span style="color: black;">&#93;</span>
&nbsp;
&nbsp;
pg = pg<span style="color: black;">&#91;</span>ed+<span style="color: #ff4500;">4</span>:<span style="color: black;">&#93;</span>
&nbsp;
st = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;td&gt;'</span><span style="color: black;">&#41;</span>
st2 = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&amp;nbsp;'</span><span style="color: black;">&#41;</span>
ed = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;/tr'</span><span style="color: black;">&#41;</span>
info4 = pg<span style="color: black;">&#91;</span>st+<span style="color: #ff4500;">4</span>:st2<span style="color: black;">&#93;</span>
&nbsp;
pg = pg<span style="color: black;">&#91;</span>ed+<span style="color: #ff4500;">4</span>:<span style="color: black;">&#93;</span>
&nbsp;
st = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;td&gt;'</span><span style="color: black;">&#41;</span>
st2 = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&amp;nbsp;'</span><span style="color: black;">&#41;</span>
ed = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;/tr'</span><span style="color: black;">&#41;</span>
info5 = pg<span style="color: black;">&#91;</span>st+<span style="color: #ff4500;">4</span>:st2<span style="color: black;">&#93;</span>
&nbsp;
&nbsp;
pg = pg<span style="color: black;">&#91;</span>ed+<span style="color: #ff4500;">4</span>:<span style="color: black;">&#93;</span>
&nbsp;
st = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;td&gt;'</span><span style="color: black;">&#41;</span>
st2 = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&amp;nbsp;'</span><span style="color: black;">&#41;</span>
ed = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;/tr'</span><span style="color: black;">&#41;</span>
info6 = pg<span style="color: black;">&#91;</span>st+<span style="color: #ff4500;">4</span>:st2<span style="color: black;">&#93;</span>
&nbsp;
pg = pg<span style="color: black;">&#91;</span>ed+<span style="color: #ff4500;">4</span>:<span style="color: black;">&#93;</span>
&nbsp;
st = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;img src=&quot;http://maps.google.com'</span><span style="color: black;">&#41;</span>
st2 = pg.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&quot;/&gt;'</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;">#ed = pg.find('')</span>
info7 = pg<span style="color: black;">&#91;</span>st:st2+<span style="color: #ff4500;">3</span><span style="color: black;">&#93;</span>
&nbsp;
&nbsp;
retval = <span style="color: #483d8b;">&quot;&quot;</span>
sep = <span style="color: #483d8b;">&quot;,&quot;</span>
<span style="color: #ff7700;font-weight:bold;">if</span> comm == <span style="color: #483d8b;">&quot;nomap&quot;</span>:
        retval += info0
        retval += sep
        retval += info1
        retval += sep
        retval += info1
        retval += sep
        retval += info2
        retval += sep
        retval += info3
        retval += sep
        retval += info4
        retval += sep
        retval += info5
        retval += sep
        retval += info6
<span style="color: #ff7700;font-weight:bold;">elif</span> comm == <span style="color: #483d8b;">&quot;loc&quot;</span>:
        retval += info3
        retval += sep
        retval += info4
        retval += sep
        retval += info5
<span style="color: #ff7700;font-weight:bold;">else</span>:
        retval += info0
        retval += sep
        retval += info1
        retval += sep
        retval += info2
        retval += sep
        retval += info3
        retval += sep
        retval += info4
        retval += sep
        retval += info5
        retval += sep
        retval += info6
        retval += sep
        retval += info7
&nbsp;
<span style="color: #ff7700;font-weight:bold;">print</span> retval</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://danfolkes.com/index.php/2009/04/29/ipmapcom-python/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Python: Grab Email from Gmail and Insert into MySql Database</title>
		<link>http://danfolkes.com/index.php/2009/01/22/python-grab-email-from-gmail-and-insert-into-mysql-database/</link>
		<comments>http://danfolkes.com/index.php/2009/01/22/python-grab-email-from-gmail-and-insert-into-mysql-database/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 17:21:31 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[pop]]></category>

		<guid isPermaLink="false">http://danfolkes.com/?p=113</guid>
		<description><![CDATA[This script will:

Log into Gmail Pop
Read the email
Delete the read email
Insert the email&#8217;s text into a MySql database
Sleep for 1800 seconds, and repeat


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
try:
        import poplib, sys, time
        import string, random
        import StringIO, rfc822
  [...]]]></description>
			<content:encoded><![CDATA[<p>This script will:</p>
<ul>
<li>Log into Gmail Pop</li>
<li>Read the email</li>
<li>Delete the read email</li>
<li>Insert the email&#8217;s text into a MySql database</li>
<li>Sleep for 1800 seconds, and repeat</li>
</ul>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">try</span>:
        <span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">poplib</span>, <span style="color: #dc143c;">sys</span>, <span style="color: #dc143c;">time</span>
        <span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">string</span>, <span style="color: #dc143c;">random</span>
        <span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">StringIO</span>, <span style="color: #dc143c;">rfc822</span>
        <span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">datetime</span>
        SERVER = <span style="color: #483d8b;">&quot;pop.gmail.com&quot;</span>
        USER  = <span style="color: #483d8b;">&quot;gmailusername&quot;</span>
        PASSWORD = <span style="color: #483d8b;">&quot;gmailpassword&quot;</span>
        i = <span style="color: #ff4500;">0</span><span style="color: #66cc66;">;</span>
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;&quot;&quot;
        |------------------------------------------|
        |  This is a python program that checks a  |
        |  POP account and if there is a message,  |
        |  it adds it to the SQL server.           |
        |------------------------------------------|
                  by: Daniel Folkes
                         email: danfolkes@gmail.com
&nbsp;
        (every 180 seconds)
        Checking POP server....
&quot;&quot;&quot;</span>
        <span style="color: #ff7700;font-weight:bold;">while</span> <span style="color: #ff4500;">1</span>:
                <span style="color: #ff7700;font-weight:bold;">try</span>:
                        server = <span style="color: #dc143c;">poplib</span>.<span style="color: black;">POP3_SSL</span><span style="color: black;">&#40;</span>SERVER, <span style="color: #ff4500;">995</span><span style="color: black;">&#41;</span>
                        server.<span style="color: #dc143c;">user</span><span style="color: black;">&#40;</span>USER<span style="color: black;">&#41;</span>
                        server.<span style="color: black;">pass_</span><span style="color: black;">&#40;</span>PASSWORD<span style="color: black;">&#41;</span>
                <span style="color: #ff7700;font-weight:bold;">except</span>:
                        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;error setting up server.&quot;</span>
&nbsp;
&nbsp;
                resp, items, octets = server.<span style="color: #008000;">list</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
                <span style="color: #808080; font-style: italic;"># download a random message</span>
                <span style="color: #ff7700;font-weight:bold;">try</span>:
                        <span style="color: #008000;">id</span>, size = <span style="color: #dc143c;">string</span>.<span style="color: black;">split</span><span style="color: black;">&#40;</span>items<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
                        resp, text, octets = server.<span style="color: black;">retr</span><span style="color: black;">&#40;</span><span style="color: #008000;">id</span><span style="color: black;">&#41;</span>
&nbsp;
                        text = <span style="color: #dc143c;">string</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>text, <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span>
                        <span style="color: #008000;">file</span> = <span style="color: #dc143c;">StringIO</span>.<span style="color: #dc143c;">StringIO</span><span style="color: black;">&#40;</span>text<span style="color: black;">&#41;</span>
                        note = <span style="color: #483d8b;">&quot;&quot;</span>
                        name = <span style="color: #483d8b;">&quot;&quot;</span>
                        message = <span style="color: #dc143c;">rfc822</span>.<span style="color: black;">Message</span><span style="color: black;">&#40;</span><span style="color: #008000;">file</span><span style="color: black;">&#41;</span>
                        <span style="color: #ff7700;font-weight:bold;">for</span> k, v <span style="color: #ff7700;font-weight:bold;">in</span> message.<span style="color: black;">items</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
                                <span style="color: #ff7700;font-weight:bold;">if</span> k==<span style="color: #483d8b;">'from'</span>:
                                                name = v<span style="color: black;">&#91;</span>:<span style="color: #ff4500;">12</span><span style="color: black;">&#93;</span>
                        note = message.<span style="color: black;">fp</span>.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span>:<span style="color: #ff4500;">50</span><span style="color: black;">&#93;</span>
                        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;note: &quot;</span>, note
                        server.<span style="color: black;">dele</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span> <span style="color: #808080; font-style: italic;">#this will delete the message after you read it</span>
                        server.<span style="color: black;">quit</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
                <span style="color: #808080; font-style: italic;">#-------------------------------------------</span>
                        <span style="color: #ff7700;font-weight:bold;">if</span> note <span style="color: #66cc66;">!</span>=<span style="color: #483d8b;">&quot;&quot;</span>:
                                <span style="color: #ff7700;font-weight:bold;">import</span> MySQLdb
                                db = MySQLdb.<span style="color: black;">connect</span><span style="color: black;">&#40;</span>host=<span style="color: #483d8b;">&quot;localhost&quot;</span>, <span style="color: #dc143c;">user</span>=<span style="color: #483d8b;">&quot;USERNAME&quot;</span>, passwd=<span style="color: #483d8b;">&quot;PASSWORD&quot;</span>,db=<span style="color: #483d8b;">&quot;DATABASENAME&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
                                cur2 = db.<span style="color: black;">cursor</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
                                <span style="color: #ff7700;font-weight:bold;">if</span> name:
                                        cur2.<span style="color: black;">execute</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;INSERT INTO note (note, name) VALUES (%s, %s)&quot;</span>, <span style="color: black;">&#40;</span>note, name<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
                                <span style="color: #ff7700;font-weight:bold;">else</span>:
                                        cur2.<span style="color: black;">execute</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;INSERT INTO note (note) VALUES (%s)&quot;</span>, <span style="color: black;">&#40;</span>note<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
                <span style="color: #ff7700;font-weight:bold;">except</span>:
                        i+=<span style="color: #ff4500;">1</span>
                        <span style="color: #808080; font-style: italic;">#print &quot;Unexpected error:&quot;, sys.exc_info()[0]</span>
                        <span style="color: #dc143c;">time</span>.<span style="color: black;">sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1800</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">except</span>:
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Failed Unexpectedly&quot;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://danfolkes.com/index.php/2009/01/22/python-grab-email-from-gmail-and-insert-into-mysql-database/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Python Torrent Search and Download (TPB)</title>
		<link>http://danfolkes.com/index.php/2008/02/06/torrent-search/</link>
		<comments>http://danfolkes.com/index.php/2008/02/06/torrent-search/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 04:02:14 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[piratebay]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[torrent]]></category>

		<guid isPermaLink="false">http://danfolkes.com/?p=12</guid>
		<description><![CDATA[This python command line utility will search the pirate bay for a specific search string and pull out the torrent files and download them to your current directory.
by: Daniel Folkes
This is Licensed under GPLv3.  Give Back.


Download Source
print &#8220;&#8221;"Pirate Bay Torrent Downloader &#8211; Command Line Interface



        Program Written [...]]]></description>
			<content:encoded><![CDATA[<p>This python command line utility will search the pirate bay for a specific search string and pull out the torrent files and download them to your current directory.</p>
<h3>by: Daniel Folkes</h3>
<h3>This is Licensed under <a href="http://www.gnu.org/licenses/gpl.txt">GPLv3</a>.  Give Back.</h3>
</h3>
<p><a href='http://danfolkes.com/index.php/2008/02/06/torrent-search/attachment/19/' rel='attachment wp-att-19' title='tpb.jpg'><img src='http://danfolkes.com/wp-content/uploads/2008/02/tpb.jpg' alt='tpb.jpg' /></a></p>
<ol><a href='http://danfolkes.com/wp-content/uploads/2008/02/torrentsearch.py' title='Download Source'>Download Source</a>
<li>print &#8220;&#8221;"Pirate Bay Torrent Downloader &#8211; Command Line Interface
</li>
<li>
</li>
<li>        Program Written by: Daniel Folkes
</li>
<li>        website: http://danfolkes.com
</li>
<li>        email: danfolkes @t gmail dot c0m<br />
<span id="more-12"></span>
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8212; Usage  &#8212;
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;-a[n]      =  auto downloads first [n] results (default:10)
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;-o[/path/] =  points to the folder where .torrent&#8217;s go
</li>
<li>&#8220;&#8221;"
</li>
<li>
</li>
<li>import urllib2
</li>
<li>import sys
</li>
<li>autoprint = 0
</li>
<li>outgoing = &#8220;./&#8221;
</li>
<li>searchFor = []
</li>
<li>for arg in sys.argv[1:]:
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;print &#8220;|&#8221;+arg+&#8221;|&#8221;
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;if arg[:2] == &#8220;-a&#8221;:
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;autoprint = int(arg[2:len(arg)])
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;elif arg[:2] == &#8220;-o&#8221;:
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outgoing = arg[2:len(arg)]
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;else:
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;searchFor.append(arg)
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;
</li>
<li>print &#8220;Searching The Pirate Bay for: &#8221; + str(searchFor)
</li>
<li>
</li>
<li>url = &#8216;http://thepiratebay.org/search.php?q=&#8217;
</li>
<li>o = 0;
</li>
<li>for ar in searchFor:
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;if o != 0:
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url+=&#8221;%20&#8243;&nbsp;&nbsp;&nbsp;&nbsp;
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;url+=str(ar)
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;o +=1
</li>
<li>print &#8220;URL: &#8221; + url
</li>
<li>req = urllib2.Request(url)
</li>
<li>response = urllib2.urlopen(req)
</li>
<li>the_page = response.read()
</li>
<li>results = 15
</li>
<li>i=0
</li>
<li>listing = []
</li>
<li>for line in the_page.split(&#8221;&lt;td&gt;&#8221;):
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;if i &lt; results:
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if line.count(&#8221;.torrent&#8221;):
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strippedLine = line[9:line.find(".torrent")+8]
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if autoprint == 0:
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print i, strippedLine[15:]
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listing.append(strippedLine)
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i+=1
</li>
<li>if autoprint==0:
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;download = raw_input(&#8221;Which ones to download?(sep by commas) :&#8221;).split(&#8217;,')
</li>
<li>else:
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;download = range(0,autoprint)
</li>
<li>print download
</li>
<li>
</li>
<li>for j in download:
</li>
<li>        g = int(j)
</li>
<li>        if (g &lt; results) and (g &gt;=0):
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&#8212; Strip Characters Off
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localPath = listing[g]
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for c in &#8220;.:/%!@#$^&#038;*()_-=+~`[]{}|;&#8217;,.&#8221;:
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        localPath = localPath.replace(c,&#8221;")
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localPath = localPath[(len(localPath)/2):]
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localPath += &#8220;.torrent&#8221;
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if outgoing:
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localPath = outgoing+localPath
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&#8212;
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print &#8220;Downloading: &#8220;+ listing[g] + &#8221; -&gt; &#8221; + str(localPath)
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;open(localPath, &#8216;wb&#8217;).write(urllib2.urlopen(listing[g]).read())
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#import os &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#if you want to use wget and have progress bar (remove line before)
</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#os.system(&#8221;wget &#8220;+listing[g]) &nbsp;&nbsp;&nbsp;&nbsp;#if you want to use wget and have progress bar
</li>
<li>
</li>
<li>print &#8220;&#8230;Download Complete&#8221;
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://danfolkes.com/index.php/2008/02/06/torrent-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
