title: LPTHW Ex47 Attribute Error
body: <p>I'm working through LPTHW and am stuck on an attribute error for Ex47. I've looked over this site and searched google for help but can't seem to find anything.</p>
  
  <p>The error I get is this:</p>
  
  <pre><code>  Traceback (most recent call last):
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
      self.test(*self.arg)
    File "/Users/Donatron/temp/My Python Stuff/projects/ex47/tests/ex47_tests.py", line 26, in test_map
      start.add_paths({'west': west, 'down': down})
    File "/Users/Donatron/temp/My Python Stuff/projects/ex47/ex47/game.py", line 12, in add_paths
      self.paths.update(paths)
  AttributeError: 'list' object has no attribute 'update'
  </code></pre>
  
  <p>My "Game" code looks like this:-</p>
  
  <pre><code>class Room(object):
  
  
      def __init__(self, name, description):
          self.name = name
          self.description = description
          self.paths = []
  
      def go(self, direction):
          return self.paths.get(direction, None)
  
      def add_paths(self, paths):
          self.paths.update(paths)
  </code></pre>
  
  <p>And my "test" code looks like this:-</p>
  
  <pre><code>from nose.tools import *
  from ex47.game import Room
  
  def test_room():
      gold = Room("GoldRoom",
                  """This room has gold in it you can grab. There's a
                  door to the north.""")
      assert_equal(gold.name, "GoldRoom")
      assert_equal(gold.paths, [])
  
  def test_room_paths():
      center = Room("Center", "Test room in the center.")
      north = Room("North", "Test room in the north.")
      south = Room("South", "Test room in the south.")
  
      center.add_paths({'north': north, 'south': south})
      assert_equal(center.go('north'), north)
      assert_equal(center.go('south'), south)
  
  def test_map():
      start = Room("Start", "You can go west and down a hole.")
      west = Room("Trees", "There are trees here, you can go east.")
      down = Room("Dungeon", "It's dark down here, you can go up.")
  
      start.add_paths({'west': west, 'down': down})
      west.add_paths({'east': start})
      down.add_paths({'up': start})
  
      assert_equal(start.go('west'), west)
      assert_equal(start.go('west').go('east'), start)
      assert_equal(start.go('down').go('up'), start)
  </code></pre>
  
  <p>This is doing my head in!! Where am I going wrong?</p>
  
  <p>Thanks in advance for any help :-)</p>