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
|
||||
- `python` >= 3.5.3
|
||||
- `asyncio` >= 3.4.3
|
||||
- `aiohttp` >= 1.0.5
|
||||
- `threading`
|
||||
- `aiohttp` >= 3.4.4
|
||||
|
||||
## Key features
|
||||
|
||||
|
|
10
gen_docs.py
10
gen_docs.py
|
@ -3,12 +3,14 @@ import scrython
|
|||
from scrython import *
|
||||
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__:
|
||||
|
||||
|
||||
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__))))
|
||||
|
||||
with open('{}.md'.format(eval(_class).__name__), 'w') as f:
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
aiohttp==3.1.3
|
||||
asyncio==3.4.3
|
||||
threading
|
||||
aiohttp==3.4.4
|
||||
asyncio==3.4.3
|
|
@ -5,130 +5,88 @@ from scrython.foundation import FoundationObject
|
|||
class Sets(FoundationObject):
|
||||
"""
|
||||
/sets
|
||||
`Sets()` gets it's own special attributes that don't match with the normal set attributes.
|
||||
|
||||
Positional arguments:
|
||||
code : str ............................... The 3 letter code of the set.
|
||||
|
||||
Optional arguments:
|
||||
All arguments are inherited from SetsObject
|
||||
|
||||
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.
|
||||
Args:
|
||||
code (string): The 3 letter code of the set
|
||||
format (string, optional):
|
||||
Returns data in the specified method. Defaults to JSON.
|
||||
pretty (string, optional):
|
||||
Returns a prettier version of the json object. Note that this may break functionality with Scrython.
|
||||
|
||||
Example usage:
|
||||
>>> set = scrython.sets.Sets()
|
||||
>>> set.name(5)
|
||||
>>> set.data(3, 'name')
|
||||
"""
|
||||
def __init__(self):
|
||||
self._url = 'sets?'
|
||||
super(Sets, self).__init__(self._url)
|
||||
|
||||
def object(self):
|
||||
"""Returns the type of object it is
|
||||
(card, error, etc)
|
||||
|
||||
Returns:
|
||||
string
|
||||
"""
|
||||
super(Sets, self)._checkForKey('object')
|
||||
|
||||
return self.scryfallJson['object']
|
||||
|
||||
def has_more(self):
|
||||
"""True if there are more pages available
|
||||
|
||||
Returns:
|
||||
boolean
|
||||
"""
|
||||
super(Sets, self)._checkForKey('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')
|
||||
|
||||
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']
|
||||
|
||||
def data_length(self):
|
||||
"""The length of the data returned
|
||||
|
||||
Returns:
|
||||
integer
|
||||
"""
|
||||
super(Sets, self)._checkForKey('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']
|
||||
return len(self.scryfallJson['data'])
|
|
@ -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