| 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 |