code: def GetLocalPath(self, inode, cache, database):
      
      local_path = cache.GetResults('local_path')
      if not local_path:
        results = database.Query(self.LOCAL_PATH_CACHE_QUERY)
  
        cache.CacheQueryResults(
            results, 'local_path', 'child_inode_number',
            ('parent_inode_number', 'filename'))
        local_path = cache.GetResults('local_path')
  
      parent, path = local_path.get(inode, [None, None])
  
      # TODO: Read the local_sync_root from the sync_config.db and use that
      # for a root value.
      root_value = '%local_sync_root%/'
  
      if not path:
        return root_value
  
      paths = []
      while path:
        paths.append(path)
        parent, path = local_path.get(parent, [None, None])
  
      if not paths:
        return root_value
  
      # Paths are built top level to root so we need to reverse the list to
      # represent them in the traditional order.
      paths.reverse()
      return root_value + '/'.join(paths)
docs: Return local path for a given inode.
  
      Args:
        inode (int): inode number for the file.
        cache (SQLiteCache): cache.
        database (SQLiteDatabase): database.
  
      Returns:
        str: full path, including the filename of the given inode value.