Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(287)

Side by Side Diff: ppapi/generators/idl_outfile.py

Issue 238923007: PPAPI: Format ppapi/thunk using clang-format. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/c/pp_macros.h ('k') | ppapi/generators/idl_thunk.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """ Output file objects for generator. """ 6 """ Output file objects for generator. """
7 7
8 import difflib 8 import difflib
9 import os 9 import os
10 import time 10 import time
11 import subprocess
11 import sys 12 import sys
12 13
13 from idl_log import ErrOut, InfoOut, WarnOut 14 from idl_log import ErrOut, InfoOut, WarnOut
14 from idl_option import GetOption, Option, ParseOptions 15 from idl_option import GetOption, Option, ParseOptions
15 from stat import * 16 from stat import *
16 17
17 Option('diff', 'Generate a DIFF when saving the file.') 18 Option('diff', 'Generate a DIFF when saving the file.')
18 19
19 20
20 # 21 #
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 # Return the file name 84 # Return the file name
84 def Filename(self): 85 def Filename(self):
85 return self.filename 86 return self.filename
86 87
87 # Append to the output if the file is still open 88 # Append to the output if the file is still open
88 def Write(self, string): 89 def Write(self, string):
89 if not self.open: 90 if not self.open:
90 raise RuntimeError('Could not write to closed file %s.' % self.filename) 91 raise RuntimeError('Could not write to closed file %s.' % self.filename)
91 self.outlist.append(string) 92 self.outlist.append(string)
92 93
94 # Run clang-format on the buffered file contents.
95 def ClangFormat(self):
96 clang_format = subprocess.Popen(['clang-format', '-style=Chromium'],
97 stdin=subprocess.PIPE,
98 stdout=subprocess.PIPE)
99 new_output = clang_format.communicate("".join(self.outlist))[0]
100 self.outlist = [new_output]
101
93 # Close the file, flushing it to disk 102 # Close the file, flushing it to disk
94 def Close(self): 103 def Close(self):
95 filename = os.path.realpath(self.filename) 104 filename = os.path.realpath(self.filename)
96 self.open = False 105 self.open = False
97 outtext = ''.join(self.outlist) 106 outtext = ''.join(self.outlist)
98 oldtext = '' 107 oldtext = ''
99 108
100 if not self.always_write: 109 if not self.always_write:
101 if os.path.isfile(filename): 110 if os.path.isfile(filename):
102 oldtext = open(filename, 'rb').read() 111 oldtext = open(filename, 'rb').read()
(...skipping 13 matching lines...) Expand all
116 # If the directory does not exit, try to create it, if we fail, we 125 # If the directory does not exit, try to create it, if we fail, we
117 # still get the exception when the file is openned. 126 # still get the exception when the file is openned.
118 basepath, leafname = os.path.split(filename) 127 basepath, leafname = os.path.split(filename)
119 if basepath and not os.path.isdir(basepath) and self.create_dir: 128 if basepath and not os.path.isdir(basepath) and self.create_dir:
120 InfoOut.Log('Creating directory: %s\n' % basepath) 129 InfoOut.Log('Creating directory: %s\n' % basepath)
121 os.makedirs(basepath) 130 os.makedirs(basepath)
122 131
123 if not GetOption('test'): 132 if not GetOption('test'):
124 outfile = open(filename, 'wb') 133 outfile = open(filename, 'wb')
125 outfile.write(outtext) 134 outfile.write(outtext)
135 outfile.close();
126 InfoOut.Log('Output %s written.' % self.filename) 136 InfoOut.Log('Output %s written.' % self.filename)
127 return True 137 return True
128 138
129 except IOError as (errno, strerror): 139 except IOError as (errno, strerror):
130 ErrOut.Log("I/O error(%d): %s" % (errno, strerror)) 140 ErrOut.Log("I/O error(%d): %s" % (errno, strerror))
131 except: 141 except:
132 ErrOut.Log("Unexpected error: %s" % sys.exc_info()[0]) 142 ErrOut.Log("Unexpected error: %s" % sys.exc_info()[0])
133 raise 143 raise
134 144
135 return False 145 return False
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 errors += TestFile(filename, stringlist + ['X'], force=False, update=True) 196 errors += TestFile(filename, stringlist + ['X'], force=False, update=True)
187 197
188 # Clean up file 198 # Clean up file
189 os.remove(filename) 199 os.remove(filename)
190 if not errors: InfoOut.Log('All tests pass.') 200 if not errors: InfoOut.Log('All tests pass.')
191 return errors 201 return errors
192 202
193 203
194 if __name__ == '__main__': 204 if __name__ == '__main__':
195 sys.exit(main()) 205 sys.exit(main())
OLDNEW
« no previous file with comments | « ppapi/c/pp_macros.h ('k') | ppapi/generators/idl_thunk.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698