mirror of
				https://github.com/graphql-python/graphene.git
				synced 2025-10-30 23:47:55 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			1.8 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)
 |