Total Complexity | 6 |
Total Lines | 29 |
Duplicated Lines | 0 % |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | import requests |
||
3 | class Shortener: |
||
4 | def __init__(self, events=None, printer_handle=None, bot=None, say=None): |
||
5 | self.events = events |
||
6 | self.printer = printer_handle |
||
7 | self.interests = ['__urls__'] |
||
8 | self.bot = bot |
||
9 | self.say = say |
||
10 | |||
11 | self.cmd = None |
||
12 | self.help = "url shortening utility function" |
||
13 | |||
14 | for event in events: |
||
15 | if event._type in self.interests: |
||
16 | # print "DEBUG: registering to ", |
||
17 | # print event |
||
18 | event.subscribe(self) |
||
19 | |||
20 | def handle(self, event): |
||
21 | try: |
||
22 | target = re.search("https?://[\S]+", event.line).group(0) |
||
23 | if len(target) > 60: |
||
24 | url = 'https://is.gd/create.php' |
||
25 | payload = {'format':'simple', 'url':target} |
||
26 | r = requests.get(url, params=payload) |
||
27 | self.say(event.channel, r.text) |
||
28 | |||
29 | except requests.exceptions.HTTPError as e: |
||
30 | self.bot.debug_print("HTTPError") |
||
31 | self.bot.debug_print(str(e)) |
||
32 | |||
33 |