view mercurial/fancyopts.py @ 585:51626d888526

[PATCH] Changelogentry template cleanup -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 [PATCH] Changelogentry template cleanup From: Edouard Gomez <edouard.gomez@gmail.com> Changelogentry template cleanup Removed unuseful outside div (was probably used to carry the parity class, it's no use, multiple css classes can be assigned to the inner table instead) Removed all hardwired styles in html tags. The style has been externalized to equivalent CSS classes. The inner table is now assigned the parity CSS class. Changed all relevant table cells from td to th. Added classes to all cells in order to give some semantic rationale to these table cells. manifest hash: 2835217df09be445961b865be166c2470173ba58 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCx1g5ywK+sNU5EO8RAhKGAKCWAHrx+lLMAXjd4/vgvG7vmfSkAACfTZ+m /EyUsDVaYeVcGzFsp8liReI= =vt2N -----END PGP SIGNATURE-----
author mpm@selenic.com
date Sat, 02 Jul 2005 19:15:05 -0800
parents f9ad1a2c72eb
children 9a8daeff0ffa
line wrap: on
line source

import os, getopt

def fancyopts(args, options, state, syntax='', minlen = 0):
    long=[]
    short=''
    map={}
    dt={}

    for s, l, d, c in options:
        map['-'+s] = map['--'+l]=l
        state[l] = d
        dt[l] = type(d)
        if not d is None and not callable(d): s, l=s+':', l+'='
        if s: short = short + s
        if l: long.append(l)

    if os.environ.has_key("HG_OPTS"):
        args = os.environ["HG_OPTS"].split() + args

    opts, args = getopt.getopt(args, short, long)

    for opt, arg in opts:
        if dt[map[opt]] is type(fancyopts): state[map[opt]](state,map[opt],arg)
        elif dt[map[opt]] is type(1): state[map[opt]] = int(arg)
        elif dt[map[opt]] is type(''): state[map[opt]] = arg
        elif dt[map[opt]] is type([]): state[map[opt]].append(arg)
        elif dt[map[opt]] is type(None): state[map[opt]] = 1

    return args