Skip to content

Instantly share code, notes, and snippets.

@puentesarrin
puentesarrin / blocking_vertx.py
Last active August 29, 2015 14:01
vert.x: Samples of blocking and non-blocking Python Web Server
import time
import vertx
server = vertx.create_http_server()
@server.request_handler
def request_handler(req):
if request.uri == '/sleep':
time.sleep(60 * 1)
@puentesarrin
puentesarrin / qualname.py
Created February 18, 2014 20:46
__qualname__
# http://www.python.org/dev/peps/pep-0395/
if sys.version_info >= (3, 3):
def qualname(obj):
if not hasattr(obj, '__name__') and hasattr(obj, '__class__'):
return qualname(obj.__class__)
return '.'.join((obj.__module__,
getattr(obj, '__qualname__', None) or obj.__name__))
else:
def qualname(obj):
@puentesarrin
puentesarrin / gist:8290754
Created January 6, 2014 22:13
Python alternative installation
$ cd /usr/local/src
$ wget http://www.python.org/ftp/python/3.4.0/Python-3.4.0b2.tgz
$ tar -xzf Python-3.4.0b2.tgz Python-3.4.0b2
$ cd Python-3.4.0b2
$ ./configure --enable-shared --prefix=/usr/local
$ make
$ make altinstall
$ python3.4
@puentesarrin
puentesarrin / xxd.py
Created September 15, 2013 02:15
Basic xxd command using Python
# -*- coding: utf-8 -*-
import os.path
import string
import sys
def print_buf(counter, buf):
buf2 = [('%02x' % ord(i)) for i in buf]
print '{0}: {1:<39} {2}'.format(('%07x' % (counter * 16)),
' '.join([''.join(buf2[i:i + 2]) for i in range(0, len(buf2), 2)]),
@puentesarrin
puentesarrin / bonzo_sample.py
Created August 26, 2013 02:21
Bonzo sample
import tornado.ioloop
import email
from bonzo.smtpserver import SMTPServer
def receive_message(message):
print "New received message: "
print "From: " + message['from']
print "Subject: " + message['subject']
# -*- coding: utf-8 *-*
import logging
import motor
import pymongo
from mongolog.handlers import MongoHandler
from tornado import ioloop, options, web
from tornado.options import options as opts
@puentesarrin
puentesarrin / index.html
Created April 5, 2013 18:14
TornadoMail demo using a tornado.template.Loader.
<html>
<head>
<title>TornadoMail Demo</title>
</head>
<body>
<form method="post" action="/">
<input type="text" name="subject"/>
<input type="text" name="email"/>
<input type="submit" value="Send message"/>
</form>
@puentesarrin
puentesarrin / demo.conf
Created April 1, 2013 18:16
Tornado, auto reloading/parsing options when config file is modified.
greeting = 'Hello, World'
<html>
<body>
<p>
Current user: <strong>{{ current_user }}</strong>
</p>
<a href="/logout">Logout</a>
</body>
</html>
import toro
from tornado import ioloop, gen, web
q = toro.JoinableQueue()
@gen.engine
def consumer():