mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-11-27 05:09:23 +01:00
Added patch #1024088, better handling of various Ebay URLs.
This commit is contained in:
parent
ee70224aa3
commit
ddfa5e8d32
@ -39,6 +39,7 @@ __revision__ = "$Id$"
|
||||
__author__ = supybot.authors.jamessan
|
||||
|
||||
import re
|
||||
import cgi
|
||||
import sets
|
||||
import getopt
|
||||
|
||||
@ -117,10 +118,13 @@ class Ebay(callbacks.PrivmsgCommandAndRegexp):
|
||||
irc.reply(str(e))
|
||||
|
||||
def ebaySnarfer(self, irc, msg, match):
|
||||
r"http://cgi\.ebay\.(?:com(?:\.au)?|co\.uk|ca)/.*" \
|
||||
r"eBayISAPI\.dll\?ViewItem(?:&(?:item|category)=\d+)+"
|
||||
r'http://cgi\.ebay\.(?:com(?:\.au)?|co\.uk|ca)/.*' \
|
||||
r'eBayISAPI\.dll\?ViewItem&([\S]+)'
|
||||
if not self.registryValue('auctionSnarfer', msg.args[0]):
|
||||
return
|
||||
queries = cgi.parse_qs(match.group(1))
|
||||
if 'item' not in queries and 'category' not in queries:
|
||||
return
|
||||
url = match.group(0)
|
||||
try:
|
||||
irc.reply(self._getResponse(url), prefixName=False)
|
||||
|
@ -40,50 +40,4 @@ class EbayTest(ChannelPluginTestCase):
|
||||
self.assertRegexp('auction 2357056673', 'That auction is invalid')
|
||||
self.assertError('auction foobar')
|
||||
|
||||
def testSnarfer(self):
|
||||
orig = conf.supybot.plugins.Ebay.auctionSnarfer()
|
||||
try:
|
||||
conf.supybot.plugins.Ebay.auctionSnarfer.setValue(True)
|
||||
self.assertSnarfRegexp(
|
||||
'http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem'
|
||||
'&category=176&item=3053767552',
|
||||
r'.*Cisco NP-4T.*Serial Module.*US \$74\.95.*')
|
||||
self.assertSnarfRegexp(
|
||||
'http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&'
|
||||
'category=28033&item=3053353651',
|
||||
r'.*Cisco 2524 Router - NO RESERVE.*izontech \(.*')
|
||||
# test snarfing other countries
|
||||
self.assertSnarfRegexp(
|
||||
'http://cgi.ebay.ca/ws/eBayISAPI.dll?ViewItem&'
|
||||
'item=3636820075',
|
||||
r'NEW 34" Itech 8.8 Profile')
|
||||
self.assertSnarfRegexp(
|
||||
'http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&'
|
||||
'item=2355464443',
|
||||
r'Any Clear Crazy')
|
||||
self.assertSnarfRegexp(
|
||||
'http://cgi.ebay.com.au/ws/eBayISAPI.dll?ViewItem&'
|
||||
'item=2762983161&category=4607',
|
||||
r'Apple Mac G4')
|
||||
# test .com/.*/ws/eBat compatibility
|
||||
self.assertSnarfRegexp(
|
||||
'http://cgi.ebay.com/ebaymotors/ws/eBayISAPI.dll?'
|
||||
'ViewItem&item=2439393310&category=33708',
|
||||
r'88-89 CRX amber')
|
||||
finally:
|
||||
conf.supybot.plugins.Ebay.auctionSnarfer.setValue(orig)
|
||||
|
||||
def testConfigSnarfer(self):
|
||||
try:
|
||||
conf.supybot.plugins.Ebay.auctionSnarfer.setValue(False)
|
||||
self.assertSnarfNoResponse(
|
||||
'http://cgi.ebay.com/ebaymotors/ws/eBayISAPI.dll?'
|
||||
'ViewItem&item=2439393310&category=33708')
|
||||
conf.supybot.plugins.Ebay.auctionSnarfer.setValue(True)
|
||||
self.assertSnarfNotError(
|
||||
'http://cgi.ebay.com/ebaymotors/ws/eBayISAPI.dll?'
|
||||
'ViewItem&item=2439393310&category=33708')
|
||||
finally:
|
||||
conf.supybot.plugins.Ebay.auctionSnarfer.setValue(False)
|
||||
|
||||
# vim:set shiftwidth=4 tabstop=8 expandtab textwidth=78:
|
||||
|
Loading…
Reference in New Issue
Block a user