102 excludeMessages, includeMessages, \ |
102 excludeMessages, includeMessages, \ |
103 repeatMessages, fixCodes, noFixCodes, fixIssues, maxLineLength, \ |
103 repeatMessages, fixCodes, noFixCodes, fixIssues, maxLineLength, \ |
104 hangClosing, docType, errors, eol, encoding, backup = args |
104 hangClosing, docType, errors, eol, encoding, backup = args |
105 |
105 |
106 stats = {} |
106 stats = {} |
107 # avoid 'Encoding declaration in unicode string' exception on Python2 |
|
108 if sys.version_info[0] == 2: |
|
109 if encoding == 'utf-8-bom': |
|
110 enc = 'utf-8' |
|
111 else: |
|
112 enc = encoding |
|
113 source = [line.encode(enc) for line in source] |
|
114 |
|
115 # Don't check an empty file |
107 # Don't check an empty file |
116 if source == []: |
108 if source == []: |
117 return stats, [] |
109 return stats, [] |
118 |
110 |
119 if fixIssues: |
111 if fixIssues: |
123 maxLineLength, True, eol, backup) # always fix in place |
115 maxLineLength, True, eol, backup) # always fix in place |
124 else: |
116 else: |
125 fixer = None |
117 fixer = None |
126 |
118 |
127 if not errors: |
119 if not errors: |
|
120 # avoid 'Encoding declaration in unicode string' exception on Python2 |
|
121 if sys.version_info[0] == 2: |
|
122 if encoding == 'utf-8-bom': |
|
123 enc = 'utf-8' |
|
124 else: |
|
125 enc = encoding |
|
126 source = [line.encode(enc) for line in source] |
|
127 |
128 if includeMessages: |
128 if includeMessages: |
129 select = [s.strip() for s in |
129 select = [s.strip() for s in |
130 includeMessages.split(',') if s.strip()] |
130 includeMessages.split(',') if s.strip()] |
131 else: |
131 else: |
132 select = [] |
132 select = [] |