Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. import random
  2. import yaml
  3.  
  4. class Config:
  5. @classmethod
  6. def register(cls, key):
  7. return property(
  8. lambda self: self.yaml[key],
  9. lambda self, value: self.save(key, value),
  10. )
  11.  
  12. def __init__(self, path):
  13. self.path = path
  14.  
  15. with open(self.path) as file:
  16. self.yaml = yaml.load(file)
  17.  
  18. def save(self, key, value):
  19. if key in self.yaml and self.yaml[key] == value:
  20. return
  21.  
  22. self.yaml[key] = value
  23. with open(self.path, 'w') as file:
  24. file.write(yaml.dump(self.yaml, default_flow_style=False))
  25.  
  26. Config.val1 = Config.register('val1')
  27. Config.val2 = Config.register('val2')
  28. Config.val3 = Config.register('val3')
  29.  
  30. config = Config('config.yaml')
  31.  
  32. print('val1')
  33. print('before:', config.val1)
  34. config.val1 = random.random()
  35. print('after:', config.val1)
  36. print('--------------------')
  37. print('val2')
  38. print('before:', config.val2)
  39. config.val2 = random.random()
  40. print('after:', config.val2)
  41. print('--------------------')
  42. print('val3')
  43. print('before:', config.val3)
  44. config.val3 = random.random()
  45. print('after:', config.val3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement