Advertisement
Uno-Dan

Step 2

Sep 7th, 2019
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.71 KB | None | 0 0
  1. cfg = {
  2.     'level_1': {
  3.         'level_2': {
  4.             'item1': 10,
  5.             'item2': 20,
  6.         }
  7.     }
  8. }
  9.  
  10.  
  11. class Cache:
  12.     def __init__(self, **data):
  13.         self.nodes = data
  14.  
  15.     def get(self, uri=None):
  16.  
  17.         def walk(_uri, nodes):
  18.             parts = _uri.split('/', 1)
  19.             key = parts.pop(0)
  20.             if key in nodes:
  21.                 node = nodes[key]
  22.  
  23.                 if not parts:
  24.                     return node
  25.                 elif parts:
  26.                     return walk(parts[0], node)
  27.  
  28.         return walk(uri, self.nodes)
  29.  
  30.     def set(self, uri, value=None):
  31.         self.nodes[uri] = value
  32.  
  33.  
  34. c = cache = Cache(**cfg)
  35.  
  36. print(c.get('level_1/level_2/item1'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement