Skip to content

Instantly share code, notes, and snippets.

import pprint
import sys
import oauth2
from twisted.internet import defer, task
from twisted.web.client import Agent, HTTPConnectionPool
import twits
from ometa.grammar import OMeta
from ometa.interp import TrampolinedGrammarInterpreter
from parsley import makeGrammar
import sys
grammar = """
hex_digit = digit | 'A' | 'B' | 'C' | 'D' | 'E' | 'F'
@habnabit
habnabit / ircbot.py
Last active January 26, 2023 09:09
an example IRC bot using twisted
import sys
from twisted.internet import defer, endpoints, protocol, reactor, task
from twisted.python import log
from twisted.words.protocols import irc
class MyFirstIRCProtocol(irc.IRCClient):
nickname = 'MyFirstIrcBot'
import sqlite3
from collections import defaultdict
DATABASE = 'C:/Misc/myscripts/workprototype/workprototype.db'
conn = sqlite3.connect(database=DATABASE)
curs = conn.cursor()
prod_dict = {}
curs.execute('select name, desc from companies')
# -*- coding: utf-8 -*-
#
# Copyright 2013 Liftoff Software Corporation
#
# For license information see LICENSE.txt
# Meta
__version__ = '1.0.0'
__version_info__ = (1, 0, 0)
__license__ = "Apache 2.0"
@habnabit
habnabit / pkgpurge.py
Created February 26, 2013 07:00
purge packages since pkgutil can't
#!/usr/bin/python
import subprocess
import plistlib
import os.path
import errno
def check_output(cmd, *a, **kw):
proc = subprocess.Popen(cmd, *a, **kw)
stdout, stderr = proc.communicate()
if proc.returncode:
@habnabit
habnabit / tcp-proxy.py
Last active December 11, 2015 22:38 — forked from fiorix/tcp-proxy.py
import sys
from twisted.internet import defer, protocol, task, endpoints
from twisted.python import log
class ProxyClientProtocol(protocol.Protocol):
def connectionMade(self):
log.msg("Client: connected to peer")
@habnabit
habnabit / chatserver.py
Created September 29, 2012 20:10
one expression chatserver
main = lambda port: (lambda dt: (lambda mm: (lambda n: (map(lambda r: (lambda
rr: setattr(n, *rr) if (type(rr) is tuple and len(rr) == 2) else None)(r()),
[lambda: map(setattr, *zip(*[(n, m, __import__(m)) for m in mm.m.decode('ba'
'se64').split()])), lambda: map(n.s['signal.signal'], (n.s['signal.SIGINT'],
n.s['signal.SIGTERM']), [lambda s, f: (n.s['sys.exit']() if n.f else [n.sa(
mm.l[0], n.o)] and n.u('f', True) or n.fc(n.l))] * 2), lambda: setattr(mm,
'l', mm.l.decode('base64').split('~~~')), lambda: ('sw', n.s['types.Functio'
'nType'] (compile("try:\n\tv = n.select.select(n.so, n.w(), [])\nexcept n.s"
"elect.error, e:\n\tif e[0] != n.errno.EINTR: raise\nelse:\n\tn.u('sr', v)",
'', 'exec'), dict(n=n, OSError=OSError))),lambda: ('l', n.s['socket.socket']
@habnabit
habnabit / pygame_twisted.py
Created September 12, 2012 16:50 — forked from RyanHope/pygame_twisted.py
PyGame / Twisted integration with fixed fps screen updating and fast as possible event processing.
#!/usr/bin/env python
from twisted.internet import reactor
from twisted.internet.task import LoopingCall, Cooperator
import pygame
import pygame.font
pygame.display.init()
pygame.font.init()
@habnabit
habnabit / shell.py
Created November 10, 2010 19:28 — forked from gregglind/shell.py
import shlex as shlex_
from subprocess import Popen, PIPE
def shell(args, input=None, stdout=PIPE, stderr=PIPE, shlex=False, **kwargs):
"""Gets the output of a command run in a subprocess.
Arguments:
args: A sequence of strings, or a single string if shlex=True.
input: A string to be written to the process's stdin.
Any extra keyword arguments are forwarded to Popen.