mercurial/templater.py
changeset 45200 4e9b39033d3f
parent 45199 91aa9bba3dc9
child 45209 8ec3062b7047
equal deleted inserted replaced
45199:91aa9bba3dc9 45200:4e9b39033d3f
  1055     if f and os.path.exists(f):
  1055     if f and os.path.exists(f):
  1056         return f
  1056         return f
  1057     return None
  1057     return None
  1058 
  1058 
  1059 
  1059 
  1060 def stylemap(styles, paths=None):
  1060 def stylemap(styles, path=None):
  1061     """Return path to mapfile for a given style.
  1061     """Return path to mapfile for a given style.
  1062 
  1062 
  1063     Searches mapfile in the following locations:
  1063     Searches mapfile in the following locations:
  1064     1. templatepath/style/map
  1064     1. templatepath/style/map
  1065     2. templatepath/map-style
  1065     2. templatepath/map-style
  1066     3. templatepath/map
  1066     3. templatepath/map
  1067     """
  1067     """
  1068 
  1068 
  1069     if paths is None:
  1069     if path is None:
  1070         paths = [templatedir()]
  1070         path = templatedir()
  1071     elif isinstance(paths, bytes):
       
  1072         paths = [paths]
       
  1073 
  1071 
  1074     if isinstance(styles, bytes):
  1072     if isinstance(styles, bytes):
  1075         styles = [styles]
  1073         styles = [styles]
  1076 
  1074 
  1077     for style in styles:
  1075     for style in styles:
  1085         ):
  1083         ):
  1086             continue
  1084             continue
  1087         locations = [os.path.join(style, b'map'), b'map-' + style]
  1085         locations = [os.path.join(style, b'map'), b'map-' + style]
  1088         locations.append(b'map')
  1086         locations.append(b'map')
  1089 
  1087 
  1090         for path in paths:
  1088         for location in locations:
  1091             for location in locations:
  1089             mapfile = os.path.join(path, location)
  1092                 mapfile = os.path.join(path, location)
  1090             if os.path.isfile(mapfile):
  1093                 if os.path.isfile(mapfile):
  1091                 return style, mapfile
  1094                     return style, mapfile
  1092 
  1095 
  1093     raise RuntimeError(b"No hgweb templates found in %r" % path)
  1096     raise RuntimeError(b"No hgweb templates found in %r" % paths)