diff options
| author | Thomas Kluyver <takowl@gmail.com> | 2013-01-13 15:23:46 +0000 |
|---|---|---|
| committer | Thomas Kluyver <takowl@gmail.com> | 2013-01-13 15:23:46 +0000 |
| commit | 8ac7a65685ffe58529087bbe5a0063d1e0168f5c (patch) | |
| tree | c25e5bac9f8c51627f2f9f1c9fa8380d075f7841 /weatbag/items | |
| parent | d327e21c9c8fec8dea82035e87bfd1a3ba2b813c (diff) | |
New framework to allow combining items.
Diffstat (limited to 'weatbag/items')
| -rw-r--r-- | weatbag/items/__init__.py | 26 | ||||
| -rw-r--r-- | weatbag/items/unlit_torch.py | 6 |
2 files changed, 32 insertions, 0 deletions
diff --git a/weatbag/items/__init__.py b/weatbag/items/__init__.py new file mode 100644 index 0000000..3d0922f --- /dev/null +++ b/weatbag/items/__init__.py @@ -0,0 +1,26 @@ +from importlib import import_module +from types import ModuleType + +def get_item_module(name): + """Returns the module for that item, or a blank module if no module exists. + """ + name = name.replace(' ','_') + try: + return import_module('weatbag.items.' + name) + except ImportError: + return ModuleType(name, "Dummy Module") + + +def _combine(item1, item2): + "Try combining items one way" + try: + return get_item_module(item1).combine(item2) + except AttributeError: + pass + +def combine(item1, item2): + "Try combining items either way round." + results = _combine(item1, item2) + if results is None: + results = _combine(item2, item1) + return results diff --git a/weatbag/items/unlit_torch.py b/weatbag/items/unlit_torch.py new file mode 100644 index 0000000..1f313ca --- /dev/null +++ b/weatbag/items/unlit_torch.py @@ -0,0 +1,6 @@ +def combine(other): + if other == 'match': + print("The torch sputters into life.") + return ['flaming torch'] + + return None |
