Updated all sets docs
This commit is contained in:
parent
80581d125f
commit
b3fd5610b2
|
@ -7,8 +7,7 @@ Scrython is a wrapper for the Scryfall API, designed for an easier use. Make sur
|
||||||
# Dependencies
|
# Dependencies
|
||||||
- `python` >= 3.5.3
|
- `python` >= 3.5.3
|
||||||
- `asyncio` >= 3.4.3
|
- `asyncio` >= 3.4.3
|
||||||
- `aiohttp` >= 1.0.5
|
- `aiohttp` >= 3.4.4
|
||||||
- `threading`
|
|
||||||
|
|
||||||
## Key features
|
## Key features
|
||||||
|
|
||||||
|
|
10
gen_docs.py
10
gen_docs.py
|
@ -3,12 +3,14 @@ import scrython
|
||||||
from scrython import *
|
from scrython import *
|
||||||
import re
|
import re
|
||||||
|
|
||||||
intro = """These docs will likely not be as detailed as the official Scryfall Documentation, and you should reference that for more information.
|
|
||||||
|
|
||||||
>In the event that a key isn't found or has been changed, you can access the full JSON output with the `scryfallJson` variable (`{Class_name}().scryfallJson`)."""
|
|
||||||
|
|
||||||
for _class in scrython.__all__:
|
for _class in scrython.__all__:
|
||||||
|
|
||||||
|
|
||||||
|
intro = """These docs will likely not be as detailed as the official Scryfall Documentation, and you should reference that for more information.
|
||||||
|
|
||||||
|
>In the event that a key isn't found or has been changed, you can access the full JSON output with the `scryfallJson` variable (`{}().scryfallJson`).
|
||||||
|
""".format(eval(_class).__name__)
|
||||||
|
|
||||||
match = list(filter(None, (token.strip() for token in re.findall(r'[^\n]*', eval(_class).__doc__))))
|
match = list(filter(None, (token.strip() for token in re.findall(r'[^\n]*', eval(_class).__doc__))))
|
||||||
|
|
||||||
with open('{}.md'.format(eval(_class).__name__), 'w') as f:
|
with open('{}.md'.format(eval(_class).__name__), 'w') as f:
|
||||||
|
|
|
@ -1,3 +1,2 @@
|
||||||
aiohttp==3.1.3
|
aiohttp==3.4.4
|
||||||
asyncio==3.4.3
|
asyncio==3.4.3
|
||||||
threading
|
|
||||||
|
|
|
@ -5,130 +5,88 @@ from scrython.foundation import FoundationObject
|
||||||
class Sets(FoundationObject):
|
class Sets(FoundationObject):
|
||||||
"""
|
"""
|
||||||
/sets
|
/sets
|
||||||
`Sets()` gets it's own special attributes that don't match with the normal set attributes.
|
|
||||||
|
|
||||||
Positional arguments:
|
Args:
|
||||||
code : str ............................... The 3 letter code of the set.
|
code (string): The 3 letter code of the set
|
||||||
|
format (string, optional):
|
||||||
Optional arguments:
|
Returns data in the specified method. Defaults to JSON.
|
||||||
All arguments are inherited from SetsObject
|
pretty (string, optional):
|
||||||
|
Returns a prettier version of the json object. Note that this may break functionality with Scrython.
|
||||||
Attributes:
|
|
||||||
object : str ... Returns the type of object it is. (card, error, etc)
|
|
||||||
has_more : bool ... True if there are more pages available.
|
|
||||||
data : list ... List of all data returned.
|
|
||||||
data_length : int ... The length of the data returned.
|
|
||||||
|
|
||||||
The following require an integer as an arg, which acts as a tuple.
|
|
||||||
set_object(num) : str .................................. The set object.
|
|
||||||
set_code(num) : str .............. The three letter set code of the set.
|
|
||||||
set_mtgo_code(num) : str .............. The mtgo equivalent of `code()`.
|
|
||||||
set_name(num) : str .......................... The full name of the set.
|
|
||||||
set_set_type(num) : str ... The type of the set (expansion, commander, etc)
|
|
||||||
set_released_at(num) : str .............. The date the set was launched.
|
|
||||||
set_block_code(num) : str ... The the letter code for the block the set was in.
|
|
||||||
set_block(num) : str .......... The full name of the block a set was in.
|
|
||||||
set_parent_set_code(num) : str ........ The set code for the parent set.
|
|
||||||
set_card_count(num) : int .............. The number of cards in the set.
|
|
||||||
set_digital(num) : bool ..... True if this set is only featured on MTGO.
|
|
||||||
set_foil_only(num) : bool ............. True if this set only has foils.
|
|
||||||
set_icon_svg_uri(num) : str ........ A URI to the SVG of the set symbol.
|
|
||||||
set_search_uri(num) : str ......... The scryfall API url for the search.
|
|
||||||
|
|
||||||
Example usage:
|
Example usage:
|
||||||
>>> set = scrython.sets.Sets()
|
>>> set = scrython.sets.Sets()
|
||||||
>>> set.name(5)
|
>>> set.data(3, 'name')
|
||||||
"""
|
"""
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self._url = 'sets?'
|
self._url = 'sets?'
|
||||||
super(Sets, self).__init__(self._url)
|
super(Sets, self).__init__(self._url)
|
||||||
|
|
||||||
def object(self):
|
def object(self):
|
||||||
|
"""Returns the type of object it is
|
||||||
|
(card, error, etc)
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
string
|
||||||
|
"""
|
||||||
super(Sets, self)._checkForKey('object')
|
super(Sets, self)._checkForKey('object')
|
||||||
|
|
||||||
return self.scryfallJson['object']
|
return self.scryfallJson['object']
|
||||||
|
|
||||||
def has_more(self):
|
def has_more(self):
|
||||||
|
"""True if there are more pages available
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
boolean
|
||||||
|
"""
|
||||||
super(Sets, self)._checkForKey('has_more')
|
super(Sets, self)._checkForKey('has_more')
|
||||||
|
|
||||||
return self.scryfallJson['has_more']
|
return self.scryfallJson['has_more']
|
||||||
|
|
||||||
def data(self):
|
def data(self, index=None, key=None):
|
||||||
|
"""The data returned from the query
|
||||||
|
|
||||||
|
Acceptable keys:
|
||||||
|
object (string): The set object.
|
||||||
|
code (string): The three letter set code of the set.
|
||||||
|
mtgo_code (string): The mtgo equivalent of `code()`.
|
||||||
|
name (string): The full name of the set.
|
||||||
|
set_type (string): The type of the set (expansion, commander, etc)
|
||||||
|
released_at (string): The date the set was launched.
|
||||||
|
block_code (string): The the letter code for the block the set was in.
|
||||||
|
block (string): The full name of the block a set was in.
|
||||||
|
parent_set_code (string): The set code for the parent set.
|
||||||
|
card_count (integer): The number of cards in the set.
|
||||||
|
digital (boolean): True if this set is only featured on MTGO.
|
||||||
|
foil_only (boolean): True if this set only has foils.
|
||||||
|
icon_svg_uri (string): A URI to the SVG of the set symbol.
|
||||||
|
search_uri (string): The scryfall API url for the search.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
index (integer, optional): Defaults to None. Access a specific index.
|
||||||
|
key (string, optional): Defaults to None. Returns the value of the given key. Requires the `index` argument.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
List: The full list of data.
|
||||||
|
Dictionary: If given an index
|
||||||
|
String: If given an index and key.
|
||||||
|
"""
|
||||||
super(Sets, self)._checkForKey('data')
|
super(Sets, self)._checkForKey('data')
|
||||||
|
|
||||||
|
if index is not None:
|
||||||
|
if key is not None:
|
||||||
|
super(Sets, self)._checkForTupleKey('data', index, key)
|
||||||
|
return self.scryfallJson['data'][index][key]
|
||||||
|
|
||||||
|
return self.scryfallJson['data'][index]
|
||||||
|
|
||||||
return self.scryfallJson['data']
|
return self.scryfallJson['data']
|
||||||
|
|
||||||
def data_length(self):
|
def data_length(self):
|
||||||
|
"""The length of the data returned
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
integer
|
||||||
|
"""
|
||||||
super(Sets, self)._checkForKey('data')
|
super(Sets, self)._checkForKey('data')
|
||||||
|
|
||||||
return len(self.scryfallJson['data'])
|
return len(self.scryfallJson['data'])
|
||||||
|
|
||||||
def set_object(self, num):
|
|
||||||
super(Sets, self)._checkForTupleKey('data', num, 'object')
|
|
||||||
|
|
||||||
return self.scryfallJson['data'][num]['object']
|
|
||||||
|
|
||||||
def set_code(self, num):
|
|
||||||
super(Sets, self)._checkForTupleKey('data', num, 'code')
|
|
||||||
|
|
||||||
return self.scryfallJson['data'][num]['code']
|
|
||||||
|
|
||||||
def set_mtgo_code(self, num):
|
|
||||||
super(Sets, self)._checkForTupleKey('data', num, 'mtgo_code')
|
|
||||||
|
|
||||||
return self.scryfallJson['data'][num]['mtgo_code']
|
|
||||||
|
|
||||||
def set_name(self, num):
|
|
||||||
super(Sets, self)._checkForTupleKey('data', num, 'name')
|
|
||||||
|
|
||||||
return self.scryfallJson['data'][num]['name']
|
|
||||||
|
|
||||||
def set_set_type(self, num):
|
|
||||||
super(Sets, self)._checkForTupleKey('data', num, 'set_type')
|
|
||||||
|
|
||||||
return self.scryfallJson['data'][num]['set_type']
|
|
||||||
|
|
||||||
def set_released_at(self, num):
|
|
||||||
super(Sets, self)._checkForTupleKey('data', num, 'released_at')
|
|
||||||
|
|
||||||
return self.scryfallJson['data'][num]['released_at']
|
|
||||||
|
|
||||||
def set_block_code(self, num):
|
|
||||||
super(Sets, self)._checkForTupleKey('data', num, 'block_code')
|
|
||||||
|
|
||||||
return self.scryfallJson['data'][num]['block_code']
|
|
||||||
|
|
||||||
def set_block(self, num):
|
|
||||||
super(Sets, self)._checkForTupleKey('data', num, 'block')
|
|
||||||
|
|
||||||
return self.scryfallJson['data'][num]['block']
|
|
||||||
|
|
||||||
def set_parent_set_code(self, num):
|
|
||||||
super(Sets, self)._checkForTupleKey('data', num, 'parent_set_code')
|
|
||||||
|
|
||||||
return self.scryfallJson['data'][num]['parent_set_code']
|
|
||||||
|
|
||||||
def set_card_count(self, num):
|
|
||||||
super(Sets, self)._checkForTupleKey('data', num, 'card_count')
|
|
||||||
|
|
||||||
return self.scryfallJson['data'][num]['card_count']
|
|
||||||
|
|
||||||
def set_digital(self, num):
|
|
||||||
super(Sets, self)._checkForTupleKey('data', num, 'digital')
|
|
||||||
|
|
||||||
return self.scryfallJson['data'][num]['digital']
|
|
||||||
|
|
||||||
def set_foil_only(self, num):
|
|
||||||
super(Sets, self)._checkForTupleKey('data', num, 'foil_only')
|
|
||||||
|
|
||||||
return self.scryfallJson['data'][num]['foil_only']
|
|
||||||
|
|
||||||
def set_icon_svg_uri(self, num):
|
|
||||||
super(Sets, self)._checkForTupleKey('data', num, 'icon_svg_uri')
|
|
||||||
|
|
||||||
return self.scryfallJson['data'][num]['icon_svg_uri']
|
|
||||||
|
|
||||||
def set_search_uri(self, num):
|
|
||||||
super(Sets, self)._checkForTupleKey('data', num, 'search_uri')
|
|
||||||
|
|
||||||
return self.scryfallJson['data'][num]['search_uri']
|
|
|
@ -1,115 +0,0 @@
|
||||||
import sys
|
|
||||||
sys.path.append('..')
|
|
||||||
from scrython.foundation import FoundationObject
|
|
||||||
import asyncio
|
|
||||||
import aiohttp
|
|
||||||
import urllib.parse
|
|
||||||
from threading import Thread
|
|
||||||
|
|
||||||
class SetsObject(FoundationObject):
|
|
||||||
"""
|
|
||||||
The master class for all sets objects.
|
|
||||||
|
|
||||||
Positional arguments:
|
|
||||||
No arguments required.
|
|
||||||
|
|
||||||
Optional arguments:
|
|
||||||
format : str ................... The format to return. Defaults to JSON.
|
|
||||||
pretty : bool ... Makes the returned JSON prettier. The library may not work properly with this setting.
|
|
||||||
|
|
||||||
Attributes:
|
|
||||||
object : str ...... Returns the type of object it is. (card, error, etc)
|
|
||||||
code : str ........................ The three letter set code of the set
|
|
||||||
mtgo_code : str ........................ The mtgo equivalent of `code()`
|
|
||||||
name : str ................................... The full name of the set.
|
|
||||||
set_type : str ......... The type of the set (expansion, commander, etc)
|
|
||||||
released_at : str ....................... The date the set was launched.
|
|
||||||
block_code : str ..... The the letter code for the block the set was in.
|
|
||||||
block : str ................... The full name of the block a set was in.
|
|
||||||
parent_set_code : str ................. The set code for the parent set.
|
|
||||||
card_count : int ...................... The number of cards in the set.
|
|
||||||
digital : bool .............. True if this set is only featured on MTGO.
|
|
||||||
foil_only : bool ........................... True if this set only has foils.
|
|
||||||
icon_svg_uri : str ................ A URI to the SVG of the set symbol.
|
|
||||||
search_uri : str .................. The scryfall API url for the search.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def _checkForKey(self, key):
|
|
||||||
if not key in self.scryfallJson:
|
|
||||||
raise KeyError('This object has no key \'{}\''.format(key))
|
|
||||||
|
|
||||||
def _checkForTupleKey(self, parent, num, key):
|
|
||||||
try:
|
|
||||||
return self.scryfallJson[parent][num][key]
|
|
||||||
except Exception:
|
|
||||||
raise KeyError('This object has no key \'{}\''.format(key))
|
|
||||||
|
|
||||||
def object(self):
|
|
||||||
self._checkForKey('object')
|
|
||||||
|
|
||||||
return self.scryfallJson['object']
|
|
||||||
|
|
||||||
def code(self):
|
|
||||||
self._checkForKey('object')
|
|
||||||
|
|
||||||
return self.scryfallJson['code']
|
|
||||||
|
|
||||||
def mtgo_code(self):
|
|
||||||
self._checkForKey('mtgo_code')
|
|
||||||
|
|
||||||
return self.scryfallJson['mtgo_code']
|
|
||||||
|
|
||||||
def name(self):
|
|
||||||
self._checkForKey('name')
|
|
||||||
|
|
||||||
return self.scryfallJson['name']
|
|
||||||
|
|
||||||
def set_type(self):
|
|
||||||
self._checkForKey('set_type')
|
|
||||||
|
|
||||||
return self.scryfallJson['set_type']
|
|
||||||
|
|
||||||
def released_at(self):
|
|
||||||
self._checkForKey('released_at')
|
|
||||||
|
|
||||||
return self.scryfallJson['released_at']
|
|
||||||
|
|
||||||
def block_code(self):
|
|
||||||
self._checkForKey('block_code')
|
|
||||||
|
|
||||||
return self.scryfallJson['block_code']
|
|
||||||
|
|
||||||
def block(self):
|
|
||||||
self._checkForKey('block')
|
|
||||||
|
|
||||||
return self.scryfallJson['block']
|
|
||||||
|
|
||||||
def parent_set_code(self):
|
|
||||||
self._checkForKey('parent_set_code')
|
|
||||||
|
|
||||||
return self.scryfallJson['parent_set_code']
|
|
||||||
|
|
||||||
def card_count(self):
|
|
||||||
self._checkForKey('card_count')
|
|
||||||
|
|
||||||
return self.scryfallJson['card_count']
|
|
||||||
|
|
||||||
def digital(self):
|
|
||||||
self._checkForKey('digital')
|
|
||||||
|
|
||||||
return self.scryfallJson['digital']
|
|
||||||
|
|
||||||
def foil_only(self):
|
|
||||||
self._checkForKey('foil_only')
|
|
||||||
|
|
||||||
return self.scryfallJson['foil_only']
|
|
||||||
|
|
||||||
def icon_svg_uri(self):
|
|
||||||
self._checkForKey('icon_svg_uri')
|
|
||||||
|
|
||||||
return self.scryfallJson['icon_svg_uri']
|
|
||||||
|
|
||||||
def search_uri(self):
|
|
||||||
self._checkForKey('search_uri')
|
|
||||||
|
|
||||||
return self.scryfallJson['search_uri']
|
|
Loading…
Reference in New Issue