<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: urllib code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Sat, 26 Jul 2008 09:19:01 GMT</pubDate>
    <description>DZone Snippets: urllib code</description>
    <item>
      <title>PyS60 - BabelFish</title>
      <link>http://snippets.dzone.com/posts/show/3047</link>
      <description>// Translate from language A to language B&lt;br /&gt;// code not complete but it works&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import urllib&lt;br /&gt;&lt;br /&gt;####################################################################################### &lt;BabelFish&gt;&lt;br /&gt;class BabelFish(object):&lt;br /&gt;    &lt;br /&gt;    def translate(self, lang, message):&lt;br /&gt;        &lt;br /&gt;        try:&lt;br /&gt;            url = urllib.URLopener()&lt;br /&gt;        &lt;br /&gt;            query = urllib.urlencode({&lt;br /&gt;                                      'doit':'done',&lt;br /&gt;                                      'intl':'1',&lt;br /&gt;                                      'lp':lang,&lt;br /&gt;                                      'tt':'urltext',&lt;br /&gt;                                      'urltext':message&lt;br /&gt;                                      })&lt;br /&gt;        &lt;br /&gt;            responde = url.open('http://babelfish.altavista.com/tr', query).read()&lt;br /&gt;        &lt;br /&gt;            start = responde.find('&lt;div style=padding:10px;&gt;') + 25&lt;br /&gt;            stop = responde.find('&lt;/div&gt;', start)&lt;br /&gt;        &lt;br /&gt;            return responde[start:stop]&lt;br /&gt;        &lt;br /&gt;        except Exception, error:&lt;br /&gt;            return '-' + str(error)&lt;br /&gt;####################################################################################### &lt;/BabelFish&gt;&lt;br /&gt;&lt;br /&gt;####################################################################################### &lt;BabelFishUI&gt;&lt;br /&gt;from graphics import *&lt;br /&gt;&lt;br /&gt;import appuifw&lt;br /&gt;import e32&lt;br /&gt;&lt;br /&gt;class BabelFishUI(object):&lt;br /&gt;    &lt;br /&gt;    def __init__(self):&lt;br /&gt;        &lt;br /&gt;        self.__lock = e32.Ao_lock()&lt;br /&gt;        self.__img = Image.new((176, 144))&lt;br /&gt;        self.__language = 'it_en'&lt;br /&gt;        self.__textUI = None&lt;br /&gt;        &lt;br /&gt;        appuifw.app.exit_key_handler = lambda:self.__lock.signal()&lt;br /&gt;        &lt;br /&gt;        appuifw.app.title = u'BabelFish v1.0'&lt;br /&gt;        appuifw.app.body = self.__canvas = appuifw.Canvas(redraw_callback=self.updateScreen)&lt;br /&gt;        &lt;br /&gt;        appuifw.app.menu = [(u'Translate', lambda:self.__translateUI()), (u'About', lambda:appuifw.note(u'BabelFish: v1.0", "Created by\nWhite Tiger\n&lt;Z-TEAM@Libero.it&gt;', 'info')), (u'Exit', lambda:self.__lock.signal)]&lt;br /&gt;        &lt;br /&gt;        self.updateScreen(None)&lt;br /&gt;        &lt;br /&gt;        self.__menuMain = appuifw.app.menu&lt;br /&gt;        self.__bgMain = appuifw.app.body&lt;br /&gt;        &lt;br /&gt;        self.__lock.wait()&lt;br /&gt;    &lt;br /&gt;    def updateScreen(self, rect):&lt;br /&gt;        &lt;br /&gt;        self.__canvas.blit(self.__img)&lt;br /&gt;    &lt;br /&gt;    def __back(self):&lt;br /&gt;        &lt;br /&gt;        appuifw.app.menu = self.__menuMain&lt;br /&gt;        appuifw.app.body = self.__bgMain&lt;br /&gt;        &lt;br /&gt;        appuifw.app.set_tabs([u'Back'], lambda x:None)&lt;br /&gt;    &lt;br /&gt;    def __translateUI(self):&lt;br /&gt;        &lt;br /&gt;        self.__textUI = appuifw.Text()&lt;br /&gt;                &lt;br /&gt;        appuifw.app.menu = [(u'Translate', lambda:self.__translate()), (u'Language', lambda:self.__setLanguage()), (u'Clear', lambda:self.__textUI.clear()), (u'Back', lambda:self.__back())]&lt;br /&gt;                   &lt;br /&gt;        appuifw.app.body = self.__textUI&lt;br /&gt;                &lt;br /&gt;    def __setLanguage(self):&lt;br /&gt;        &lt;br /&gt;        resp = appuifw.selection_list([u'italiano-inglese', u'inglese-italiano', u'inglese-francese', u'francese-inglese', u'inglese-tedesco', u'tedesco-inglese',&lt;br /&gt;                                       u'francese-italiano', u'italiano-francese'], 1)&lt;br /&gt;        &lt;br /&gt;        if resp == 0:&lt;br /&gt;            self.__language = 'it_en'&lt;br /&gt;        elif resp == 1:&lt;br /&gt;            self.__language = 'en_it'&lt;br /&gt;        elif resp == 2:&lt;br /&gt;            self.__language = 'en_fr'&lt;br /&gt;        elif resp == 3:&lt;br /&gt;            self.__language = 'fr_en'&lt;br /&gt;        elif resp == 4:&lt;br /&gt;            self.__language = 'en_de'&lt;br /&gt;        elif resp == 5:&lt;br /&gt;            self.__language = 'de_en'&lt;br /&gt;        elif resp == 6:&lt;br /&gt;            self.__language = 'fr_it'&lt;br /&gt;        elif resp == 7:&lt;br /&gt;            self.__language = 'it_fr'&lt;br /&gt;            &lt;br /&gt;    def __translate(self):&lt;br /&gt;        &lt;br /&gt;        babel = BabelFish()&lt;br /&gt;        &lt;br /&gt;        resp = babel.translate(self.__language, self.__textUI.get())&lt;br /&gt;        &lt;br /&gt;        if resp[0] == '-':&lt;br /&gt;            self.__textUI.set(unicode(resp[1:]))&lt;br /&gt;        else:&lt;br /&gt;            self.__textUI.set(unicode(': ' +self.__textUI.get() + '\n: ' + resp))&lt;br /&gt;                &lt;br /&gt;        appuifw.note(u'Translate', 'conf')&lt;br /&gt;####################################################################################### &lt;/BabelFishUI&gt;&lt;br /&gt;&lt;br /&gt;if __name__ == '__main__':&lt;br /&gt;    &lt;br /&gt;    BabelFishUI()&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 28 Nov 2006 04:35:55 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3047</guid>
      <author>whitetiger ()</author>
    </item>
    <item>
      <title>Python - Change user-agent</title>
      <link>http://snippets.dzone.com/posts/show/3015</link>
      <description>// Cambiare user-agent con urllib&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import urllib&lt;br /&gt;&lt;br /&gt;class AppURLopener(urllib.FancyURLopener):&lt;br /&gt;&lt;br /&gt;	version = 'Nokia6630/1.0 (2.3.129) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1'&lt;br /&gt;&lt;br /&gt;urllib._urlopener = AppURLopener()&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;// Cambiare user-agent con urllib2&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import urllib2&lt;br /&gt;&lt;br /&gt;headers = { 'user-agent':'Nokia6630/1.0 (2.3.129) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1',&lt;br /&gt;		    'keep-alive':'300',&lt;br /&gt;		    'content-type':'application/x-www-form-urlencoded'&lt;br /&gt;		  }&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sat, 18 Nov 2006 15:14:46 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3015</guid>
      <author>whitetiger ()</author>
    </item>
    <item>
      <title>Read remote content</title>
      <link>http://snippets.dzone.com/posts/show/119</link>
      <description>Reading remote data is easy in python.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;from urllib import *&lt;br /&gt;url = 'http://example.com/index.html'&lt;br /&gt;html = urlretrieve(url).read()&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Mon, 11 Apr 2005 03:21:06 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/119</guid>
      <author>korakot (Korakot Chaovavanich)</author>
    </item>
  </channel>
</rss>
