Ejemplo n.º 1
0
def random_cards_from_filter(filter):
	filter = '({}) ({})'.format(valid_set_filter(), filter)
	parsed_filter = urllib.parse.quote_plus(filter)
	url = 'http://magiccards.info/query?q={!s}&v=card&s=cname'.format(parsed_filter)
	if regex.page_contains_regex(url, 'Your\squery\sdid\snot\smatch\sany\scards'):
		raise StopIteration
	try:
		card_count = int(regex.first_match_from_page(url, '(?<=\s\s)\d*(?=\scards)'))
	except:
		card_count = 1
	card_numbers_list = random_arrangement_of_numbers(card_count)
	for number in card_numbers_list:
		card_page_number = int(number / 20 + 1)
		card_number_on_page = number % 20 + 1
		list_url = 'http://magiccards.info/query?q={!s}&s=cname&v=card&p={!s}'.format(parsed_filter, str(card_page_number))
		cards_on_page = regex.all_matches_from_page(list_url, '(?<=info/scans/en/)[^/]*/\d*[ab]*')
		yield cards_on_page[card_number_on_page - 1]
Ejemplo n.º 2
0
def spoiler_page_html(set):
	matches = regex.all_matches_from_page(spoiler_page(set), 'cards/[^\s]*\.jpg')
	return matches