(self, content, keyword_str)
return re.sub(r"\$(%s):(:?)([^\$]+)\$" % '|'.join(keywords), repl, content)
Collapses SVN keywords.
Collapses SVN keywords.
Collapses SVN keywords .
def _CollapseKeywords(self, content, keyword_str):
    """Collapses SVN keywords."""
    # svn cat translates keywords but svn diff doesn't. As a result of this
    # behavior patching.PatchChunks() fails with a chunk mismatch error.
    # This part was originally written by the Review Board development team
    # who had the same problem (http://reviews.review-board.org/r/276/).
    # Mapping of keywords to known aliases
    svn_keywords = {
      # Standard keywords
      'Date':                ['Date', 'LastChangedDate'],
      'Revision':            ['Revision', 'LastChangedRevision', 'Rev'],
      'Author':              ['Author', 'LastChangedBy'],
      'HeadURL':             ['HeadURL', 'URL'],
      'Id':                  ['Id'],

      # Aliases
      'LastChangedDate':     ['LastChangedDate', 'Date'],
      'LastChangedRevision': ['LastChangedRevision', 'Rev', 'Revision'],
      'LastChangedBy':       ['LastChangedBy', 'Author'],
      'URL':                 ['URL', 'HeadURL'],
    }

    def repl(m):
       if m.group(2):
         return "$%s::%s$" % (m.group(1), " " * len(m.group(3)))
       return "$%s$" % m.group(1)
    keywords = [keyword
                for name in keyword_str.split(" ")
                for keyword in svn_keywords.get(name, [])]
    return re.sub(r"\$(%s):(:?)([^\$]+)\$" % '|'.join(keywords), repl, content)
def _CollapseKeywords ( self , content , keyword_str ) : # svn cat translates keywords but svn diff doesn't. As a result of this # behavior patching.PatchChunks() fails with a chunk mismatch error. # This part was originally written by the Review Board development team # who had the same problem (http://reviews.review-board.org/r/276/). # Mapping of keywords to known aliases svn_keywords = { # Standard keywords 'Date' : [ 'Date' , 'LastChangedDate' ] , 'Revision' : [ 'Revision' , 'LastChangedRevision' , 'Rev' ] , 'Author' : [ 'Author' , 'LastChangedBy' ] , 'HeadURL' : [ 'HeadURL' , 'URL' ] , 'Id' : [ 'Id' ] , # Aliases 'LastChangedDate' : [ 'LastChangedDate' , 'Date' ] , 'LastChangedRevision' : [ 'LastChangedRevision' , 'Rev' , 'Revision' ] , 'LastChangedBy' : [ 'LastChangedBy' , 'Author' ] , 'URL' : [ 'URL' , 'HeadURL' ] , } def repl ( m ) : if m . group ( 2 ) : return "$%s::%s$" % ( m . group ( 1 ) , " " * len ( m . group ( 3 ) ) ) return "$%s$" % m . group ( 1 ) keywords = [ keyword for name in keyword_str . split ( " " ) for keyword in svn_keywords . get ( name , [ ] ) ] return re . sub ( r"\$(%s):(:?)([^\$]+)\$" % '|' . join ( keywords ) , repl , content )