allow looking up cards with their collector number
This commit is contained in:
		
							parent
							
								
									f88fab0431
								
							
						
					
					
						commit
						f6335528f5
					
				| 
						 | 
					@ -183,11 +183,8 @@ async def get_cards(card_names):
 | 
				
			||||||
	for name in card_names:
 | 
						for name in card_names:
 | 
				
			||||||
		name = re.sub(r'<.*?>', '', name).strip()
 | 
							name = re.sub(r'<.*?>', '', name).strip()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		# Handle set codes
 | 
							# Handle set codes and collector numbers
 | 
				
			||||||
		if '|' in name:
 | 
							name, set_code, collector_num, *_ = (name.split('|') + ['']*2)
 | 
				
			||||||
			name, set_code, *_ = name.split('|')
 | 
					 | 
				
			||||||
		else:
 | 
					 | 
				
			||||||
			set_code = ''
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
		try:
 | 
							try:
 | 
				
			||||||
			# Check if any of the easter eggs should happen
 | 
								# Check if any of the easter eggs should happen
 | 
				
			||||||
| 
						 | 
					@ -198,10 +195,26 @@ async def get_cards(card_names):
 | 
				
			||||||
			else:
 | 
								else:
 | 
				
			||||||
				c = scrython.cards.Named(fuzzy=name, set=set_code)
 | 
									c = scrython.cards.Named(fuzzy=name, set=set_code)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									if collector_num:
 | 
				
			||||||
 | 
										c_by_num = scrython.cards.Collector(
 | 
				
			||||||
 | 
											code=set_code,
 | 
				
			||||||
 | 
											collector_number=collector_num,
 | 
				
			||||||
 | 
										)
 | 
				
			||||||
 | 
										# Make sure the provided name matches
 | 
				
			||||||
 | 
										if c_by_num.name() != c.name():
 | 
				
			||||||
 | 
											raise scrython.foundation.ScryfallError
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										c = c_by_num
 | 
				
			||||||
 | 
								
 | 
				
			||||||
			cards.append(c)
 | 
								cards.append(c)
 | 
				
			||||||
			responses.append(f'{c.name()} - {c.scryfall_uri()}')
 | 
								responses.append(f'{c.name()} - {c.scryfall_uri()}')
 | 
				
			||||||
		except scrython.foundation.ScryfallError:
 | 
							except scrython.foundation.ScryfallError as e:
 | 
				
			||||||
			if set_code:
 | 
								if collector_num:
 | 
				
			||||||
 | 
									responses.append(
 | 
				
			||||||
 | 
										f'No card named "{name}" from set with code '
 | 
				
			||||||
 | 
										f'{set_code.upper()} and collector number {collector_num} '
 | 
				
			||||||
 | 
										'was found.')
 | 
				
			||||||
 | 
								elif set_code:
 | 
				
			||||||
				responses.append(f'No card named "{name}" from set with code {set_code.upper()} was found.')
 | 
									responses.append(f'No card named "{name}" from set with code {set_code.upper()} was found.')
 | 
				
			||||||
			else:
 | 
								else:
 | 
				
			||||||
				responses.append(f'No card named "{name}" was found.')
 | 
									responses.append(f'No card named "{name}" was found.')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue