mirror of
https://github.com/Mikaela/Limnoria.git
synced 2025-01-23 10:34:19 +01:00
Added support for more countries (should support all english-speaking
countries) and added support for ebay.com/.*?/ws as opposed to just ebay.com/ws
This commit is contained in:
parent
96f299c10c
commit
72e554350b
@ -85,15 +85,16 @@ class Ebay(callbacks.PrivmsgCommandAndRegexp, plugins.Toggleable):
|
|||||||
_info = re.compile(r'<title>eBay item (\d+) \([^)]+\) - ([^<]+)</title>',
|
_info = re.compile(r'<title>eBay item (\d+) \([^)]+\) - ([^<]+)</title>',
|
||||||
_reopts)
|
_reopts)
|
||||||
|
|
||||||
_bid = re.compile(r'Current (bid):.+?<b>([^<]+?)<font', _reopts)
|
_bid = re.compile(r'((?:Current|Starting) bid):.+?<b>([^<]+?)<font',
|
||||||
|
_reopts)
|
||||||
_winningBid = re.compile(r'(Winning bid|Sold for):.+?<b>([^<]+?)<font',
|
_winningBid = re.compile(r'(Winning bid|Sold for):.+?<b>([^<]+?)<font',
|
||||||
_reopts)
|
_reopts)
|
||||||
_time = re.compile(r'(Time left):.+?<b>([^<]+?)</b>', _reopts)
|
_time = re.compile(r'(Time left):.+?<b>([^<]+?)</b>', _reopts)
|
||||||
_bidder = re.compile(r'(High bidder):.+?<a href[^>]+>([^<]+)</a>.+?<a '\
|
_bidder = re.compile(r'(High bidder):.+?(?:">(User ID) (kept private)'\
|
||||||
'href[^>]+>(\d+)</a>', _reopts)
|
'</font>|<a href[^>]+>([^<]+)</a>.+?<a href[^>]+>(\d+)</a>)', _reopts)
|
||||||
_winningBidder = re.compile(r'(Winning bidder|Buyer):.+?<a href[^>]+>'\
|
_winningBidder = re.compile(r'(Winning bidder|Buyer):.+?<a href[^>]+>'\
|
||||||
'([^<]+)</a>.+?<a href[^>]+>(\d+)</a>', _reopts)
|
'([^<]+)</a>.+?<a href[^>]+>(\d+)</a>', _reopts)
|
||||||
_buyNow = re.compile(r'alt="(Buy It Now)">.*?<b>([^<]+)</b>')
|
_buyNow = re.compile(r'alt="(Buy It Now)">.*?<b>([^<]+)</b>', _reopts)
|
||||||
_seller = re.compile(r'(Seller information).+?<a href[^>]+>([^<]+)</a>'\
|
_seller = re.compile(r'(Seller information).+?<a href[^>]+>([^<]+)</a>'\
|
||||||
'.+ViewFeedback.+">(\d+)</a>', _reopts)
|
'.+ViewFeedback.+">(\d+)</a>', _reopts)
|
||||||
_searches = (_bid, _winningBid, _time, _bidder, _winningBidder, _buyNow,
|
_searches = (_bid, _winningBid, _time, _bidder, _winningBidder, _buyNow,
|
||||||
@ -120,8 +121,8 @@ class Ebay(callbacks.PrivmsgCommandAndRegexp, plugins.Toggleable):
|
|||||||
self._getResponse(irc, msg, url)
|
self._getResponse(irc, msg, url)
|
||||||
|
|
||||||
def ebaySnarfer(self, irc, msg, match):
|
def ebaySnarfer(self, irc, msg, match):
|
||||||
r"http://cgi\.ebay\.com/ws/eBayISAPI\.dll\?ViewItem(?:&item=\d+|"\
|
r"http://cgi\.ebay\.(?:com(?:.au)?|ca|co.uk)/(?:.*?/)?(?:ws/)?"\
|
||||||
"&category=\d+)+"
|
r"eBayISAPI\.dll\?ViewItem(?:&item=\d+|&category=\d+)+"
|
||||||
if not self.toggles.get('auction', channel=msg.args[0]):
|
if not self.toggles.get('auction', channel=msg.args[0]):
|
||||||
return
|
return
|
||||||
url = match.group(0)
|
url = match.group(0)
|
||||||
@ -143,7 +144,11 @@ class Ebay(callbacks.PrivmsgCommandAndRegexp, plugins.Toggleable):
|
|||||||
m = r.search(s)
|
m = r.search(s)
|
||||||
if m:
|
if m:
|
||||||
if r in self._multiField:
|
if r in self._multiField:
|
||||||
resp.append('%s: %s (%s)' % self._bold(m.groups()))
|
#debug.printf(m.groups())
|
||||||
|
# [:3] is to make sure that we don't pass a tuple with
|
||||||
|
# more than 3 items. this allows self._bidder to work
|
||||||
|
# since self._bidder returns a 5 item tuple
|
||||||
|
resp.append('%s: %s (%s)' % self._bold(m.groups()[:3]))
|
||||||
else:
|
else:
|
||||||
resp.append('%s: %s' % self._bold(m.groups()))
|
resp.append('%s: %s' % self._bold(m.groups()))
|
||||||
if resp:
|
if resp:
|
||||||
|
@ -44,6 +44,16 @@ class EbayTest(PluginTestCase, PluginDocumentation):
|
|||||||
self.assertRegexp('http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&'\
|
self.assertRegexp('http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&'\
|
||||||
'category=28033&item=3053353651', '.*Cisco 2524 Router - NO '\
|
'category=28033&item=3053353651', '.*Cisco 2524 Router - NO '\
|
||||||
'RESERVE.*izontech \(.*')
|
'RESERVE.*izontech \(.*')
|
||||||
|
# test snarfing other countries
|
||||||
|
self.assertRegexp('http://cgi.ebay.ca/ws/eBayISAPI.dll?ViewItem&'\
|
||||||
|
'item=2357056673', 'Buffalo Pemmican')
|
||||||
|
self.assertRegexp('http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&'\
|
||||||
|
'item=2355464443', 'Any Clear Crazy')
|
||||||
|
self.assertRegexp('http://cgi.ebay.com.au/ws/eBayISAPI.dll?ViewItem&'\
|
||||||
|
'item=2762983161&category=4607', 'Apple Mac G4')
|
||||||
|
# test .com/.*/ws/eBat compatibility
|
||||||
|
self.assertRegexp('http://cgi.ebay.com/ebaymotors/ws/eBayISAPI.dll?'\
|
||||||
|
'ViewItem&item=2439393310&category=33708', '88-89 CRX amber')
|
||||||
|
|
||||||
def testToggle(self):
|
def testToggle(self):
|
||||||
self.assertHelp('ebay toggle')
|
self.assertHelp('ebay toggle')
|
||||||
|
Loading…
Reference in New Issue
Block a user