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])