sdf.py (a0428e9e) | sdf.py (ae54856b) |
---|---|
1#************************************************************** 2# 3# Licensed to the Apache Software Foundation (ASF) under one 4# or more contributor license agreements. See the NOTICE file 5# distributed with this work for additional information 6# regarding copyright ownership. The ASF licenses this file 7# to you under the Apache License, Version 2.0 (the 8# "License"); you may not use this file except in compliance --- 12 unchanged lines hidden (view full) --- 21 22from pseudo import PseudoSet,PseudoOrderedDict 23from time import gmtime, strftime 24 25class SdfData: 26 _filename = ""; 27 _dict = PseudoOrderedDict() 28 _languages_found = []; | 1#************************************************************** 2# 3# Licensed to the Apache Software Foundation (ASF) under one 4# or more contributor license agreements. See the NOTICE file 5# distributed with this work for additional information 6# regarding copyright ownership. The ASF licenses this file 7# to you under the Apache License, Version 2.0 (the 8# "License"); you may not use this file except in compliance --- 12 unchanged lines hidden (view full) --- 21 22from pseudo import PseudoSet,PseudoOrderedDict 23from time import gmtime, strftime 24 25class SdfData: 26 _filename = ""; 27 _dict = PseudoOrderedDict() 28 _languages_found = []; |
29 | 29 |
30 def __init__ (self, filename=""): 31 self._filename = filename | 30 def __init__ (self, filename=""): 31 self._filename = filename |
32 | 32 |
33 def __getitem__(self, key): 34 if self._dict.has_key(key): 35 return self._dict[key] 36 else: 37 return None | 33 def __getitem__(self, key): 34 if self._dict.has_key(key): 35 return self._dict[key] 36 else: 37 return None |
38 | 38 |
39 def has_key(self, key): 40 return self._dict.has_key(key) | 39 def has_key(self, key): 40 return self._dict.has_key(key) |
41 | 41 |
42 def __setitem__(self, key, value): 43 self._dict[key] = value | 42 def __setitem__(self, key, value): 43 self._dict[key] = value |
44 | 44 |
45 def get_languages_found_in_sdf(self): 46 return PseudoSet(self._languages_found) 47 48 def read(self): 49 try: 50 f = open(self._filename, "r") | 45 def get_languages_found_in_sdf(self): 46 return PseudoSet(self._languages_found) 47 48 def read(self): 49 try: 50 f = open(self._filename, "r") |
51 lines = [line.rstrip('\n') for line in f.readlines()] | 51 lines = [line.rstrip('\n') for line in f.readlines()] |
52 except IOError: 53 print "ERROR: Trying to read "+ self._filename 54 raise 55 else: 56 f.close() | 52 except IOError: 53 print "ERROR: Trying to read "+ self._filename 54 raise 55 else: 56 f.close() |
57 for line in lines: | 57 for line in lines: |
58 entity = SdfEntity() 59 entity.set_properties(line) 60 self._dict[entity.get_id()] = entity 61 self._languages_found.append(entity.langid) 62 63 def write(self, filename): 64 try: | 58 entity = SdfEntity() 59 entity.set_properties(line) 60 self._dict[entity.get_id()] = entity 61 self._languages_found.append(entity.langid) 62 63 def write(self, filename): 64 try: |
65 f = open(filename, "w+") | 65 f = open(filename, "w+") |
66 for value in self._dict.itervalues(): 67 #f.write( repr(value)+"\n" ) 68 f.write(value + "\n") 69 except IOError: 70 print "ERROR: Trying to write " + filename 71 raise 72 else: 73 f.close() 74 75import sys | 66 for value in self._dict.itervalues(): 67 #f.write( repr(value)+"\n" ) 68 f.write(value + "\n") 69 except IOError: 70 print "ERROR: Trying to write " + filename 71 raise 72 else: 73 f.close() 74 75import sys |
76class SdfEntity: | 76class SdfEntity: |
77 # Sdf format columns 78 project = "" 79 source_file = "" 80 dummy1 = "" 81 resource_type = "" 82 gid = "" 83 lid = "" 84 helpid = "" 85 platform = "" 86 dummy2 = "" 87 langid = "" 88 text = "" 89 helptext = "" 90 quickhelptext = "" 91 title = "" 92 date = "" | 77 # Sdf format columns 78 project = "" 79 source_file = "" 80 dummy1 = "" 81 resource_type = "" 82 gid = "" 83 lid = "" 84 helpid = "" 85 platform = "" 86 dummy2 = "" 87 langid = "" 88 text = "" 89 helptext = "" 90 quickhelptext = "" 91 title = "" 92 date = "" |
93 | 93 |
94 import const 95 const._PROJECT_POS = 0 96 const._SOURCE_FILE_POS = 1 97 const._DUMMY1_POS = 2 98 const._RESOURCE_TYPE_POS = 3 99 const._GID_POS = 4 100 const._LID_POS = 5 101 const._HELPID_POS = 6 102 const._PLATFORM_POS = 7 103 const._DUMMY2_POS = 8 104 const._LANGID_POS = 9 105 const._TEXT_POS = 10 106 const._HELPTEXT_POS = 11 107 const._QUICKHELPTEXT_POS = 12 108 const._TITLE_POS = 13 109 const._DATE_POS = 14 | 94 import const 95 const._PROJECT_POS = 0 96 const._SOURCE_FILE_POS = 1 97 const._DUMMY1_POS = 2 98 const._RESOURCE_TYPE_POS = 3 99 const._GID_POS = 4 100 const._LID_POS = 5 101 const._HELPID_POS = 6 102 const._PLATFORM_POS = 7 103 const._DUMMY2_POS = 8 104 const._LANGID_POS = 9 105 const._TEXT_POS = 10 106 const._HELPTEXT_POS = 11 107 const._QUICKHELPTEXT_POS = 12 108 const._TITLE_POS = 13 109 const._DATE_POS = 14 |
110 111 def __init__(self, project="", source_file="", dummy1="0", resource_type="", gid="", lid="", helpid="", platform="", dummy2="0", langid="", | 110 111 def __init__(self, project="", source_file="", dummy1="0", resource_type="", gid="", lid="", helpid="", platform="", dummy2="0", langid="", |
112 text="", helptext="", quickhelptext="", title="", date=""): 113 self.project = project; 114 self.source_file = source_file; 115 self.dummy1 = dummy1; 116 self.resource_type = resource_type; 117 self.gid = gid; 118 self.lid = lid; 119 self.helpid = helpid; --- 8 unchanged lines hidden (view full) --- 128 self.date = date; 129 else: 130 self.date = strftime("%Y-%m-%d %H:%M:%S",gmtime()) 131 132 133 def set_properties(self, line): 134 splitted = line.split("\t") 135 if len(splitted) == 15: | 112 text="", helptext="", quickhelptext="", title="", date=""): 113 self.project = project; 114 self.source_file = source_file; 115 self.dummy1 = dummy1; 116 self.resource_type = resource_type; 117 self.gid = gid; 118 self.lid = lid; 119 self.helpid = helpid; --- 8 unchanged lines hidden (view full) --- 128 self.date = date; 129 else: 130 self.date = strftime("%Y-%m-%d %H:%M:%S",gmtime()) 131 132 133 def set_properties(self, line): 134 splitted = line.split("\t") 135 if len(splitted) == 15: |
136 self.project = splitted[ self.const._PROJECT_POS ] 137 self.source_file = splitted[ self.const._SOURCE_FILE_POS ] 138 self.dummy1 = splitted[ self.const._DUMMY1_POS ] 139 self.resource_type = splitted[ self.const._RESOURCE_TYPE_POS ] 140 self.gid = splitted[ self.const._GID_POS ] 141 self.lid = splitted[ self.const._LID_POS ] 142 self.helpid = splitted[ self.const._HELPID_POS ] 143 self.platform = splitted[ self.const._PLATFORM_POS ] 144 self.dummy2 = splitted[ self.const._DUMMY2_POS ] 145 self.langid = splitted[ self.const._LANGID_POS ] 146 self.text = splitted[ self.const._TEXT_POS ] 147 self.helptext = splitted[ self.const._HELPTEXT_POS ] 148 self.quickhelptext = splitted[ self.const._QUICKHELPTEXT_POS ] 149 self.title = splitted[ self.const._TITLE_POS ] 150 self.date = splitted[ self.const._DATE_POS ] | 136 self.project = splitted[ self.const._PROJECT_POS ] 137 self.source_file = splitted[ self.const._SOURCE_FILE_POS ] 138 self.dummy1 = splitted[ self.const._DUMMY1_POS ] 139 self.resource_type = splitted[ self.const._RESOURCE_TYPE_POS ] 140 self.gid = splitted[ self.const._GID_POS ] 141 self.lid = splitted[ self.const._LID_POS ] 142 self.helpid = splitted[ self.const._HELPID_POS ] 143 self.platform = splitted[ self.const._PLATFORM_POS ] 144 self.dummy2 = splitted[ self.const._DUMMY2_POS ] 145 self.langid = splitted[ self.const._LANGID_POS ] 146 self.text = splitted[ self.const._TEXT_POS ] 147 self.helptext = splitted[ self.const._HELPTEXT_POS ] 148 self.quickhelptext = splitted[ self.const._QUICKHELPTEXT_POS ] 149 self.title = splitted[ self.const._TITLE_POS ] 150 self.date = splitted[ self.const._DATE_POS ] |
151 152 def get_file_id(self): 153 return self.project + "\\" + self.source_file | 151 152 def get_file_id(self): 153 return self.project + "\\" + self.source_file |
154 | 154 |
155 def get_resource_path(self): | 155 def get_resource_path(self): |
156 return self.source_file[0:self.source_file.rfind( "\\" )-1] 157 | 156 return self.source_file[0:self.source_file.rfind( "\\" )-1] 157 |
158 def __str__(self): | 158 def __str__(self): |
159 return ''.join([self.project, "\t", self.source_file, "\t", self.dummy1, "\t", self.resource_type, "\t" , 160 self.gid, "\t", self.lid, "\t", self.helpid, "\t", self.platform, "\t", self.dummy2, "\t" , self.langid, | 159 return ''.join([self.project, "\t", self.source_file, "\t", self.dummy1, "\t", self.resource_type, "\t" , 160 self.gid, "\t", self.lid, "\t", self.helpid, "\t", self.platform, "\t", self.dummy2, "\t" , self.langid, |
161 "\t", self.text, "\t", self.helptext, "\t", self.quickhelptext, "\t" , self.title, "\t", self.date ]) | 161 "\t", self.text, "\t", self.helptext, "\t", self.quickhelptext, "\t" , self.title, "\t", self.date ]) |
162 | 162 |
163 def get_id(self): 164 return ''.join([self.project, self.gid, self.lid, self.source_file, self.resource_type, self.platform, self.helpid, self.langid]) | 163 def get_id(self): 164 return ''.join([self.project, self.gid, self.lid, self.source_file, self.resource_type, self.platform, self.helpid, self.langid]) |