mirror of
https://github.com/Cockatrice/Magic-Spoiler.git
synced 2026-08-06 03:04:03 -05:00
Enable Scryfall - Just use for Diff for now.
This commit is contained in:
parent
ccd094f37c
commit
19add21493
15
main.py
15
main.py
|
|
@ -77,19 +77,20 @@ if __name__ == '__main__':
|
|||
mtgs = spoilers.scrape_mtgs('http://www.mtgsalvation.com/spoilers.rss') #scrape mtgs rss feed
|
||||
mtgs = spoilers.parse_mtgs(mtgs) #parse spoilers into mtgjson format
|
||||
mtgs = spoilers.correct_cards(mtgs, manual_cards, card_corrections, delete_cards) #fix using the fixfiles
|
||||
#scryfall = spoilers.get_scryfall('https://api.scryfall.com/cards/search?q=++e:' + setinfos['setname'].lower())
|
||||
scryfall = spoilers.get_scryfall('https://api.scryfall.com/cards/search?q=++e:' + setinfos['setname'].lower())
|
||||
mtgs = spoilers.get_image_urls(mtgs, presets['isfullspoil'], setinfos['setname'], setinfos['setlongname'], setinfos['setsize']) #get images
|
||||
[mtgs, errors] = spoilers.errorcheck(mtgs) #check for errors where possible
|
||||
mtgjson = spoilers.smash_mtgs_scryfall(mtgs, scryfall)
|
||||
[mtgjson, errors] = spoilers.errorcheck(mtgjson) #check for errors where possible
|
||||
errorlog += errors
|
||||
spoilers.write_xml(mtgs, setinfos['setname'], setinfos['setlongname'], setinfos['setreleasedate'])
|
||||
spoilers.write_xml(mtgjson, setinfos['setname'], setinfos['setlongname'], setinfos['setreleasedate'])
|
||||
save_xml(spoilers.pretty_xml(setinfos['setname']), 'out/spoiler.xml')
|
||||
mtgs = spoilers.add_headers(mtgs, setinfos)
|
||||
AllSets = spoilers.make_allsets(AllSets, mtgs, setinfos['setname'])
|
||||
mtgs = spoilers.add_headers(mtgjson, setinfos)
|
||||
AllSets = spoilers.make_allsets(AllSets, mtgjson, setinfos['setname'])
|
||||
if 'masterpieces' in setinfos: #repeat all of the above for masterpieces
|
||||
#masterpieces aren't in the rss feed, so for the new cards, we'll go to their individual pages on mtgs
|
||||
#old cards will get their infos copied from mtgjson (including fields that may not apply like 'artist')
|
||||
#the images will still come from mtgs
|
||||
masterpieces = spoilers.make_masterpieces(setinfos['masterpieces'], AllSets, mtgs)
|
||||
masterpieces = spoilers.make_masterpieces(setinfos['masterpieces'], AllSets, mtgjson)
|
||||
[masterpieces, errors] = spoilers.errorcheck(masterpieces)
|
||||
errorlog += errors
|
||||
spoilers.write_xml(masterpieces, setinfos['masterpieces']['setname'], setinfos['masterpieces']['setlongname'], setinfos['masterpieces']['setreleasedate'])
|
||||
|
|
@ -97,4 +98,4 @@ if __name__ == '__main__':
|
|||
save_masterpieces(masterpieces)
|
||||
save_errorlog(errorlog)
|
||||
save_allsets(AllSets)
|
||||
save_setjson(mtgs)
|
||||
save_setjson(mtgjson)
|
||||
|
|
|
|||
24
spoilers.py
24
spoilers.py
|
|
@ -458,16 +458,16 @@ def get_scryfall(setUrl):
|
|||
setDone = True
|
||||
else:
|
||||
setDone = True
|
||||
#return scryfall
|
||||
convert_scryfall(scryfall)
|
||||
return scryfall
|
||||
|
||||
scryfall = convert_scryfall(scryfall[0])
|
||||
return {'cards': scryfall}
|
||||
print
|
||||
|
||||
def convert_scryfall(scryfall):
|
||||
cards2 = []
|
||||
for card in scryfall:
|
||||
card2 = {}
|
||||
card2['cmc'] = int((card['converted_mana_cost']).split('.')[0])
|
||||
card2['cmc'] = int((card['cmc']).split('.')[0])
|
||||
if card.has_key('mana_cost'):
|
||||
card2['manaCost'] = card['mana_cost'].replace('{','').replace('}','')
|
||||
else:
|
||||
|
|
@ -561,11 +561,25 @@ def convert_scryfall(scryfall):
|
|||
if card.has_key('multiverse_id'):
|
||||
card2['multiverseid'] = card['multiverse_id']
|
||||
|
||||
cards2['cards'].append(card2)
|
||||
cards2.append(card2)
|
||||
|
||||
return cards2
|
||||
print
|
||||
|
||||
def smash_mtgs_scryfall(mtgs, scryfall):
|
||||
print mtgs
|
||||
print "^mtgs | \/scryfall"
|
||||
print scryfall
|
||||
for mtgscard in mtgs['cards']:
|
||||
cardFound = False
|
||||
for scryfallcard in scryfall['cards']:
|
||||
if scryfallcard['name'] == mtgscard['name']:
|
||||
for key in scryfallcard:
|
||||
if key in mtgscard:
|
||||
if not mtgscard[key] == scryfallcard[key]:
|
||||
print "Mtgs has key %s as %s and\nScryfall has %s" % (key, mtgscard[key], scryfallcard[key])
|
||||
return mtgs
|
||||
|
||||
def scrape_fullspoil(url, showRarityColors=False, showFrameColors=False, manual_cards=[], delete_cards=[], split_cards=[]):
|
||||
page = requests.get(url)
|
||||
tree = html.fromstring(page.content)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user