Added a class for using the search endpoint.
This commit is contained in:
		
							parent
							
								
									7d87ad21b8
								
							
						
					
					
						commit
						4c045a3fe0
					
				| 
						 | 
				
			
			@ -6,6 +6,7 @@ from scrython.cards import Mtgo
 | 
			
		|||
from scrython.cards import Multiverse
 | 
			
		||||
from scrython.cards import Named
 | 
			
		||||
from scrython.cards import Random
 | 
			
		||||
from scrython.cards import Search
 | 
			
		||||
 | 
			
		||||
#Import classes from rulings
 | 
			
		||||
from scrython.rulings import Mtgo
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,3 +5,4 @@ from .mtgo import Mtgo
 | 
			
		|||
from .multiverse import Multiverse
 | 
			
		||||
from .named import Named
 | 
			
		||||
from .randomcard import Random
 | 
			
		||||
from .search import Search
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,43 @@
 | 
			
		|||
from .scryfall_object import ScryfallObject
 | 
			
		||||
import urllib.parse
 | 
			
		||||
 | 
			
		||||
class Search(ScryfallObject):
 | 
			
		||||
	def __init__(self, **kwargs):
 | 
			
		||||
		self.q = kwargs.get('q')
 | 
			
		||||
		self.order = kwargs.get('order')
 | 
			
		||||
		self.dict = {}
 | 
			
		||||
 | 
			
		||||
		if self.q is not None:
 | 
			
		||||
			self.dict['q'] = self.q
 | 
			
		||||
 | 
			
		||||
		if self.order is not None:
 | 
			
		||||
			self.dict['order'] = self.order
 | 
			
		||||
 | 
			
		||||
		self.args = urllib.parse.urlencode(self.dict)
 | 
			
		||||
		self.url = 'cards/search?' + self.args
 | 
			
		||||
 | 
			
		||||
		super(Search, self).__init__(self.url)
 | 
			
		||||
 | 
			
		||||
	def __checkForKey(self, key):
 | 
			
		||||
		try:
 | 
			
		||||
			return self.scryfallJson[key]
 | 
			
		||||
		except KeyError:
 | 
			
		||||
			return None
 | 
			
		||||
 | 
			
		||||
	def object(self):
 | 
			
		||||
		if self.__checkForKey('object') is None:
 | 
			
		||||
			return KeyError('This card has no associated object key.')
 | 
			
		||||
 | 
			
		||||
		return self.scryfallJson['object']
 | 
			
		||||
 | 
			
		||||
	def total_cards(self):
 | 
			
		||||
		if self.__checkForKey('total_cards') is None:
 | 
			
		||||
			return KeyError('This card has no associated total cards key.')
 | 
			
		||||
 | 
			
		||||
		return self.scryfallJson['total_cards']
 | 
			
		||||
 | 
			
		||||
	def data(self):
 | 
			
		||||
		if self.__checkForKey('data') is None:
 | 
			
		||||
			return KeyError('This card has no associated data key.')
 | 
			
		||||
 | 
			
		||||
		return self.scryfallJson['data']
 | 
			
		||||
		Loading…
	
		Reference in New Issue