mirror of
https://github.com/ncoevoet/ChanTracker.git
synced 2025-04-26 13:01:06 -05:00
Add 'weblink' function to provide link to web UI.
This commit is contained in:
parent
2990b35f13
commit
789e01a28a
@ -50,8 +50,12 @@ __url__ = 'https://github.com/ncoevoet/ChanTracker'
|
|||||||
|
|
||||||
from . import config
|
from . import config
|
||||||
from . import plugin
|
from . import plugin
|
||||||
from imp import reload
|
from . import server
|
||||||
reload(plugin) # In case we're being reloaded.
|
from importlib import reload
|
||||||
|
# In case we're being reloaded.
|
||||||
|
reload(config)
|
||||||
|
reload(plugin)
|
||||||
|
reload(server)
|
||||||
# Add more reloads here if you add third-party modules and want them to be
|
# Add more reloads here if you add third-party modules and want them to be
|
||||||
# reloaded when this plugin is reloaded. Don't forget to import them as well!
|
# reloaded when this plugin is reloaded. Don't forget to import them as well!
|
||||||
|
|
||||||
|
20
plugin.py
20
plugin.py
@ -40,6 +40,7 @@ from supybot.commands import *
|
|||||||
from supybot import utils, ircutils, ircmsgs, ircdb, plugins, callbacks
|
from supybot import utils, ircutils, ircmsgs, ircdb, plugins, callbacks
|
||||||
from supybot import conf, registry, log, schedule, world
|
from supybot import conf, registry, log, schedule, world
|
||||||
|
|
||||||
|
from . import server
|
||||||
|
|
||||||
# due to more kind of pattern checked, increase size
|
# due to more kind of pattern checked, increase size
|
||||||
ircutils._hostmaskPatternEqualCache = utils.structures.CacheDict(10000)
|
ircutils._hostmaskPatternEqualCache = utils.structures.CacheDict(10000)
|
||||||
@ -1539,6 +1540,23 @@ class ChanTracker(callbacks.Plugin, plugins.ChannelDBHandler):
|
|||||||
schedule.addEvent(self.checkNag, time.time() +
|
schedule.addEvent(self.checkNag, time.time() +
|
||||||
self.registryValue('announceNagInterval'), 'ChanTracker')
|
self.registryValue('announceNagInterval'), 'ChanTracker')
|
||||||
|
|
||||||
|
def weblink(self, irc, msg, args, user):
|
||||||
|
"""takes no arguments
|
||||||
|
|
||||||
|
provides link to web interface"""
|
||||||
|
allowed = False
|
||||||
|
for capab in user.capabilities:
|
||||||
|
if capab in ('owner', 'admin') or capab.endswith(',op'):
|
||||||
|
allowed = True
|
||||||
|
break
|
||||||
|
if allowed:
|
||||||
|
irc.queueMsg(ircmsgs.privmsg(msg.nick, server.weblink()))
|
||||||
|
else:
|
||||||
|
irc.errorNoCapability('#channel,op')
|
||||||
|
self.forceTickle = True
|
||||||
|
self._tickle(irc)
|
||||||
|
weblink = wrap(weblink, ['user'])
|
||||||
|
|
||||||
def summary(self, irc, msg, args, channel):
|
def summary(self, irc, msg, args, channel):
|
||||||
"""[<channel>]
|
"""[<channel>]
|
||||||
|
|
||||||
@ -2166,7 +2184,7 @@ class ChanTracker(callbacks.Plugin, plugins.ChannelDBHandler):
|
|||||||
copy <channelSource> <channelMode> elements in <channelTarget> on <targetMode>; <-1> or empty means forever"""
|
copy <channelSource> <channelMode> elements in <channelTarget> on <targetMode>; <-1> or empty means forever"""
|
||||||
op = ircdb.makeChannelCapability(target, 'protected')
|
op = ircdb.makeChannelCapability(target, 'protected')
|
||||||
if not ircdb.checkCapability(msg.prefix, op):
|
if not ircdb.checkCapability(msg.prefix, op):
|
||||||
irc.replyError('you are missing %s,op capability' % target)
|
irc.errorNoCapability('%s,op' % target)
|
||||||
return
|
return
|
||||||
chan = self.getChan(irc, channel)
|
chan = self.getChan(irc, channel)
|
||||||
targets = set([])
|
targets = set([])
|
||||||
|
@ -15,6 +15,14 @@ channels = [] # empty to allow view of all channels recorded, otherwise restrict
|
|||||||
auth = '%s:%s' % (username,password)
|
auth = '%s:%s' % (username,password)
|
||||||
base64string = base64.b64encode(auth.encode('utf-8')).decode('utf-8')
|
base64string = base64.b64encode(auth.encode('utf-8')).decode('utf-8')
|
||||||
|
|
||||||
|
def weblink():
|
||||||
|
weblink = host
|
||||||
|
if standalone:
|
||||||
|
weblink += ':%s' % port
|
||||||
|
else:
|
||||||
|
weblink += webpath
|
||||||
|
weblink += '/?hash=%s' % base64string
|
||||||
|
return weblink
|
||||||
|
|
||||||
def timeElapsed(elapsed, short=False, leadingZeroes=False, years=True,
|
def timeElapsed(elapsed, short=False, leadingZeroes=False, years=True,
|
||||||
weeks=True, days=True, hours=True, minutes=True, seconds=True):
|
weeks=True, days=True, hours=True, minutes=True, seconds=True):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user