Changeset 116 for 05/devel/v.py

Show
Ignore:
Timestamp:
03/22/04 21:15:31 (5 years ago)
Author:
ug
Message:

Various encodings fixes

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • 05/devel/v.py

    r114 r116  
    962962        t.append('\n') 
    963963 
    964         if node.has_key('EV'): t.append(node['EV'][0] + ', ') 
    965         if node.has_key('RO'): t.append(node['RO'][0] + ', ') 
    966         if node.has_key('DT'): t.append(node['DT'][0] + '\n') 
     964        if node.has_key('EV'): t.append(cursor.transcode('EV', node) + ', ') 
     965        if node.has_key('RO'): t.append(cursor.transcode('RO', node) + ', ') 
     966        if node.has_key('DT'): t.append(cursor.transcode('DT', node) + '\n') 
    967967 
    968968        s1 = cursor.transcode('GC',node) 
     
    25912591        keylist = ['PB', 'BR', 'PW', 'WR', 'EV', 'RE', 'DT', 'KM'] 
    25922592        for key in keylist: 
    2593             self.gameinfoDict[key] = [self.gameinfoVars[key].get()] 
     2593            self.gameinfoDict[key] = [self.gameinfoVars[key].get().encode(self.gameinfoDictencoding, 'ignore')] 
    25942594           
    2595         self.gameinfoDict['GC'] = [strip(self.gameinfoGCText.get('1.0', END))] 
     2595        self.gameinfoDict['GC'] = [strip(self.gameinfoGCText.get('1.0', END)).encode(self.gameinfoDictencoding, 'ignore')] 
    25962596 
    25972597        for key in keylist + ['GC']: 
     
    25992599                del self.gameinfoDict[key] 
    26002600 
    2601         s = self.gameinfoOthersText.get('1.0', END) 
     2601        s = self.gameinfoOthersText.get('1.0', END).encode(self.gameinfoDictencoding, 'ignore') 
    26022602        try: 
    26032603            d = Cursor(('(;' + s + ')'),1).getRootNode(0) 
     
    26122612            showwarning('SGF Error', "Parse error in 'Other SGF tags'") 
    26132613        else: 
    2614  
    2615             for k in self.gameinfoDict.keys(): 
    2616                 try: 
    2617                     self.gameinfoDict[k] = [ x.encode(self.gameinfoDictencoding, 'ignore')\ 
    2618                                              for x in self.gameinfoDict[k] ] 
    2619                 except: 
    2620                     pass 
    2621                  
    2622             if not self.returnChanges: self.currentFileChanged() 
    2623  
    2624              
     2614            if not self.returnChanges: self.currentFileChanged()             
    26252615            self.gameinfoWindow.destroy() 
    26262616 
    26272617         
    26282618    def gameinfoCancel(self): 
    2629         for k in self.gameinfoDict.keys(): 
    2630             try: 
    2631                 self.gameinfoDict[k] = [ x.encode(self.gameinfoDictencoding, 'ignore')\ 
    2632                                          for x in self.gameinfoDict[k] ] 
    2633             except: 
    2634                 pass 
     2619        self.gameinfoDict = None 
    26352620        self.gameinfoWindow.destroy() 
    26362621 
     
    26392624        """ Open window with the game info of the current game.""" 
    26402625 
    2641         if encoding == '': encoding = self.cursor.encoding 
    2642         # FIXME: sollte dies nicht sein: if self.cursor.encoding: encoding = self.cursor.encoding ? 
    2643          
    26442626        if not data and not self.cursor: 
    26452627            return 
     
    26502632                showwarning('Error', 'SGF Error') 
    26512633                return 
     2634            encoding = self.cursor.encoding 
    26522635            self.returnChanges = 0 
    26532636        else: 
     
    26652648            for k in self.gameinfoDict.keys(): 
    26662649                try: 
    2667                     self.gameinfoDict[k] = [x.decode(encoding, 'ignore') for x in self.gameinfoDict[k]] 
     2650                    self.gameinfoDict[k] = [x.decode(encoding, 'ignore').encode('utf-8', 'ignore') \ 
     2651                                            for x in self.gameinfoDict[k]] 
    26682652                except: 
    26692653                    pass 
     
    27272711        if self.returnChanges: 
    27282712            return self.gameinfoDict 
    2729         else: 
     2713        elif not self.gameinfoDict is None: 
    27302714            self.cursor.updateRootNode(self.gameinfoDict, self.cursor.currentGame) 
    27312715            s = '[' + `self.cursor.currentGame` + '] '