Code

Translations. French translation minor update.
[inkscape.git] / share / extensions / text_sentencecase.py
1 #!/usr/bin/env python
2 import chardataeffect, inkex, string
4 class C(chardataeffect.CharDataEffect):
6   sentence_start = True
7   was_punctuation = False
9   def process_chardata(self,text, line, par):
10     r = ""
11     #inkex.debug(text+str(line)+str(par))
12     for c in text:
13       if c == '.' or c == '!' or c == '?':
14         self.was_punctuation = True
15       elif ((c.isspace() or line == True) and self.was_punctuation) or par == True:
16         self.sentence_start = True
17         self.was_punctuation = False
18       elif c == '"' or c == ')':
19         pass
20       else:
21         self.was_punctuation = False
23       if not c.isspace():
24         line = False
25         par = False
27       if self.sentence_start and c.isalpha():
28         r = r + c.upper()
29         self.sentence_start = False
30       elif not self.sentence_start and c.isalpha():
31         r = r + c.lower()
32       else:
33         r = r + c
35     return r
37 c = C()
38 c.affect()