Shortener.handle()   A
last analyzed

Complexity

Conditions 3

Size

Total Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
c 1
b 0
f 0
dl 0
loc 12
rs 9.4285
1
import requests
2
import re
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