Skip to content

Instantly share code, notes, and snippets.

@endofline
endofline / rsws-banned.py
Last active Jul 24, 2017
really simple web server (rsws) serving singlepage.html
View rsws-banned.py
#!/usr/bin/python
import logging
logging.basicConfig(filename='rsws.log',level=logging.DEBUG)
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
class S(BaseHTTPRequestHandler):
def _set_headers(self):
@endofline
endofline / unittest_reportresource.py
Last active Apr 20, 2017
hangoutsbot cpu usage logger
View unittest_reportresource.py
import asyncio
import logging
import time
import os
logger = logging.getLogger(__name__)
import plugins
@endofline
endofline / test_a.py
Created Feb 15, 2017
subverting imported libraries
View test_a.py
# test_a.py
# in the bot, this represents the new hangups library
this_is_a_constant = 'ABCD'
def print_constant():
print(repr(this_is_a_constant))
@endofline
endofline / unittest_memoryusage.py
Created Jul 26, 2015
Rough Memory Usage Estimate for Hangoutsbot
View unittest_memoryusage.py
import logging, os, sys, resource
import psutil # pip3 install psutil
import plugins
logger = logging.getLogger(__name__)
@endofline
endofline / example_presence.py
Created Jul 19, 2015
Hangoutsbot Watermark & Typing Fragment
View example_presence.py
import datetime, time
import hangups
import plugins
def _initialise(bot):
plugins.register_admin_command(["watermark", "typing"])
def watermark(bot, event, *args):
@endofline
endofline / testing_logging.py
Created Jul 8, 2015
[hangoutsbot] stream handler example to dump all logs straight to stdout
View testing_logging.py
import sys, logging
def _initialise(bot):
consoleHandler = logging.StreamHandler(stream=sys.stdout)
format = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
consoleHandler.setFormatter(format)
rootLogger = logging.getLogger()
rootLogger.addHandler(consoleHandler)
@endofline
endofline / testing_convmem.py
Created Jul 2, 2015
Conversation Memory (Alpha)
View testing_convmem.py
import datetime
import plugins
from hangups.ui.utils import get_conv_name
convmem = {}
def _initialise(bot):
_memory_load(bot)
@endofline
endofline / convtools_public.py
Last active Aug 29, 2015
Conversation Tools: Public Channels (Proof of Concept)
View convtools_public.py
import hangups
import plugins
def _initialise(bot):
plugins.register_user_command(["public"])
def public(bot, event, *args):
"""list all available public channels when called without any parameters.
to join a channel, call this command with the desired channel number"""
@endofline
endofline / example_modern.py
Created Apr 21, 2015
functionally-identical hangouts bot plugins (version 2.4 and above)
View example_modern.py
"""standard plugin
more documentation: __wikilink__
"""
import plugins
def _initialise(bot):
plugins.register_admin_command(["noop_standard"])
plugins.register_handler(_handle_nothing)
@endofline
endofline / wolframalpha.py
Created Mar 16, 2015
Experimental Wolfram Alpha Plugin based on billius's original gist
View wolframalpha.py
"""
simple "ask" function for wolfram alpha data
* pip3 install wolframalpha
* get API KEY from http://products.wolframalpha.com/developers/
* put API KEY in config.json:wolframalpha-apikey
"""
import wolframalpha
_internal = {}