parameters: (resources_root, rules)
return_statement: return destinations
docstring: Find destinations for resources files
docstring_summary: Find destinations for resources files
docstring_tokens: Find destinations for resources files
function: def get_resources_dests(resources_root, rules):
      """Find destinations for resources files"""
  
      def get_rel_path(root, path):
          # normalizes and returns a lstripped-/-separated path
          root = root.replace(os.path.sep, '/')
          path = path.replace(os.path.sep, '/')
          assert path.startswith(root)
          return path[len(root):].lstrip('/')
  
      destinations = {}
      for base, suffix, dest in rules:
          prefix = os.path.join(resources_root, base)
          for abs_base in iglob(prefix):
              abs_glob = os.path.join(abs_base, suffix)
              for abs_path in iglob(abs_glob):
                  resource_file = get_rel_path(resources_root, abs_path)
                  if dest is None:  # remove the entry if it was here
                      destinations.pop(resource_file, None)
                  else:
                      rel_path = get_rel_path(abs_base, abs_path)
                      rel_dest = dest.replace(os.path.sep, '/').rstrip('/')
                      destinations[resource_file] = rel_dest + '/' + rel_path
      return destinations
function_tokens: def get_resources_dests ( resources_root , rules ) : def get_rel_path ( root , path ) : # normalizes and returns a lstripped-/-separated path root = root . replace ( os . path . sep , '/' ) path = path . replace ( os . path . sep , '/' ) assert path . startswith ( root ) return path [ len ( root ) : ] . lstrip ( '/' ) destinations = { } for base , suffix , dest in rules : prefix = os . path . join ( resources_root , base ) for abs_base in iglob ( prefix ) : abs_glob = os . path . join ( abs_base , suffix ) for abs_path in iglob ( abs_glob ) : resource_file = get_rel_path ( resources_root , abs_path ) if dest is None : # remove the entry if it was here destinations . pop ( resource_file , None ) else : rel_path = get_rel_path ( abs_base , abs_path ) rel_dest = dest . replace ( os . path . sep , '/' ) . rstrip ( '/' ) destinations [ resource_file ] = rel_dest + '/' + rel_path return destinations