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

Side by Side Diff: grit/format/data_pack.py

Issue 10386189: Add chrome_html gatherer, which inlines html and automatically generates image set… (Closed) Base URL: http://git.chromium.org/external/grit-i18n.git@master
Patch Set: Created 8 years, 7 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
« no previous file with comments | « no previous file | grit/gather/chrome_html.py » ('j') | grit/gather/chrome_html.py » ('J')
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 '''Support for formatting a data pack file used for platform agnostic resource 6 '''Support for formatting a data pack file used for platform agnostic resource
7 files. 7 files.
8 ''' 8 '''
9 9
10 import exceptions 10 import exceptions
11 import os 11 import os
12 import struct 12 import struct
13 import sys 13 import sys
14 14
15 sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..')) 15 sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..'))
16 from grit.format import interface 16 from grit.format import interface
17 from grit.node import include 17 from grit.node import include
18 from grit.node import message 18 from grit.node import message
19 from grit.node import structure
19 from grit.node import misc 20 from grit.node import misc
20 21
21 22
22 PACK_FILE_VERSION = 4 23 PACK_FILE_VERSION = 4
23 HEADER_LENGTH = 2 * 4 + 1 # Two uint32s. (file version, number of entries) and 24 HEADER_LENGTH = 2 * 4 + 1 # Two uint32s. (file version, number of entries) and
24 # one uint8 (encoding of text resources) 25 # one uint8 (encoding of text resources)
25 BINARY, UTF8, UTF16 = range(3) 26 BINARY, UTF8, UTF16 = range(3)
26 27
27 class WrongFileVersion(Exception): 28 class WrongFileVersion(Exception):
28 pass 29 pass
(...skipping 15 matching lines...) Expand all
44 data[id] = value 45 data[id] = value
45 return DataPack.WriteDataPackToString(data, UTF8) 46 return DataPack.WriteDataPackToString(data, UTF8)
46 47
47 @staticmethod 48 @staticmethod
48 def GetDataNodes(item): 49 def GetDataNodes(item):
49 '''Returns a list of nodes that can be packed into the data pack file.''' 50 '''Returns a list of nodes that can be packed into the data pack file.'''
50 nodes = [] 51 nodes = []
51 if (isinstance(item, misc.IfNode) and not item.IsConditionSatisfied()): 52 if (isinstance(item, misc.IfNode) and not item.IsConditionSatisfied()):
52 return nodes 53 return nodes
53 if (isinstance(item, include.IncludeNode) or 54 if (isinstance(item, include.IncludeNode) or
54 isinstance(item, message.MessageNode)): 55 isinstance(item, message.MessageNode) or
56 isinstance(item, structure.StructureNode)):
55 # Include this node if it wasn't marked as skipped by a whitelist. 57 # Include this node if it wasn't marked as skipped by a whitelist.
56 if not item.WhitelistMarkedAsSkip(): 58 if not item.WhitelistMarkedAsSkip():
57 return [item] 59 return [item]
58 return nodes 60 return nodes
59 for child in item.children: 61 for child in item.children:
60 nodes.extend(DataPack.GetDataNodes(child)) 62 nodes.extend(DataPack.GetDataNodes(child))
61 return nodes 63 return nodes
62 64
63 @staticmethod 65 @staticmethod
64 def ReadDataPack(input_file): 66 def ReadDataPack(input_file):
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 else: 166 else:
165 # Just write a simple file. 167 # Just write a simple file.
166 data = { 1: "", 4: "this is id 4", 6: "this is id 6", 10: "" } 168 data = { 1: "", 4: "this is id 4", 6: "this is id 6", 10: "" }
167 DataPack.WriteDataPack(data, "datapack1.pak", UTF8) 169 DataPack.WriteDataPack(data, "datapack1.pak", UTF8)
168 data2 = { 1000: "test", 5: "five" } 170 data2 = { 1000: "test", 5: "five" }
169 DataPack.WriteDataPack(data2, "datapack2.pak", UTF8) 171 DataPack.WriteDataPack(data2, "datapack2.pak", UTF8)
170 print "wrote datapack1 and datapack2 to current directory." 172 print "wrote datapack1 and datapack2 to current directory."
171 173
172 if __name__ == '__main__': 174 if __name__ == '__main__':
173 main() 175 main()
OLDNEW
« no previous file with comments | « no previous file | grit/gather/chrome_html.py » ('j') | grit/gather/chrome_html.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698