From: Stephen G. <ste...@op...> - 2009-03-10 03:14:03
|
Hi, I'm just trying to understand why my spelling app does not work properly with the StyledText. If I understand correctly StyledText is a GRAMPS only thing? GRAMPS Notes use StyledText. The speller I'm using works with the buffer as such def _check_word(self, buffer, start, end): if not self.speller: return text = buffer.get_text( start, end, False) if (text.isdigit() == False): # don't check numbers if (self.speller.check( text ) == False): # Word failed the spell check buffer.apply_tag( self.tag_highlight, start, end) While all works well with TextView, it fails with StyledTextView as follows Traceback (most recent call last): File "C:\Program Files\gramps\fakeGtkSpell.py", line 338, in _insert_text_after self._check_range( buffer, start, iter, False) File "C:\Program Files\gramps\fakeGtkSpell.py", line 307, in _check_range self._check_word(buffer, wstart, wend) File "C:\Program Files\gramps\fakeGtkSpell.py", line 221, in _check_word if (text.isdigit() == False): # don't check numbers AttributeError: 'StyledText' object has no attribute 'isdigit' The StyledText returned from get_text has no attribute isdigit. I had a quick look at StyledText and there was a note: "To get the clear text of the StyledText use the built-in str() function." So I wrapped my get_text with str() text = str(buffer.get_text( start, end, False)) And all worked OK. This got me wondering, .. why does my spell checker which is potentially a third party library need to know to wrap get_text with str()? This seems like a shortfall of the StyledText class, Should StyledText inherit from String? (or some other), to get all strings functionality in there? Thanks for any comments Steve |