Changeset 404
- Timestamp:
- 07/16/10 15:21:40 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/email2trac.py.in
r403 r404 75 75 import logging 76 76 import logging.handlers 77 import UserDict 77 78 78 79 … … 112 113 return self.ZERO 113 114 115 class SaraDict(UserDict.UserDict): 116 def __init__(self, dictin = None): 117 UserDict.UserDict.__init__(self) 118 self.name = None 119 120 if dictin: 121 if dictin.has_key('name'): 122 self.name = dictin['name'] 123 del dictin['name'] 124 self.data = dictin 125 126 def get_value(self, key): 127 if self.has_key(key): 128 return self[key] 129 else: 130 return None 131 132 def __repr__(self): 133 return repr(self.data) 134 135 def __str__(self): 136 return str(self.data) 137 138 def __getattr__(self, name): 139 """ 140 override the class attribute get method. Return the value 141 from the Userdict 142 """ 143 if self.data.has_key(name): 144 return self.data[name] 145 else: 146 return None 147 148 def __setattr__(self, name, value): 149 """ 150 override the class attribute set method only when the UserDict 151 has set its class attribute 152 """ 153 if self.__dict__.has_key('data'): 154 self.data[name] = value 155 else: 156 self.__dict__[name] = value 157 158 def __iter__(self): 159 return iter(self.data.keys()) 114 160 115 161 class TicketEmailParser(object): … … 140 186 self.VERSION = version 141 187 188 self.get_config = self.env.config.get 189 142 190 self.setup_log() 143 191 self.setup_parameters() … … 146 194 self.VERBOSE = parameters['verbose'] 147 195 148 self.get_config = self.env.config.get 149 150 151 def setup_log(): 196 197 198 def setup_log(self): 152 199 """ 153 200 Setup loging … … 157 204 158 205 """ 159 if not parameters.log_type:160 paramters.log_type = 'syslog'161 162 if parameters.log_type = 'file'206 if not self.parameters.log_type: 207 self.parameters.log_type = 'syslog' 208 209 if self.parameters.log_type == 'file': 163 210 if not os.path.isabs(parameters.log_file): 164 parameters.log_file = os.path.jpin(self.env.path.'log')211 self.parameters.log_file = os.path.join(self.env.path, 'log') 165 212 hdlr = logging.FileHandler() 166 213 167 elif parameters.log_type in ('winlog', 'eventlog', 'nteventlog'):214 elif self.parameters.log_type in ('winlog', 'eventlog', 'nteventlog'): 168 215 # Requires win32 extensions 169 216 hdlr = logging.handlers.NTEventLogHandler(logid, logtype='Application') 170 217 171 elif parameters.log_type in ('syslog', 'unix'):218 elif self.parameters.log_type in ('syslog', 'unix'): 172 219 hdlr = logging.handlers.SysLogHandler('/dev/log') 173 220 174 elif parameters.log_type in ('stderr'):221 elif self.parameters.log_type in ('stderr'): 175 222 hdlr = logging.StreamHandler(sys.stderr) 176 223 … … 178 225 hdlr = logging.handlers.BufferingHandler(0) 179 226 180 if parameters.format:181 parameters.format = parameters.format.replace('$(', '%(')182 else: 183 parameters.format = 'Email2trac: %(message)s'227 if self.parameters.log_format: 228 self.parameters['log_format'] = self.parameters.log_format.replace('$(', '%(') 229 else: 230 self.parameters.log_format = 'Email2trac: %(message)s' 184 231 185 232 … … 189 236 190 237 191 def setup_parameters( ):238 def setup_parameters(self): 192 239 if self.parameters.has_key('umask'): 193 240 os.umask(int(self.parameters['umask'], 8)) … … 2137 2184 sys.exit(1) 2138 2185 2139 project = dict()2186 project = SaraDict() 2140 2187 for option, value in config.options(name): 2141 2188 project[option] = value … … 2144 2191 # use some trac internals to get the defaults 2145 2192 # 2146 project = config.parser.defaults() 2193 tmp = config.parser.defaults() 2194 project = SaraDict() 2195 2196 for option,value in tmp.items(): 2197 project[option] = value 2147 2198 2148 2199 return project
Note: See TracChangeset
for help on using the changeset viewer.