Skip to content

Instantly share code, notes, and snippets.

import inspect
from typing import Callable, Generator, Awaitable, TypeVar, Union
YieldType = TypeVar("YieldType")
SendType = TypeVar("SendType")
ReturnType = TypeVar("ReturnType")
def friendly_generator_decorator(
genfunction: Callable[..., Generator[YieldType, SendType, ReturnType]],
handler: Callable[[YieldType], Union[Awaitable[SendType], SendType]],
johtso /
Created May 27, 2016
Output counts of URLs scanned on URLTeam project
import sys
import json
import websocket
ws = websocket.create_connection('ws://')
username = sys.argv[1]
while True:
data = json.loads(ws.recv()).get('live_new')
View gist:d0b9111f7c28232eb86a
getdirentries64(0x6, 0x7FD7728E2A00, 0x1000) = 1192 0
close_nocancel(0x6) = 0 0
fstat64(0x5, 0x7FFF50CE06D0, 0x1000) = 0 0
fstat64(0x5, 0x7FFF50CE0720, 0x1000) = 0 0
open_nocancel("/Users/human/.virtualenvs/main/lib/python2.7/site-packages/salt/renderers/mako.pyc\0", 0x0, 0x1B6) = 6 0
fstat64(0x6, 0x7FFF50CE04F8, 0x1B6) = 0 0
read_nocancel(0x6, "\003\363\r\nK\2012Tc\0", 0x1000) = 1282 0
fstat64(0x6, 0x7FFF50CE0608, 0x1000) = 0 0
read_nocancel(0x6, "\n .hostmask: IPv4Address('')\n .broadcast: IPv4Address('')\n .netmask: IPv4Address('')\n .prefixlen: 27\n\n i\377\0", 0x1000) = 0 0
close_nocancel(0x6) = 0 0

Keybase proof

I hereby claim:

  • I am johtso on github.
  • I am johtso ( on keybase.
  • I have a public key whose fingerprint is 480D 27DC 20A4 E61E F849 037C 581B 992E 7F19 4964

To claim this, I am signing this object:

View gist:8508577
from import App
from kivy.uix.button import Button
from android import activity
__version__ = '0.0.1'
class MyApp(App):
def __init__(self, *args, **kwargs):
super(MyApp, self).__init__(*args, **kwargs)
View gist:8503195
Entering in ARM enviromnent
Compiler found at /Users/human/.buildozer/android/platform/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin//arm-linux-androideabi-gcc
/Users/human/Code/kivy/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/distutils/ UserWarning: Unknown distribution option: 'install_requires'
running build_ext
building 'jnius' extension
creating build
creating build/temp.macosx-10.4-x86_64-2.7
creating build/temp.macosx-10.4-x86_64-2.7/jnius
arm-linux-androideabi-gcc -DANDROID -mandroid -fomit-frame-pointer --sysroot /Users/human/.buildozer/android/platform/android-ndk-r9/platforms/android-14/arch-arm -DNDEBUG -DANDROID -mandroid -fomit-frame-pointer --sysroot /Users/human/.buildozer/android/platform/android-ndk-r9/platforms/android-14/arch-arm -I/Users/human/Code/kivy/.buildozer/android/platform/python-for-android/build/python-install/include/python2.7 -c jnius/jnius.c -o build/temp.macosx-10.4-x86_64
johtso / gist:5881137
Last active Feb 18, 2021
Django Rest Framework underscore <-> camelcase conversion
View gist:5881137
import re
from rest_framework import serializers, renderers, parsers
class JSONRenderer(renderers.JSONRenderer):
def render(self, data, *args, **kwargs):
if data:
data = recursive_key_map(underscore_to_camelcase, data)
return super(JSONRenderer, self).render(data, *args, **kwargs)
View win.kml
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="">
<name>a name</name>
<description>Here are multiple maps displayed in one</description>
View gist:1482026
class MultiLoader(object):
def __init__(self):
self.d = {}
def load(self, values):
for k, v in zip(self.keys, values):
if k:
self.d[k] = self.process(k, v)
def process(self, key, value):
johtso /
Created Dec 10, 2011
load_object monkeypatch
def load_object(path):
"""Load an object given its absolute object path, and return it.
object can be a class, function, variable o instance.
path ie: 'scrapy.contrib.downloadermiddelware.redirect.RedirectMiddleware'
# monkeypatch
if not isinstance(path, basestring):
return path