nxy/nxy/plugins/isup.py
2017-07-04 15:22:20 +02:00

37 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
from urllib.parse import urlparse
import irc3
import requests
from docopt import Dict as DocOptDict
from irc3.plugins.command import command
from irc3.utils import IrcString
from . import DatabasePlugin
@irc3.plugin
class Useless(DatabasePlugin):
requires = ['irc3.plugins.command',
'nxy.plugins.storage']
@command
def isup(self, mask: IrcString, target: IrcString, args: DocOptDict):
"""Checks if a address is up.
%%isup <address>
"""
address = args['<address>']
if not address.startswith('http://'):
address = 'https://{}'.format(address)
parsed = urlparse(address)
try:
requests.head(address)
state = 'up'
except requests.ConnectionError:
state = 'down'
return '{scheme}://{address} seems to be {state}'.format(scheme=parsed.scheme,
address=parsed.netloc,
state=state)