1093 ''' |
1093 ''' |
1094 if templatepath is None: |
1094 if templatepath is None: |
1095 templatepath = templatedir() |
1095 templatepath = templatedir() |
1096 if templatepath is not None or os.path.isabs(name): |
1096 if templatepath is not None or os.path.isabs(name): |
1097 f = os.path.join(templatepath, name) |
1097 f = os.path.join(templatepath, name) |
1098 try: |
1098 return f, open(f, mode='rb') |
1099 return f, open(f, mode='rb') |
|
1100 except EnvironmentError: |
|
1101 return None, None |
|
1102 else: |
1099 else: |
1103 name_parts = pycompat.sysstr(name).split('/') |
1100 name_parts = pycompat.sysstr(name).split('/') |
1104 package_name = '.'.join(['mercurial', 'templates'] + name_parts[:-1]) |
1101 package_name = '.'.join(['mercurial', 'templates'] + name_parts[:-1]) |
1105 try: |
1102 return ( |
1106 return ( |
1103 name, |
1107 name, |
1104 resourceutil.open_resource(package_name, name_parts[-1]), |
1108 resourceutil.open_resource(package_name, name_parts[-1]), |
1105 ) |
1109 ) |
1106 |
1110 except (ImportError, OSError): |
1107 |
1111 return None, None |
1108 def try_open_template(name, templatepath=None): |
|
1109 try: |
|
1110 return open_template(name, templatepath) |
|
1111 except (EnvironmentError, ImportError): |
|
1112 return None, None |