Scrython/scrython/symbology/parse_mana.py

78 lines
2.2 KiB
Python

from .symbology_object import SymbologyObject
class ParseMana(SymbologyObject):
"""
symbology/parse-mana
Positional arguments:
cost : str ....................... The given mana cost you want. (`RUG`)
Optional arguments:
All arguments are inherited from SymbologyObject
Attributes:
object : str ...... Returns the type of object it is. (card, error, etc)
mana_cost : str ............................... The formatted mana cost.
cmc : float ....................... The converted mana cost of the card.
colors : list ................... A list of all colors in the mana cost.
colorless : bool ................... True if the mana cost is colorless.
monocolored : bool .............. True if the mana cost is mono colored.
multicolored : bool ...... True if the mana cost is a multicolored cost.
Example usage:
>>> mana = scrython.symbology.ParseMana(cost="xcug")
>>> mana.colors()
"""
def __init__(self, cost):
self.cost = cost
self.url = 'symbology/parse-mana?cost=' + self.cost
super(ParseMana, 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:
raise KeyError('This object has no key \'object\'')
return self.scryfallJson['object']
def mana_cost(self):
if self.__checkForKey('cost') is None:
raise KeyError('This object has no key \'cost\'')
return self.scryfallJson['cost']
def cmc(self):
if self.__checkForKey('cmc') is None:
raise KeyError('This object has no key \'cmc\'')
return self.scryfallJson['cmc']
def colors(self):
if self.__checkForKey('colors') is None:
raise KeyError('This object has no key \'colors\'')
return self.scryfallJson['colors']
def colorless(self):
if self.__checkForKey('colorless') is None:
raise KeyError('This object has no key \'colorless\'')
return self.scryfallJson['colorless']
def monocolored(self):
if self.__checkForKey('monocolored') is None:
raise KeyError('This object has no key \'monocolored\'')
return self.scryfallJson['monocolored']
def multicolored(self):
if self.__checkForKey('multicolored') is None:
raise KeyError('This object has no key \'multicolored\'')
return self.scryfallJson['multicolored']