2018-02-19 17:20:05 +00:00
|
|
|
from .symbology_object import SymbologyObject
|
|
|
|
|
|
|
|
class ParseMana(SymbologyObject):
|
2018-02-22 00:17:22 +00:00
|
|
|
"""
|
|
|
|
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
|
2018-02-19 17:20:05 +00:00
|
|
|
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']
|