Skip to content

Instantly share code, notes, and snippets.

View headsrooms's full-sized avatar
🦊

Pablo Cabezas headsrooms

🦊
  • SNGULAR
  • Madrid
  • 03:16 (UTC +01:00)
View GitHub Profile
@headsrooms
headsrooms / flatten_dict.py
Created October 17, 2017 08:41
Flatten nested dicts
def flatten_dict(d):
def expand(key, value):
if isinstance(value, dict):
return [(key + '.' + k, v) for k, v in flatten_dict(value).items()]
else:
return [(key, value)]
items = [item for k, v in d.items() for item in expand(k, v)]
return dict(items)
@headsrooms
headsrooms / TupleEnum class
Created September 24, 2017 14:07
Useful to generate choices field (tuple of tuples) from Enum
from enum import Enum
class TupleEnum(Enum):
@classmethod
def tuple(cls):
return tuple(((elem.name, elem.value) for elem in cls))
@headsrooms
headsrooms / example.py
Created July 24, 2017 18:23
Python logger as a context manager
import logging
from logger import log_level
def message(self, message):
with log_level(logging.INFO, __name__) as logger:
input_args = [EXECUTABLE_NAME, SEND_COMMAND]
try:
process = subprocess.Popen(input_args,
stdout=subprocess.PIPE,
stdin=subprocess.PIPE,