Skip to content

Instantly share code, notes, and snippets.

@slezica
Created August 20, 2014 19:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save slezica/a27fb82e66c629930e56 to your computer and use it in GitHub Desktop.
Save slezica/a27fb82e66c629930e56 to your computer and use it in GitHub Desktop.
Detect unused keys in configuration dicts
class TrackingDict(dict):
instances = []
def __init__(self, dct):
super(TrackingDict, self).__init__(dct)
self.used_keys = []
TrackingDict.instances.append(self)
def __getitem__(self, key):
self.used_keys.append(key)
return super(TrackingDict, self).__getitem__(key)
@staticmethod
def deadItems():
return [
[key for key in instance if key not in instance.used_keys]
for instance in TrackingDict.instances
]
print TrackingDict.deadItems()
@slezica
Copy link
Author

slezica commented Aug 20, 2014

Posta

  • String mappings con dominio (filename / glob)
  • Eliminar código muerto
  • Pasar de config.py a cson/yaml
  • Nombres ingles vs español vs fruta (drwableh!?)
  • Pasar a env vars posta los "environments" de usuario
  • Abstraer los paths y concatenar paths con os.path.join()
  • Cada archivo se lee y escribe 1 vez por replacement
  • Cambiar if '{' in replacement por format()

Pavadas

  • "drwableh"?
  • paths absolutos confunden
  • "enviroment"?

Dudas

  • Uso excesivo de diccionarios?
  • Quizás usar sh?
  • Excepciones ignoradas?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment