reverted the encoding fix that tommy made in lieu of a different crazy hack
authorBenjamin Mako Hill <mako@atdot.cc>
Fri, 1 May 2015 17:14:23 +0000 (10:14 -0700)
committerBenjamin Mako Hill <mako@atdot.cc>
Fri, 1 May 2015 17:18:45 +0000 (10:18 -0700)
- backed out the two changes to the tweepy code that was stripping non-unicode
  for all users
- added a new module that checks if it's windows and, if so, enables the
  windows console fix
- added the new encoding_fix module to each of the twitter examples

encoding_fix.py [new file with mode: 0644]
tweepy/models.py
tweepy/streaming.py
twitter-stream-raw1.py
twitter-stream1.py
twitter-stream2.py
twitter1.py
twitter2.py
twitter3.py
twitter4.py

diff --git a/encoding_fix.py b/encoding_fix.py
new file mode 100644 (file)
index 0000000..d927bd1
--- /dev/null
@@ -0,0 +1,4 @@
+import os
+if os.name == "nt":
+    import win_unicode_console
+    win_unicode_console.enable()
index af80986..30456b2 100644 (file)
@@ -75,13 +75,6 @@ class Status(Model):
     @classmethod
     def parse(cls, api, json):
         status = cls(api)
-
-        # I'm not proud. Blame billg.
-        import sys
-        json['text'] = str(json['text'].encode(sys.stdout.encoding, 'replace'))[2:-1]
-        if 'user' in json:
-            json['user']['screen_name'] = str(json['user']['screen_name'].encode(sys.stdout.encoding, 'replace'))[2:-1]
-
         setattr(status, '_json', json)
         for k, v in json.items():
             if k == 'user':
index faf42ea..9b246bd 100644 (file)
@@ -268,10 +268,10 @@ class Stream(object):
                 sleep(self.snooze_time)
                 self.snooze_time = min(self.snooze_time + self.snooze_time_step,
                                        self.snooze_time_cap)
-            except Exception as exc:
-                exception = exc
-                # any other exception is fatal, so kill loop
-                break
+            except Exception as exc:
+                exception = exc
+                # any other exception is fatal, so kill loop
+                break
 
         # cleanup
         self.running = False
index 2ed1403..b6ea13b 100644 (file)
@@ -1,3 +1,4 @@
+import encoding_fix
 import json
 import tweepy
 from twitter_authentication import CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET
index 87c548c..e94422d 100644 (file)
@@ -1,3 +1,4 @@
+import encoding_fix
 import tweepy
 from twitter_authentication import CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET
 
index 8e1eee1..47855d8 100644 (file)
@@ -1,3 +1,4 @@
+import encoding_fix
 import tweepy
 from twitter_authentication import CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET
 
index c1ec98f..26b6337 100644 (file)
@@ -1,3 +1,4 @@
+import encoding_fix
 import tweepy
 from twitter_authentication import CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET
 
index 96a86fc..89f03fa 100644 (file)
@@ -1,3 +1,4 @@
+import encoding_fix
 import tweepy
 from twitter_authentication import CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET
 
index d9b7ab7..16329e3 100644 (file)
@@ -1,3 +1,4 @@
+import encoding_fix
 import tweepy
 from twitter_authentication import CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET
 
index 2bf35a6..918b565 100644 (file)
@@ -1,3 +1,4 @@
+import encoding_fix
 import tweepy
 from twitter_authentication import CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET
 

Benjamin Mako Hill || Want to submit a patch?