Changeset 116 for 05/devel/kombilo.py
- Timestamp:
- 03/22/04 21:15:31 (5 years ago)
- Files:
-
- 1 modified
-
05/devel/kombilo.py (modified) (16 diffs)
Legend:
- Unmodified
- Added
- Removed
-
05/devel/kombilo.py
r114 r116 4 4 ## Copyright (C) 2001-4 Ulrich Goertz (u@g0ertz.de) 5 5 6 ## Kombilo 0.5 jis a go database program.6 ## Kombilo 0.5k is a go database program. 7 7 8 8 ## This program is free software; you can redistribute it and/or modify … … 37 37 t.pack() 38 38 39 t.insert(END, 'Kombilo 0.5 j\n\n The Python Megawidgets (Pmw) library was not found. It is needed by Kombilo, ' + \39 t.insert(END, 'Kombilo 0.5k\n\n The Python Megawidgets (Pmw) library was not found. It is needed by Kombilo, ' + \ 40 40 'so you have to install it before you can use Kombilo. See the Kombilo tutorial at ' + \ 41 41 'http://www.u-go.net/kombilo/tutorial#installation or the Pmw web site at ' + \ … … 597 597 enc = '' 598 598 newRootNode = self.mster.gameinfo(rootNode, enc) 599 if backup != newRootNode:599 if (not newRootNode is None) and backup != newRootNode: 600 600 c.updateRootNode(newRootNode, gameNumber) 601 601 try: … … 4026 4026 self.statistics = {} 4027 4027 4028 pbVar = self.pbVar.get() 4029 pwVar = self.pwVar.get() 4030 pVar = self.pVar.get() 4031 evVar = self.evVar.get() 4028 pbVar = self.pbVar.get().encode('utf-8') 4029 pwVar = self.pwVar.get().encode('utf-8') 4030 pVar = self.pVar.get().encode('utf-8') 4031 evVar = self.evVar.get().encode('utf-8') 4032 4032 frVar = self.frVar.get() 4033 4033 toVar = self.toVar.get() 4034 awVar = self.awVar.get() 4034 awVar = self.awVar.get().encode('utf-8') 4035 4035 refVar = self.referencedVar.get() 4036 4036 … … 4132 4132 4133 4133 if gameNumber == -1: # no collection, so we get away without parsing the SGF file 4134 4135 # is there an encoding tag? 4136 4137 enc_begin = find(sgf, 'CA[') 4138 if enc_begin != -1: 4139 encoding = lower(strip(sgf[enc_begin+3: find(sgf, ']', enc_begin)])) 4140 else: 4141 encoding = db['encoding'] 4142 4134 4143 sgf = lower(sgf) 4144 if encoding != 'utf-8': 4145 try: sgf = sgf.decode(encoding, 'ignore').encode('utf-8', 'ignore') 4146 except: pass 4147 4135 4148 if awVar and find(sgf, awVar) == -1: continue 4136 4149 … … 4152 4165 showwarning('Error', 'SGF error in file ' + filename) 4153 4166 continue 4167 4154 4168 node = c.getRootNode(gameNumber) 4155 4169 4170 encoding = c.encoding or db['encoding'] 4171 4156 4172 ok = 1 4157 4173 for var,tag in [(evVar,'EV')]: 4174 try: var = var.decode('utf-8', 'ignore').encode(encoding, 'ignore') 4175 except: pass 4158 4176 if var and not (node.has_key(tag) and find(lower(node[tag][0]), var) != -1): 4159 4177 ok = 0 … … 4161 4179 4162 4180 if awVar: 4181 try: awVar = awVar.decode('utf-8', 'ignore').encode(encoding, 'ignore') 4182 except: pass 4163 4183 c.game(gameNumber) 4164 4184 s = lower(c.outputVar(c.currentN)) … … 4204 4224 if gameNumber == -1: 4205 4225 4226 # is there an encoding tag? 4227 4228 enc_begin = find(sgf, 'CA[') 4229 if enc_begin != -1: 4230 encoding = lower(strip(sgf[enc_begin+3: find(sgf, ']', enc_begin)])) 4231 else: 4232 encoding = db['encoding'] 4233 4234 if encoding != 'utf-8': 4235 try: sgf = sgf.decode(encoding, 'ignore').encode('utf-8', 'ignore') 4236 except: pass 4237 4206 4238 if awVar and find(sgf, awVar) == -1: continue 4207 4239 … … 4224 4256 4225 4257 node = c.getRootNode(gameNumber) 4258 4259 encoding = c.encoding or db['encoding'] 4226 4260 4227 4261 ok = 1 4228 4262 for var,tag in [(evVar,'EV')]: 4263 try: var = var.decode('utf-8', 'ignore').encode(encoding, 'ignore') 4264 except: pass 4229 4265 if var and not (node.has_key(tag) and find(node[tag][0], var) != -1): 4230 4266 ok = 0 … … 4232 4268 4233 4269 if awVar: 4270 try: awVar = awVar.decode('utf-8', 'ignore').encode(encoding, 'ignore') 4271 except: pass 4234 4272 c.game(gameNumber) 4235 4273 s = c.outputVar(c.currentN) … … 5127 5165 5128 5166 5129 def openViewer_external(self, filename, gameNumber, moveno ):5167 def openViewer_external(self, filename, gameNumber, moveno, encoding = ''): 5130 5168 if self.options.altViewerVar1.get(): 5131 5169 … … 5167 5205 window.protocol('WM_DELETE_WINDOW', viewer.quit) 5168 5206 5169 apply(viewer.openFile, os.path.split(filename) )5207 apply(viewer.openFile, os.path.split(filename) + (encoding,)) 5170 5208 viewer.changeCurrentFile(None, 1) 5171 5209 viewer.delFile() … … 5196 5234 5197 5235 def openViewer_internal(self, filename, gameNumber, moveno, encoding): 5236 5198 5237 apply(self.openFile, os.path.split(filename) + (encoding,)) 5199 5238 … … 5229 5268 encoding = self.getEncoding(no, label) 5230 5269 if not self.options.externalViewer.get(): 5231 self.openViewer_external(filename, gameNumber, moveno )5270 self.openViewer_external(filename, gameNumber, moveno, encoding) 5232 5271 else: 5233 5272 self.openViewer_internal(filename, gameNumber, moveno, encoding) … … 5240 5279 encoding = self.getEncoding(no, label) 5241 5280 if self.options.externalViewer.get(): 5242 self.openViewer_external(filename, gameNumber, moveno )5281 self.openViewer_external(filename, gameNumber, moveno, encoding) 5243 5282 else: # don't open external viewer 5244 5283 self.openViewer_internal(filename, gameNumber, moveno, encoding) … … 5961 6000 t = [] 5962 6001 5963 t.append('Kombilo 0.5 j- written by Ulrich Goertz (u@g0ertz.de)\n\n')6002 t.append('Kombilo 0.5k - written by Ulrich Goertz (u@g0ertz.de)\n\n') 5964 6003 t.append('Kombilo is a go database program.\n') 5965 6004 t.append('You can find more information on Kombilo and the newest ')
