Skip to content

Commit 74ba225

Browse files
committed
Run "future" tool for conversion to py2/py3 code
1 parent 4146f09 commit 74ba225

File tree

5 files changed

+63
-54
lines changed

5 files changed

+63
-54
lines changed

graphql_subscriptions/__init__.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
from subscription_manager import RedisPubsub, SubscriptionManager
2-
from subscription_transport_ws import SubscriptionServer
1+
from __future__ import absolute_import
2+
from .subscription_manager import RedisPubsub, SubscriptionManager
3+
from .subscription_transport_ws import SubscriptionServer
34

45
__all__ = ['RedisPubsub', 'SubscriptionManager', 'SubscriptionServer']
56

graphql_subscriptions/subscription_manager.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1-
import cPickle
1+
from future import standard_library
2+
standard_library.install_aliases()
3+
from builtins import filter
4+
from builtins import object
25
from types import FunctionType
6+
import pickle
37

48
from graphql import parse, validate, specified_rules, value_from_ast, execute
59
from graphql.language.ast import OperationDefinition
@@ -21,13 +25,13 @@ def __init__(self, host='localhost', port=6379, *args, **kwargs):
2125
self.greenlet = None
2226

2327
def publish(self, trigger_name, message):
24-
self.redis.publish(trigger_name, cPickle.dumps(message))
28+
self.redis.publish(trigger_name, pickle.dumps(message))
2529
return True
2630

2731
def subscribe(self, trigger_name, on_message_handler, options):
2832
self.sub_id_counter += 1
2933
try:
30-
if trigger_name not in self.subscriptions.values()[0]:
34+
if trigger_name not in list(self.subscriptions.values())[0]:
3135
self.pubsub.subscribe(trigger_name)
3236
except IndexError:
3337
self.pubsub.subscribe(trigger_name)
@@ -42,7 +46,7 @@ def unsubscribe(self, sub_id):
4246
trigger_name, on_message_handler = self.subscriptions[sub_id]
4347
del self.subscriptions[sub_id]
4448
try:
45-
if trigger_name not in self.subscriptions.values()[0]:
49+
if trigger_name not in list(self.subscriptions.values())[0]:
4650
self.pubsub.unsubscribe(trigger_name)
4751
except IndexError:
4852
self.pubsub.unsubscribe(trigger_name)
@@ -57,9 +61,9 @@ def wait_and_get_message(self):
5761
gevent.sleep(.001)
5862

5963
def handle_message(self, message):
60-
for sub_id, trigger_map in self.subscriptions.iteritems():
64+
for sub_id, trigger_map in self.subscriptions.items():
6165
if trigger_map[0] == message['channel']:
62-
trigger_map[1](cPickle.loads(message['data']))
66+
trigger_map[1](pickle.loads(message['data']))
6367

6468

6569
class ValidationError(Exception):
@@ -105,7 +109,7 @@ def subscribe(self, query, operation_name, callback, variables, context,
105109
arg_definition = [
106110
arg_def
107111
for _, arg_def in fields.get(subscription_name)
108-
.args.iteritems() if arg_def.out_name == arg.name.value
112+
.args.items() if arg_def.out_name == arg.name.value
109113
][0]
110114

111115
args[arg_definition.out_name] = value_from_ast(
@@ -131,7 +135,7 @@ def subscribe(self, query, operation_name, callback, variables, context,
131135
self.subscriptions[external_subscription_id] = []
132136
subscription_promises = []
133137

134-
for trigger_name in trigger_map.viewkeys():
138+
for trigger_name in trigger_map.keys():
135139
try:
136140
channel_options = trigger_map[trigger_name].get(
137141
'channel_options', {})
@@ -156,7 +160,7 @@ def context_promise_handler(result):
156160
return context
157161

158162
def filter_func_promise_handler(context):
159-
return Promise.all([context, filter(root_value, context)])
163+
return Promise.all([context, list(filter(root_value, context))])
160164

161165
def context_do_execute_handler(result):
162166
context, do_execute = result

graphql_subscriptions/subscription_transport_ws.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import json
2-
import gevent
1+
from builtins import str
32
from geventwebsocket import WebSocketApplication
43
from promise import Promise
4+
import gevent
5+
import json
56

67
SUBSCRIPTION_FAIL = 'subscription_fail'
78
SUBSCRIPTION_END = 'subscription_end'
@@ -66,7 +67,7 @@ def keep_alive_callback():
6667
self.keep_alive)
6768

6869
def on_close(self, reason):
69-
for sub_id in self.connection_subscriptions.keys():
70+
for sub_id in list(self.connection_subscriptions.keys()):
7071
self.unsubscribe(self.connection_subscriptions[sub_id])
7172
del self.connection_subscriptions[sub_id]
7273

setup.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from setuptools import setup, find_packages
2+
import sys
23

34
try:
45
import pypandoc
@@ -7,10 +8,13 @@
78
long_description = open('README.md').read()
89

910
tests_dep = [
10-
'pytest', 'pytest-mock', 'fakeredis', 'graphene', 'subprocess32',
11+
'pytest', 'pytest-mock', 'fakeredis', 'graphene',
1112
'flask', 'flask-graphql', 'flask-sockets', 'multiprocess', 'requests'
1213
]
1314

15+
if sys.version_info[0] < 3:
16+
tests_dep.append('subprocess32')
17+
1418
setup(
1519
name='graphql-subscriptions',
1620
version='0.1.8',

0 commit comments

Comments
 (0)