50 elif action=="click-line": |
50 elif action=="click-line": |
51 # open url |
51 # open url |
52 output.set('resultbg[%s]' % index, 'black') |
52 output.set('resultbg[%s]' % index, 'black') |
53 webbrowser.open(self._urls[index]) |
53 webbrowser.open(self._urls[index]) |
54 self._send_output(output) |
54 self._send_output(output) |
55 |
55 |
56 def __get_connection(self): |
56 def __get_connection(self): |
57 try: |
57 try: |
58 return self._v_cnx |
58 return self._v_cnx |
59 except AttributeError: |
59 except AttributeError: |
60 appid, user, passwd = self._get_config("appid"), self._get_config("user"), self._get_config("passwd") |
60 appid, user, passwd = self._get_config("appid"), self._get_config("user"), self._get_config("passwd") |
71 rset = cursor.execute(rql) |
71 rset = cursor.execute(rql) |
72 except: |
72 except: |
73 del self._v_cnx |
73 del self._v_cnx |
74 raise |
74 raise |
75 self._urls = [] |
75 self._urls = [] |
76 output.set('layout', 'vertical, 14') |
76 output.set('layout', 'vertical, 14') |
77 output.set('length', rset.rowcount) |
77 output.set('length', rset.rowcount) |
78 i = 0 |
78 i = 0 |
79 for line in rset: |
79 for line in rset: |
80 output.set('result[%s]' % i, ', '.join([str(v) for v in line[1:]])) |
80 output.set('result[%s]' % i, ', '.join([str(v) for v in line[1:]])) |
81 output.set('resultbg[%s]' % i, 'black') |
81 output.set('resultbg[%s]' % i, 'black') |
82 try: |
82 try: |
83 self._urls.append(base % 'Any X WHERE X eid %s' % line[0]) |
83 self._urls.append(base % 'Any X WHERE X eid %s' % line[0]) |
84 except: |
84 except: |
85 self._urls.append('') |
85 self._urls.append('') |
86 i += 1 |
86 i += 1 |
87 |
87 |
88 def __update(self): |
88 def __update(self): |
89 output = self._new_output() |
89 output = self._new_output() |
90 try: |
90 try: |
91 self.__run_query(output) |
91 self.__run_query(output) |
92 except Exception, ex: |
92 except Exception, ex: |
93 import traceback |
93 import traceback |
94 traceback.print_exc() |
94 traceback.print_exc() |
95 output.set('layout', 'vertical, 10') |
95 output.set('layout', 'vertical, 10') |
96 output.set('length', 1) |
96 output.set('length', 1) |
97 output.set('result[0]', str(ex)) |
97 output.set('result[0]', str(ex)) |
98 self._send_output(output) |
98 self._send_output(output) |
99 self._add_timer(int(self._get_config('delay'))*1000, self.__update) |
99 self._add_timer(int(self._get_config('delay'))*1000, self.__update) |
100 |
100 |
101 |
101 |
102 def new_sensor(args): |
102 def new_sensor(args): |
103 return RQLSensor(*args) |
103 return RQLSensor(*args) |