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

Side by Side Diff: experimental/PdfViewer/generate_code.py

Issue 19623007: pdfviewer: fix path shortcuts in python script, use os.path.join() (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 5 months 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 | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 2
3 import os
3 import sys 4 import sys
4 5
5 import datatypes 6 import datatypes
6 from autogen.pdfspec_autogen import * 7 from autogen.pdfspec_autogen import *
7 8
8 # TODO(edisonn): date and some other types are in fact strings, with a custom fo rmat!!! 9 # TODO(edisonn): date and some other types are in fact strings, with a custom fo rmat!!!
9 # TODO(edisonn): refer to page 99 (PDF data types) 10 # TODO(edisonn): refer to page 99 (PDF data types)
10 knowTypes = { 11 knowTypes = {
11 '(any)': ['SkPdfObject*', 'ret', datatypes.CppNull(), 'true', 'use a mapper'], 12 '(any)': ['SkPdfObject*', 'ret', datatypes.CppNull(), 'true', 'use a mapper'],
12 # TODO(edisonn): return constant for undefined 13 # TODO(edisonn): return constant for undefined
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 268
268 enumToCls[cls.fEnum] = cls 269 enumToCls[cls.fEnum] = cls
269 270
270 enumsRoot.sort() 271 enumsRoot.sort()
271 272
272 273
273 # TODO(edisonn): move each .h in it's own file 274 # TODO(edisonn): move each .h in it's own file
274 # write imports 275 # write imports
275 276
276 # write enums 277 # write enums
277 fileEnums = open(sys.argv[1] + 'autogen/SkPdfEnums_autogen.h', 'w') 278 fileEnums = open(os.path.join(sys.argv[1], 'autogen', 'SkPdfEnums_autogen.h' ), 'w')
278 fileEnums.write('#ifndef __DEFINED__SkPdfEnums\n') 279 fileEnums.write('#ifndef __DEFINED__SkPdfEnums\n')
279 fileEnums.write('#define __DEFINED__SkPdfEnums\n') 280 fileEnums.write('#define __DEFINED__SkPdfEnums\n')
280 fileEnums.write('\n') 281 fileEnums.write('\n')
281 282
282 fileEnums.write('enum SkPdfObjectType {\n') 283 fileEnums.write('enum SkPdfObjectType {\n')
283 fileEnums.write(' kNone_SkPdfObjectType = 0,\n') 284 fileEnums.write(' kNone_SkPdfObjectType = 0,\n')
284 for enum in enumsRoot: 285 for enum in enumsRoot:
285 self.writeEnum(fileEnums, enum, enumToCls) 286 self.writeEnum(fileEnums, enum, enumToCls)
286 fileEnums.write('};\n') 287 fileEnums.write('};\n')
287 fileEnums.write('\n') 288 fileEnums.write('\n')
288 289
289 # write forward class declaration 290 # write forward class declaration
290 for name in self.fClassesNamesInOrder: 291 for name in self.fClassesNamesInOrder:
291 fileEnums.write('class SkPdf' + name + ';\n') 292 fileEnums.write('class SkPdf' + name + ';\n')
292 fileEnums.write('\n') 293 fileEnums.write('\n')
293 294
294 fileEnums.write('#endif // __DEFINED__SkPdfEnums\n') 295 fileEnums.write('#endif // __DEFINED__SkPdfEnums\n')
295 fileEnums.close() 296 fileEnums.close()
296 297
297 for name in self.fClassesNamesInOrder: 298 for name in self.fClassesNamesInOrder:
298 cls = self.fClasses[name] 299 cls = self.fClasses[name]
299 enum = cls.fEnum 300 enum = cls.fEnum
300 301
301 nativeFileClass = open(sys.argv[1] + 'native/autogen/SkPdf' + cls.fName + '_autogen.h', 'w') 302 nativeFileClass = open(os.path.join(sys.argv[1], 'native', 'autogen', 'SkP df' + cls.fName + '_autogen.h'), 'w')
302 nativeFileClassCpp = open(sys.argv[1] + 'native/autogen/SkPdf' + cls.fName + '_autogen.cpp', 'w') 303 nativeFileClassCpp = open(os.path.join(sys.argv[1], 'native', 'autogen', ' SkPdf' + cls.fName + '_autogen.cpp'), 'w')
303 304
304 nativeFileClass.write('#ifndef __DEFINED__SkPdf' + cls.fName + '\n') 305 nativeFileClass.write('#ifndef __DEFINED__SkPdf' + cls.fName + '\n')
305 nativeFileClass.write('#define __DEFINED__SkPdf' + cls.fName + '\n') 306 nativeFileClass.write('#define __DEFINED__SkPdf' + cls.fName + '\n')
306 nativeFileClass.write('\n') 307 nativeFileClass.write('\n')
307 308
308 nativeFileClassCpp.write('#include "SkPdf' + cls.fName + '_autogen.h"\n\n' ) 309 nativeFileClassCpp.write('#include "SkPdf' + cls.fName + '_autogen.h"\n\n' )
309 nativeFileClassCpp.write('\n') 310 nativeFileClassCpp.write('\n')
310 311
311 312
312 if cls.fBase == '': 313 if cls.fBase == '':
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 nativeFileClass.write('#endif // __DEFINED__NATIVE_SkPdf' + cls.fName + ' \n') 443 nativeFileClass.write('#endif // __DEFINED__NATIVE_SkPdf' + cls.fName + ' \n')
443 444
444 nativeFileClass.close() 445 nativeFileClass.close()
445 nativeFileClassCpp.close() 446 nativeFileClassCpp.close()
446 447
447 # generate constructor when knowing the type 448 # generate constructor when knowing the type
448 # later, p2, generate constructor when not knowing the type - very similar with parsing? 449 # later, p2, generate constructor when not knowing the type - very similar with parsing?
449 450
450 # generate parser 451 # generate parser
451 # TODO(edisonn): fast recognition based on must attributes. 452 # TODO(edisonn): fast recognition based on must attributes.
452 fileMapperNative = open(sys.argv[1] + 'native/autogen/SkPdfMapper_autogen.h' , 'w') 453 fileMapperNative = open(os.path.join(sys.argv[1], 'native', 'autogen', 'SkPd fMapper_autogen.h'), 'w')
453 fileMapperNativeCpp = open(sys.argv[1] + 'native/autogen/SkPdfMapper_autogen .cpp', 'w') 454 fileMapperNativeCpp = open(os.path.join(sys.argv[1], 'native', 'autogen', 'S kPdfMapper_autogen.cpp'), 'w')
454 455
455 fileMapperNative.write('#ifndef __DEFINED__SkPdfMapper\n') 456 fileMapperNative.write('#ifndef __DEFINED__SkPdfMapper\n')
456 fileMapperNative.write('#define __DEFINED__SkPdfMapper\n') 457 fileMapperNative.write('#define __DEFINED__SkPdfMapper\n')
457 fileMapperNative.write('\n') 458 fileMapperNative.write('\n')
458 459
459 fileMapperNative.write('#include "SkPdfHeaders_autogen.h"\n') 460 fileMapperNative.write('#include "SkPdfHeaders_autogen.h"\n')
460 fileMapperNative.write('#include "SkNativeParsedPDF.h"\n') 461 fileMapperNative.write('#include "SkNativeParsedPDF.h"\n')
461 fileMapperNative.write('#include "SkPdfObject.h"\n') 462 fileMapperNative.write('#include "SkPdfObject.h"\n')
462 463
463 464
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 fileMapperNative.close() 568 fileMapperNative.close()
568 fileMapperNativeCpp.close() 569 fileMapperNativeCpp.close()
569 570
570 return 571 return
571 572
572 def generateCode(): 573 def generateCode():
573 global fileHeadersNative 574 global fileHeadersNative
574 global fileHeadersNativeCpp 575 global fileHeadersNativeCpp
575 global knowTypes 576 global knowTypes
576 577
577 fileHeadersNative = open(sys.argv[1] + 'native/autogen/SkPdfHeaders_autogen.h' , 'w') 578 fileHeadersNative = open(os.path.join(sys.argv[1], 'native', 'autogen', 'SkPdf Headers_autogen.h'), 'w')
578 fileHeadersNativeCpp = open(sys.argv[1] + 'native/autogen/SkPdfHeaders_autogen .cpp', 'w') 579 fileHeadersNativeCpp = open(os.path.join(sys.argv[1], 'native', 'autogen', 'Sk PdfHeaders_autogen.cpp'), 'w')
579 580
580 fileHeadersNative.write('#ifndef __DEFINED__SkPdfHeaders\n') 581 fileHeadersNative.write('#ifndef __DEFINED__SkPdfHeaders\n')
581 fileHeadersNative.write('#define __DEFINED__SkPdfHeaders\n') 582 fileHeadersNative.write('#define __DEFINED__SkPdfHeaders\n')
582 fileHeadersNative.write('\n') 583 fileHeadersNative.write('\n')
583 584
584 fileHeadersNativeCpp.write('#include "SkPdfHeaders_autogen.h"\n') 585 fileHeadersNativeCpp.write('#include "SkPdfHeaders_autogen.h"\n')
585 586
586 manager = PdfClassManager() 587 manager = PdfClassManager()
587 588
588 # these classes are not explicitely backed by a table in the pdf spec 589 # these classes are not explicitely backed by a table in the pdf spec
(...skipping 28 matching lines...) Expand all
617 618
618 fileHeadersNative.write('#endif // __DEFINED__SkPdfHeaders\n') 619 fileHeadersNative.write('#endif // __DEFINED__SkPdfHeaders\n')
619 620
620 fileHeadersNative.close() 621 fileHeadersNative.close()
621 fileHeadersNativeCpp.close() 622 fileHeadersNativeCpp.close()
622 623
623 if '__main__' == __name__: 624 if '__main__' == __name__:
624 #print sys.argv 625 #print sys.argv
625 sys.exit(generateCode()) 626 sys.exit(generateCode())
626 627
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698