2020"""A library that provides a Python interface to the Twitter API"""
2121from __future__ import division
2222from __future__ import print_function
23- from builtins import map
24- from builtins import str
25- from builtins import range
26- from builtins import object
2723
2824import base64
2925from calendar import timegm
3329import sys
3430import textwrap
3531import types
36- import urllib .request
37- import urllib .error
38- import urllib .parse
3932import requests
4033from requests_oauthlib import OAuth1
4134import io
4235
36+ try :
37+ #python 3
38+ from urllib .parse import urlparse , urlunparse , urlencode
39+ from urllib .request import urlopen
40+ from urllib .request import __version__ as urllib_version
41+ except ImportError :
42+ from urlparse import urlparse , urlunparse
43+ from urllib2 import urlopen
44+ from urllib import urlencode
45+ from urllib import __version__ as urllib_version
46+
4347from twitter import (__version__ , _FileCache , json , DirectMessage , List ,
4448 Status , Trend , TwitterError , User , UserStatus )
4549from twitter .category import Category
4650
47- try :
48- # python 3
49- urllib_version = urllib .request .__version__
50- except AttributeError :
51- # python 2
52- urllib_version = urllib .__version__
53-
5451CHARACTER_LIMIT = 140
5552
5653# A singleton representing a lazily instantiated FileCache.
@@ -995,7 +992,7 @@ def PostMedia(self,
995992 data = {'status' : status }
996993 if not hasattr (media , 'read' ):
997994 if media .startswith ('http' ):
998- data ['media' ] = urllib . request . urlopen (media ).read ()
995+ data ['media' ] = urlopen (media ).read ()
999996 else :
1000997 with open (str (media ), 'rb' ) as f :
1001998 data ['media' ] = f .read ()
@@ -1068,7 +1065,7 @@ def PostMultipleMedia(self, status, media, possibly_sensitive=None,
10681065 data = {}
10691066 if not hasattr (media [m ], 'read' ):
10701067 if media [m ].startswith ('http' ):
1071- data ['media' ] = urllib . request . urlopen (media [m ]).read ()
1068+ data ['media' ] = urlopen (media [m ]).read ()
10721069 else :
10731070 data ['media' ] = open (str (media [m ]), 'rb' ).read ()
10741071 else :
@@ -3679,7 +3676,7 @@ def GetSleepTime(self, resources):
36793676
36803677 def _BuildUrl (self , url , path_elements = None , extra_params = None ):
36813678 # Break url into constituent parts
3682- (scheme , netloc , path , params , query , fragment ) = urllib . parse . urlparse (url )
3679+ (scheme , netloc , path , params , query , fragment ) = urlparse (url )
36833680
36843681 # Add any additional path elements to the path
36853682 if path_elements :
@@ -3699,7 +3696,7 @@ def _BuildUrl(self, url, path_elements=None, extra_params=None):
36993696 query = extra_query
37003697
37013698 # Return the rebuilt URL
3702- return urllib . parse . urlunparse ((scheme , netloc , path , params , query , fragment ))
3699+ return urlunparse ((scheme , netloc , path , params , query , fragment ))
37033700
37043701 def _InitializeRequestHeaders (self , request_headers ):
37053702 if request_headers :
@@ -3745,7 +3742,7 @@ def _EncodeParameters(self, parameters):
37453742 if parameters is None :
37463743 return None
37473744 else :
3748- return urllib . parse . urlencode (dict ([(k , self ._Encode (v )) for k , v in list (parameters .items ()) if v is not None ]))
3745+ return urlencode (dict ([(k , self ._Encode (v )) for k , v in list (parameters .items ()) if v is not None ]))
37493746
37503747 def _EncodePostData (self , post_data ):
37513748 """Return a string in key=value&key=value form.
@@ -3764,7 +3761,7 @@ def _EncodePostData(self, post_data):
37643761 if post_data is None :
37653762 return None
37663763 else :
3767- return urllib . parse . urlencode (dict ([(k , self ._Encode (v )) for k , v in list (post_data .items ())]))
3764+ return urlencode (dict ([(k , self ._Encode (v )) for k , v in list (post_data .items ())]))
37683765
37693766 def _ParseAndCheckTwitter (self , json_data ):
37703767 """Try and parse the JSON returned from Twitter and return
0 commit comments