New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

graphql-epoxy

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

graphql-epoxy - pypi Package Compare versions

Comparing version
0.2
to
0.2.1
+17
epoxy/utils/wrap_resolver_translating_arguments.py
from collections import OrderedDict
from six import wraps
def wrap_resolver_translating_arguments(resolver, arguments_to_original_case):
translate_key = arguments_to_original_case.get
@wraps(resolver)
def wrapped(obj, args, info):
new_args = OrderedDict() if isinstance(args, OrderedDict) else {}
for k in args:
new_args[translate_key(k, k)] = args[k]
return resolver(obj, new_args, info)
return wrapped
+24
-6
from collections import OrderedDict
from graphql.core.type import GraphQLField, GraphQLInputObjectField
from ..types.argument import Argument

@@ -9,2 +7,3 @@ from ..utils.gen_id import gen_id

from ..utils.to_camel_case import to_camel_case
from ..utils.wrap_resolver_translating_arguments import wrap_resolver_translating_arguments

@@ -24,9 +23,15 @@

def to_field(self, registry, resolver):
return GraphQLField(registry[self.type](), args=self.get_arguments(registry), resolver=resolver)
args, arguments_to_original_case = self.get_arguments(registry)
if arguments_to_original_case:
resolver = wrap_resolver_translating_arguments(resolver, arguments_to_original_case)
return GraphQLField(registry[self.type](), args=args, resolver=resolver)
def get_arguments(self, registry):
if not self.args:
return None
return None, None
arguments = []
arguments_to_original_case = {}

@@ -40,4 +45,12 @@ for k, argument in self.args.items():

camel_cased_name = to_camel_case(k)
if camel_cased_name in arguments_to_original_case:
raise ValueError(
'Argument %s already exists as %s' %
(k, arguments_to_original_case[camel_cased_name])
)
arguments_to_original_case[camel_cased_name] = k
arguments.append((
to_camel_case(k), argument
camel_cased_name, argument
))

@@ -50,5 +63,10 @@

return OrderedDict([(k, v.to_argument(registry)) for k, v in arguments])
# Remove things that wouldn't perform any meaningful translation.
for k, v in list(arguments_to_original_case.items()):
if k == v:
del arguments_to_original_case[k]
return OrderedDict([(k, v.to_argument(registry)) for k, v in arguments]), arguments_to_original_case
class InputField(object):

@@ -55,0 +73,0 @@ def __init__(self, type, description=None, default_value=None, name=None, _counter=None):

+1
-1
Metadata-Version: 1.1
Name: graphql-epoxy
Version: 0.2
Version: 0.2.1
Summary: GraphQL implementation for Python

@@ -5,0 +5,0 @@ Home-page: https://github.com/graphql-python/graphql-core

graphql-core>=0.4.7b1
singledispatch>=3.4.0

@@ -46,2 +46,3 @@ setup.cfg

epoxy/utils/weak_ref_holder.py
epoxy/utils/wrap_resolver_translating_arguments.py
epoxy/utils/yank_potential_fields.py

@@ -48,0 +49,0 @@ graphql_epoxy.egg-info/PKG-INFO

@@ -0,2 +1,2 @@

epoxy
tests
epoxy
Metadata-Version: 1.1
Name: graphql-epoxy
Version: 0.2
Version: 0.2.1
Summary: GraphQL implementation for Python

@@ -5,0 +5,0 @@ Home-page: https://github.com/graphql-python/graphql-core

@@ -6,5 +6,5 @@ [flake8]

[egg_info]
tag_date = 0
tag_build =
tag_date = 0
tag_svn_revision = 0

@@ -14,3 +14,3 @@ from setuptools import setup, find_packages

name='graphql-epoxy',
version='0.2',
version='0.2.1',
description='GraphQL implementation for Python',

@@ -17,0 +17,0 @@ url='https://github.com/graphql-python/graphql-core',