Mercurial > hg-stable
changeset 157:2653740d8118
Install the templates where they can be found by hgweb.py
This ought to use package_data but that doesn't exist in Python 2.3.
So we do a hack of install_data and use glob.
This also adds templatepath() to hgweb.py which finds the templates
relative to hgweb.py's location.
author | mpm@selenic.com |
---|---|
date | Wed, 25 May 2005 16:21:06 -0800 |
parents | 32ce2c5d4d25 |
children | be7103467d2e |
files | mercurial/hgweb.py setup.py |
diffstat | 2 files changed, 19 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hgweb.py Wed May 25 09:04:38 2005 -0800 +++ b/mercurial/hgweb.py Wed May 25 16:21:06 2005 -0800 @@ -13,6 +13,11 @@ import os, cgi, time, re, difflib, sys, zlib from mercurial.hg import * +def templatepath(): + for f in "templates/map", "../templates/map": + p = os.path.join(os.path.dirname(__file__), f) + if os.path.isfile(p): return p + def age(t): def plural(t, c): if c == 1: return t @@ -102,7 +107,9 @@ maxchanges = 20 maxfiles = 10 - def __init__(self, path, name, templatemap): + def __init__(self, path, name, templatemap = ""): + templatemap = templatemap or templatepath() + self.reponame = name self.repo = repository(ui(), path) self.t = templater(templatemap)
--- a/setup.py Wed May 25 09:04:38 2005 -0800 +++ b/setup.py Wed May 25 16:21:06 2005 -0800 @@ -5,7 +5,15 @@ # './setup.py install', or # './setup.py --help' for more options +import glob from distutils.core import setup, Extension +from distutils.command.install_data import install_data + +class install_package_data(install_data): + def finalize_options(self): + self.set_undefined_options('install', + ('install_lib', 'install_dir')) + install_data.finalize_options(self) setup(name='mercurial', version='0.4f', @@ -16,4 +24,7 @@ license='GNU GPL', packages=['mercurial'], ext_modules=[Extension('mercurial.mpatch', ['mercurial/mpatch.c'])], + data_files=[('mercurial/templates', + ['templates/map'] + glob.glob('templates/*.tmpl'))], + cmdclass = { 'install_data' : install_package_data }, scripts=['hg'])