Source

CherryPy / tools / linefeed.py

#! /usr/bin/env python
"Replace CRLF with LF cherrypy files.  Print names of changed files."

import sys, os
import glob, os.path
import re

def main():
    scriptdir = os.path.split(sys.argv[0])[0]
    basepath = os.path.split(scriptdir)[0]
    filelist = []
    for directory in ['/tools','/cherrypy','/cherrypy/lib/filter','/',
                      '/cherrypy/filters','/cherrypy/lib','/cherrypy/test',
                      '/cherrypy/tutorial']:
        filelist.extend(glob.glob(basepath+directory+'/*.py'))
        filelist.extend(glob.glob(basepath+directory+'/*.conf'))
        filelist.extend(glob.glob(basepath+directory+'/*.txt'))
    for filename in filelist:
        if os.path.isdir(filename):
            print filename, "Directory!"
            continue
        data = open(filename, "rb").read()
        if '\0' in data:
            print filename, "Binary!"
            continue
        if os.path.splitext(filename)[1].lower() == '.txt':
            newdata = data.replace('\n','\r\n')
        else:
            newdata = data.replace('\r\n','\n')
        if newdata != data:
            print filename
            f = open(filename, "wb")
            f.write(newdata)
            f.close()

if __name__ == '__main__':
    main()
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.