Created catalog.

This commit is contained in:
Nanda Scott 2018-02-16 20:43:56 -05:00
parent 667cd0d3bb
commit 0520aadad4
14 changed files with 145 additions and 0 deletions

View File

@ -17,3 +17,16 @@ from scrython.rulings import Code
#Import classes from sets #Import classes from sets
from scrython.sets import Code from scrython.sets import Code
from scrython.sets import Sets from scrython.sets import Sets
#Import classes from catalogs
from scrython.catalog import ArtifactTypes
from scrython.catalog import CardNames
from scrython.catalog import CreatureTypes
from scrython.catalog import LandTypes
from scrython.catalog import Loyalties
from scrython.catalog import PlaneswalkerTypes
from scrython.catalog import Powers
from scrython.catalog import SpellTypes
from scrython.catalog import Toughnesses
from scrython.catalog import Watermarks
from scrython.catalog import WordBank

View File

@ -0,0 +1,11 @@
from .artifact_types import ArtifactTypes
from .card_names import CardNames
from .creature_types import CreatureTypes
from .land_types import LandTypes
from .loyalties import Loyalties
from .planeswalker_types import PlaneswalkerTypes
from .powers import Powers
from .spell_types import SpellTypes
from .toughnesses import Toughnesses
from .watermarks import Watermarks
from .word_bank import WordBank

View File

@ -0,0 +1,6 @@
from .catalogs_object import CatalogsObject
class ArtifactTypes(CatalogsObject):
def __init__(self):
self._url = 'catalog/artifact-types?'
super(ArtifactTypes, self).__init__(self._url)

View File

@ -0,0 +1,6 @@
from .catalogs_object import CatalogsObject
class CardNames(CatalogsObject):
def __init__(self):
self._url = 'catalog/card-names?'
super(CardNames, self).__init__(self._url)

View File

@ -0,0 +1,55 @@
import asyncio
import aiohttp
import urllib.parse
class CatalogsObject(object):
def __init__(self, _url, **kwargs):
self.params = {'format': kwargs.get('format', 'json'), 'pretty': kwargs.get('pretty', '')}
self.encodedParams = urllib.parse.urlencode(self.params)
self._url = 'https://api.scryfall.com/' + _url + "&" + self.encodedParams #Find a fix for this later
print(self._url)
async def getRequest(client, url, **kwargs):
async with client.get(url, **kwargs) as response:
return await response.json()
async def main(loop):
async with aiohttp.ClientSession(loop=loop) as client:
self.scryfallJson = await getRequest(client, self._url)
loop = asyncio.get_event_loop()
loop.run_until_complete(main(loop))
if self.scryfallJson['object'] == 'error':
raise Exception(self.scryfallJson['details'])
def __checkForKey(self, key):
try:
return self.scryfallJson[key]
except KeyError:
return None
def object(self):
if self.__checkForKey('object') is None:
raise KeyError('This object has no key \'object\'')
return self.scryfallJson['object']
def uri(self):
if self.__checkForKey('uri') is None:
raise KeyError('This object has no key \'uri\'')
return self.scryfallJson['uri']
def total_values(self):
if self.__checkForKey('total_values') is None:
raise KeyError('This object has no key \'total_values\'')
return self.scryfallJson['total_values']
def data(self):
if self.__checkForKey('data') is None:
raise KeyError('This object has no key \'data\'')
return self.scryfallJson['data']

View File

@ -0,0 +1,6 @@
from .catalogs_object import CatalogsObject
class CreatureTypes(CatalogsObject):
def __init__(self):
self._url = 'catalog/creature-types?'
super(CreatureTypes, self).__init__(self._url)

View File

@ -0,0 +1,6 @@
from .catalogs_object import CatalogsObject
class LandTypes(CatalogsObject):
def __init__(self):
self._url = 'catalog/land-types?'
super(LandTypes, self).__init__(self._url)

View File

@ -0,0 +1,6 @@
from .catalogs_object import CatalogsObject
class Loyalties(CatalogsObject):
def __init__(self):
self._url = 'catalog/loyalties?'
super(Loyalties, self).__init__(self._url)

View File

@ -0,0 +1,6 @@
from .catalogs_object import CatalogsObject
class PlaneswalkerTypes(CatalogsObject):
def __init__(self):
self._url = 'catalog/planeswalker-types?'
super(PlaneswalkerTypes, self).__init__(self._url)

View File

@ -0,0 +1,6 @@
from .catalogs_object import CatalogsObject
class Powers(CatalogsObject):
def __init__(self):
self._url = 'catalog/powers?'
super(Powers, self).__init__(self._url)

View File

@ -0,0 +1,6 @@
from .catalogs_object import CatalogsObject
class SpellTypes(CatalogsObject):
def __init__(self):
self._url = 'catalog/spell-types?'
super(SpellTypes, self).__init__(self._url)

View File

@ -0,0 +1,6 @@
from .catalogs_object import CatalogsObject
class Toughnesses(CatalogsObject):
def __init__(self):
self._url = 'catalog/toughnesses?'
super(Toughnesses, self).__init__(self._url)

View File

@ -0,0 +1,6 @@
from .catalogs_object import CatalogsObject
class Watermarks(CatalogsObject):
def __init__(self):
self._url = 'catalog/watermarks?'
super(Watermarks, self).__init__(self._url)

View File

@ -0,0 +1,6 @@
from .catalogs_object import CatalogsObject
class WordBank(CatalogsObject):
def __init__(self):
self._url = 'catalog/word-bank?'
super(WordBank, self).__init__(self._url)