X Tutup
Skip to content

Commit 36115a7

Browse files
committed
wrap v3 specific code with try blocks to work in v2
1 parent 3810356 commit 36115a7

File tree

10 files changed

+17
-30
lines changed

10 files changed

+17
-30
lines changed

twitter/_file_cache.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from builtins import object
21
#!/usr/bin/env python
32
import errno
43
import os

twitter/api.py

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,6 @@
2020
"""A library that provides a Python interface to the Twitter API"""
2121
from __future__ import division
2222
from __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

2824
import base64
2925
from calendar import timegm
@@ -33,24 +29,25 @@
3329
import sys
3430
import textwrap
3531
import types
36-
import urllib.request
37-
import urllib.error
38-
import urllib.parse
3932
import requests
4033
from requests_oauthlib import OAuth1
4134
import 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+
4347
from twitter import (__version__, _FileCache, json, DirectMessage, List,
4448
Status, Trend, TwitterError, User, UserStatus)
4549
from 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-
5451
CHARACTER_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

twitter/direct_message.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
#!/usr/bin/env python
22

3-
from builtins import object
4-
53
from calendar import timegm
64

75
try:

twitter/hashtag.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from builtins import object
21
#!/usr/bin/env python
32

43

twitter/list.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from builtins import object
21
#!/usr/bin/env python
32

43
from twitter import json, TwitterError, User

twitter/parse_tweet.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from builtins import object
21
#!/usr/bin/env python
32

43
import re

twitter/status.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#!/usr/bin/env python
22

33
from __future__ import division
4-
from builtins import object
54
from calendar import timegm
65

76
try:

twitter/trend.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from builtins import object
21
#!/usr/bin/env python
32

43
from twitter import TwitterError

twitter/url.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from builtins import object
21
#!/usr/bin/env python
32

43
from twitter import TwitterError # import not used

twitter/user.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from builtins import object
21
#!/usr/bin/env python
32

43
from twitter import json, TwitterError # TwitterError not used

0 commit comments

Comments
 (0)
X Tutup