Changeset 411 in tailor


Ignore:
Timestamp:
07/07/05 03:24:43 (8 years ago)
Author:
lele@…
Hash name:
20050707012443-97f81-ce365f345b0afdab91f4ce17d57459be20666c68
Message:

Move the translation of illegal chars into the function that applies it

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vcpx/svn.py

    r410 r411  
    1919SVN_CMD = "svn" 
    2020 
    21 import string 
    22 allbadchars="\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0B\x0C\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x7f" 
    23 TT = string.maketrans(allbadchars, "?"*len(allbadchars)) 
    24  
    2521def changesets_from_svnlog(log, url, repository, module): 
    26     from xml.sax import parse 
     22    from xml.sax import parseString 
    2723    from xml.sax.handler import ContentHandler 
    2824    from changes import ChangesetEntry, Changeset 
    2925    from datetime import datetime 
     26    from string import maketrans 
    3027 
    3128    def get_entry_from_path(path, module=module): 
     
    162159 
    163160 
     161    # Apparently some (SVN repo contains)/(SVN server dumps) some characters that 
     162    # are illegal in an XML stream. This was the case with Twisted Matrix master 
     163    # repository. To be safe, we replace all of them with a question mark. 
     164     
     165    allbadchars = "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0B\x0C\x0E\x0F\x10\x11" \ 
     166                  "\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x7f" 
     167    tt = maketrans(allbadchars, "?"*len(allbadchars)) 
    164168    handler = SvnXMLLogHandler() 
    165     parseString(log.read(), handler) 
     169    parseString(log.read().translate(tt), handler) 
    166170    return handler.changesets 
    167171 
Note: See TracChangeset for help on using the changeset viewer.