Changeset 34425
- Timestamp:
- 07/15/09 02:55:49 (4 years ago)
- Files:
-
- 1 modified
-
lang/python/twopy/trunk/twopy/comment.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/python/twopy/trunk/twopy/comment.py
r34396 r34425 16 16 __datetime = re.compile(r"(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})\(.*\) (?P<hour>\d{2}):(?P<min>\d{2}):(?P<sec>\d{2})(\.(?P<csec>\d+)|)") 17 17 __urls = re.compile(r"(ttps?:\/\/[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+)") 18 __response = re.compile(r" >>(\d{1,4}|>>[0-9]{1,4})")18 __response = re.compile(r"(>>\d{1,4}|>>[0-9]{1,4})(-\d{1,4}|−[0-9]{1,4}|)") 19 19 20 20 def __init__(self, thread, line, number): … … 108 108 if self.__responses_cache == None: 109 109 result = Comment.__response.finditer(self.body) 110 l = [ r.group(0) for r in result]110 l = [(r.group(1),r.group(2)) for r in result] 111 111 self.__responses_cache = l 112 112 113 113 l = self.__responses_cache 114 if returnType == "str": return l 115 elif returnType == "int": 116 ld = [int(unicodedata.normalize("NFKC", m[2:])) for m in l] 117 return ld 118 if returnType == "comment": 119 ld = [int(unicodedata.normalize("NFKC", m[2:])) for m in l] 120 lc = [self.thread[i] for i in ld if 0 < i <= self.thread.res] 121 return lc 114 if returnType == "str": return ["".join(i) for i in l] 115 elif returnType == "int": return self.__makeIntegerLists(l) 116 elif returnType == "comment": 117 rl = self.__makeIntegerLists(l) 118 rl2 = [] 119 for i in rl: 120 if type(i) == int: 121 if 0<i<=self.thread.res: rl2.append(self.thread[i]) 122 else: rl2.append([self.thread[j] for j in i if 0<j<=self.thread.res]) 123 return rl2 124 122 125 else: raise TypeError 123 126 124 127 res = property(extractResponses) 125 128 responses = property(extractResponses) 129 130 def __makeIntegerLists(self, l): 131 rl = [] 132 for i in l: 133 start = int(unicodedata.normalize("NFKC", i[0][2:])) 134 if i[1] == "": rl.append(start) 135 else: 136 end = int(unicodedata.normalize("NFKC", i[1][1:])) 137 rl.append(range(start, end+1)) 138 return rl 126 139 127 140 def render(self):
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)