def ticket(cmd, idx): proxy = xmlrpclib.ServerProxy(app.config['TRAC_URL']) info, error, url = None, None, None try: idx, created_at, changed_at, info = proxy.ticket.get(idx) except xmlrpclib.Fault as err: error = err.faultString else: items = list(urlparse.urlsplit(app.config['TRAC_URL'])) items[1] = items[1].split('@')[-1] items[2] = 'ticket/%d' % idx url = urlparse.urlunsplit(items) return render_template('ticket.html', info=info, error=error, url=url)
def tell(cmd, nick, message): if request.type == 'groupchat': to_jid = JID(request.jid) to_jid.resource = nick from_jid = request.username else: to_jid = nick from_jid = request.environ['xmpp.jid'] ts = datetime.datetime.utcfromtimestamp(request.environ['xmpp.timestamp']) MESSAGE_QUEUE[to_jid].put(( 'message', {'to': to_jid, 'body': '[%sZ] %s: %s' % (ts, from_jid, message)} )) return render_template('tell.html')
def tell(cmd, nick, message): if request.type == 'groupchat': to_jid = JID(request.jid) to_jid.resource = nick from_jid = request.username else: to_jid = nick from_jid = request.environ['xmpp.jid'] ts = datetime.datetime.utcfromtimestamp(request.environ['xmpp.timestamp']) MESSAGE_QUEUE[to_jid].put(('message', { 'to': to_jid, 'body': '[%sZ] %s: %s' % (ts, from_jid, message) })) return render_template('tell.html')
def tell(nick, message, **kwargs): """Sends to the specified user the message when he becomes available""" if request.type == 'groupchat': to_jid = JID(request.jid) to_jid.resource = nick from_jid = request.username else: to_jid = nick from_jid = request.environ['xmpp.jid'] ts = datetime.datetime.utcfromtimestamp(request.environ['xmpp.timestamp']) MESSAGE_QUEUE[to_jid].put(( 'message', {'to': to_jid, 'body': '[%sZ] %s: %s' % (ts, from_jid, message)} )) return render_template('tell.html')
def version(cmd, user=None): info = None if request.type == 'groupchat': if user is None: jid = request.jid user = jid.user else: jid = copy(request.jid) jid.resource = user elif user: info = None user = None else: jid = request.jid user = jid.user if user: info = yield 'version', {'jid': jid} if info and not any(info.values()): info = None yield render_template('version.html', info=info, user=user)
def revision(cmd, rev): if pysvn is None: app.logger.error('pysvn package not found') return res, err = None, None try: log = svn.log(app.config['SVN_REPO_URL'], revision_start=pysvn.Revision( pysvn.opt_revision_kind.number, rev), limit=1) except pysvn.ClientError: err = 'No such revision %s' % rev else: if not log: err = 'No such revision %s' % rev else: offset = int(time.time()) - int(time.mktime(time.gmtime())) res = dict(log[0].items()) res['revision'] = res['revision'].number res['url'] = app.config['SVN_REV_URL'] % res['revision'] res['date'] = datetime.datetime.fromtimestamp( int(res['date']) - offset).isoformat(sep=' ') + 'Z' return render_template('revision.html', info=res, error=err)
def version(user=None, **kwargs): """Returns the user version info (XEP-0092)""" info = None if request.type == 'groupchat': if user is None: jid = request.jid user = jid.user else: jid = copy(request.jid) jid.resource = user elif user: info = None user = None else: jid = request.jid user = jid.user if user: info = yield 'version', {'jid': jid} if info and not any(info.values()): info = None yield render_template('version.html', info=info, user=user)
def ping(cmd): return render_template('ping.html')
def test(cmd): return render_template('test.html')
def beer(cmd, nick, lang): return render_template('beer.html')
def ping(): return render_template('ping.html')
def ping(**kwargs): """Not implemented right yet""" return render_template('ping.html')
def ping_user(user): return render_template('ping.html', user=user)
def template_not_found(): return render_template('template_not_found.html')
def message_for_test(): return render_template('message_for_test.html')
def test(**kwargs): """Simple test command""" return render_template('test.html')