mirror of
				https://github.com/graphql-python/graphene.git
				synced 2025-11-04 09:57:41 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			98 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
human_data = {}
 | 
						|
droid_data = {}
 | 
						|
 | 
						|
 | 
						|
def setup():
 | 
						|
    from .schema import Human, Droid
 | 
						|
    global human_data, droid_data
 | 
						|
    luke = Human(
 | 
						|
        id='1000',
 | 
						|
        name='Luke Skywalker',
 | 
						|
        friends=['1002', '1003', '2000', '2001'],
 | 
						|
        appears_in=[4, 5, 6],
 | 
						|
        home_planet='Tatooine',
 | 
						|
    )
 | 
						|
 | 
						|
    vader = Human(
 | 
						|
        id='1001',
 | 
						|
        name='Darth Vader',
 | 
						|
        friends=['1004'],
 | 
						|
        appears_in=[4, 5, 6],
 | 
						|
        home_planet='Tatooine',
 | 
						|
    )
 | 
						|
 | 
						|
    han = Human(
 | 
						|
        id='1002',
 | 
						|
        name='Han Solo',
 | 
						|
        friends=['1000', '1003', '2001'],
 | 
						|
        appears_in=[4, 5, 6],
 | 
						|
        home_planet=None,
 | 
						|
    )
 | 
						|
 | 
						|
    leia = Human(
 | 
						|
        id='1003',
 | 
						|
        name='Leia Organa',
 | 
						|
        friends=['1000', '1002', '2000', '2001'],
 | 
						|
        appears_in=[4, 5, 6],
 | 
						|
        home_planet='Alderaan',
 | 
						|
    )
 | 
						|
 | 
						|
    tarkin = Human(
 | 
						|
        id='1004',
 | 
						|
        name='Wilhuff Tarkin',
 | 
						|
        friends=['1001'],
 | 
						|
        appears_in=[4],
 | 
						|
        home_planet=None,
 | 
						|
    )
 | 
						|
 | 
						|
    human_data = {
 | 
						|
        '1000': luke,
 | 
						|
        '1001': vader,
 | 
						|
        '1002': han,
 | 
						|
        '1003': leia,
 | 
						|
        '1004': tarkin,
 | 
						|
    }
 | 
						|
 | 
						|
    c3po = Droid(
 | 
						|
        id='2000',
 | 
						|
        name='C-3PO',
 | 
						|
        friends=['1000', '1002', '1003', '2001'],
 | 
						|
        appears_in=[4, 5, 6],
 | 
						|
        primary_function='Protocol',
 | 
						|
    )
 | 
						|
 | 
						|
    r2d2 = Droid(
 | 
						|
        id='2001',
 | 
						|
        name='R2-D2',
 | 
						|
        friends=['1000', '1002', '1003'],
 | 
						|
        appears_in=[4, 5, 6],
 | 
						|
        primary_function='Astromech',
 | 
						|
    )
 | 
						|
 | 
						|
    droid_data = {
 | 
						|
        '2000': c3po,
 | 
						|
        '2001': r2d2,
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
def get_character(id):
 | 
						|
    return human_data.get(id) or droid_data.get(id)
 | 
						|
 | 
						|
 | 
						|
def get_friends(character):
 | 
						|
    return map(get_character, character.friends)
 | 
						|
 | 
						|
 | 
						|
def get_hero(episode):
 | 
						|
    if episode == 5:
 | 
						|
        return human_data['1000']
 | 
						|
    return droid_data['2001']
 | 
						|
 | 
						|
 | 
						|
def get_human(id):
 | 
						|
    return human_data.get(id)
 | 
						|
 | 
						|
 | 
						|
def get_droid(id):
 | 
						|
    return droid_data.get(id)
 |