hgext/win32text.py
author Frank Kingswood <frank@kingswood-consulting.co.uk>
Mon, 24 Jul 2006 23:06:05 -0700
changeset 2666 ebf033bc8eb2
parent 1300 e58b1c9a0dec
child 4858 30762680fcd2
permissions -rw-r--r--
hgweb: Configurable zebra stripes With this change, you can set [web] stripes=3 to get stripes every three lines (a-la fanfold paper), instead of every line on source and directory listings. The default behaviour is stripes=1 which generates output similar to current, and you can also turn stripes off by setting it to 0.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1297
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     1
import mercurial.util
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     2
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     3
def dumbdecode(s, cmd):
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     4
    return s.replace('\n', '\r\n')
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     5
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     6
def dumbencode(s, cmd):
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     7
    return s.replace('\r\n', '\n')
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     8
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     9
def clevertest(s, cmd):
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    10
    if '\0' in s: return False
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    11
    return True
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    12
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    13
def cleverdecode(s, cmd):
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    14
    if clevertest(s, cmd):
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    15
        return dumbdecode(s, cmd)
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    16
    return s
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    17
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    18
def cleverencode(s, cmd):
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    19
    if clevertest(s, cmd):
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    20
        return dumbencode(s, cmd)
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    21
    return s
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    22
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    23
mercurial.util.filtertable.update({
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    24
    'dumbdecode:': dumbdecode,
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    25
    'dumbencode:': dumbencode,
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    26
    'cleverdecode:': cleverdecode,
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    27
    'cleverencode:': cleverencode,
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    28
    })