View characters.py
print(__import__('random').choice(__import__('sys').stdin.read().strip())) |
View clarinet.py
#!/usr/bin/env python3 | |
import os | |
import sys | |
import textwrap | |
import time | |
def usage(): | |
print(textwrap.dedent(""" | |
Usage: {} <pipepath> |
View lazydict.py
class LazyDict: | |
'''Use a 2-tuple generator as a lazily-evaluated dictionary.''' | |
def __init__(self, gen): | |
self.gen = gen | |
self.dict = {} | |
def _generate_to(self, key): | |
while key not in self.dict: | |
found_key, found_val = next(self.gen) | |
self.dict[found_key] = found_val |
View open.py
#!/usr/bin/env python3 | |
import re | |
import subprocess | |
import sys | |
if len(sys.argv) < 2: | |
print("Usage: {} <findregex> [pythonregex]...") | |
sys.exit() |
View testable.py
import builtins | |
def testable(f): | |
def run_test(test): | |
print(test.__doc__) | |
args = {name: value for (name, value) in test.__annotations__.items() | |
if name != 'return'} | |
assert f(**args) == test.__annotations__['return'] | |
return test | |
f.test = run_test |
View edrename.py
#!/usr/bin/env python3 | |
import os | |
import subprocess | |
import tempfile | |
EDITOR = os.environ.get('EDITOR', 'vim') | |
def input_new_names(old_names): | |
with tempfile.NamedTemporaryFile(suffix='.tmp') as fname_file: |
View youtube-terminal.py
#!/usr/bin/env python3 | |
from os import system | |
from sys import argv | |
# Example: | |
# youtube-terminal.py foo bar baz | |
# calls youtube-dl 'ytsearch:foo bar baz' --max-downloads 1 -o - | cvlc - --no-video | |
call_str = 'youtube-dl "ytsearch:{}" --max-downloads 1 -o -' | |
call_str += ' | cvlc - --no-video --play-and-exit' |
View easy_passwords.py
# Generate passwords which can be typed without using any finger to press two | |
# different keys in a row. | |
# For each finger, write the letters *you* type with that finger. | |
finger_classes = [ | |
'qaz', | |
'wsx', | |
'edc', | |
'rfvtgbc', | |
'yhnujmb', |
View pyaccum.py
import functools | |
def accumulate(accum_type): | |
def outer_wrapper(f): | |
@functools.wraps(f) | |
def inner_wrapper(*args, **kwds): | |
return accum_type(iter(f(*args, **kwds))) | |
return inner_wrapper | |
return outer_wrapper |