New upstream version 40
Elías Alejandro
4 years ago
0 | 40 | |
1 | ||
2 | * Fix repository metadata (James Cameron), | |
3 | * Remove more warnings from activity log (James Cameron), | |
4 | * Remove log file from list when deleted (Swarup N), | |
5 | ||
0 | 6 | 39 |
1 | 7 | |
2 | 8 | * New translations (Yaron, Božidar Putanec, nabil509, Mariana, Berend |
0 | 0 | [Activity] |
1 | 1 | name = Log |
2 | activity_version = 39 | |
2 | activity_version = 40 | |
3 | 3 | bundle_id = org.laptop.Log |
4 | 4 | exec = sugar-activity logviewer.LogActivity -s |
5 | 5 | icon = activity-log |
7 | 7 | summary = This is an activity designed for anyone who wants to troubleshoot a complicated program on the computer. |
8 | 8 | tags = System;Programming |
9 | 9 | url = https://help.sugarlabs.org/en/log.html |
10 | github = https://github.com/sugarlabs/log-activity | |
10 | repository = https://github.com/sugarlabs/log-activity |
22 | 22 | import re |
23 | 23 | |
24 | 24 | import gi |
25 | gi.require_version('Gdk', '3.0') | |
25 | 26 | gi.require_version('Gtk', '3.0') |
26 | 27 | from gi.repository import GLib |
27 | 28 | from gi.repository import GObject |
172 | 173 | return 0 |
173 | 174 | |
174 | 175 | def _configure_watcher(self): |
175 | # Setting where GIO will be watching | |
176 | 176 | for p in self.paths: |
177 | monitor = Gio.File.new_for_path(p)\ | |
178 | .monitor_directory(Gio.FileMonitorFlags.NONE, None) | |
179 | monitor.connect('changed', self._log_file_changed_cb) | |
180 | self._gio_monitors.append(monitor) | |
181 | ||
182 | # We don't need monitor old logs, them will no change | |
177 | for q in os.listdir(p): | |
178 | r = os.path.join(p, q) | |
179 | if os.path.isdir(r): | |
180 | self._create_gio_monitor(r) | |
181 | self._create_gio_monitor(p) | |
183 | 182 | |
184 | 183 | for f in self.extra_files: |
185 | monitor = Gio.File.new_for_path(f)\ | |
186 | .monitor_file(Gio.FileMonitorFlags.NONE, None) | |
187 | monitor.connect('changed', self._log_file_changed_cb) | |
188 | self._gio_monitors.append(monitor) | |
184 | self._create_gio_monitor(f) | |
185 | ||
186 | def _create_gio_monitor(self, direc_path): | |
187 | monitor = Gio.File.new_for_path(direc_path)\ | |
188 | .monitor_directory(Gio.FileMonitorFlags.NONE, None) | |
189 | monitor.connect('changed', self._log_file_changed_cb) | |
190 | self._gio_monitors.append(monitor) | |
189 | 191 | |
190 | 192 | def _log_file_changed_cb(self, monitor, log_file, other_file, event): |
191 | logfile = log_file.get_basename() | |
193 | filepath = log_file.get_path() | |
194 | logfile = None | |
195 | for p in self.paths: | |
196 | if filepath.startswith(p): | |
197 | logfile = os.path.relpath(filepath, p) | |
198 | break | |
192 | 199 | |
193 | 200 | if event == Gio.FileMonitorEvent.CHANGED: |
194 | 201 | if logfile in self.logs: |
7 | 7 | msgstr "" |
8 | 8 | "Project-Id-Version: PACKAGE VERSION\n" |
9 | 9 | "Report-Msgid-Bugs-To: \n" |
10 | "POT-Creation-Date: 2018-09-18 18:56+1000\n" | |
10 | "POT-Creation-Date: 2019-03-11 11:58+1100\n" | |
11 | 11 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 | 12 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 | 13 | "Language-Team: LANGUAGE <LL@li.org>\n" |
26 | 26 | "complicated program on the computer." |
27 | 27 | msgstr "" |
28 | 28 | |
29 | #: logviewer.py:98 | |
29 | #: logviewer.py:99 | |
30 | 30 | msgid "Log Files" |
31 | 31 | msgstr "" |
32 | 32 | |
33 | #: logviewer.py:111 | |
33 | #: logviewer.py:112 | |
34 | 34 | msgid "Other" |
35 | 35 | msgstr "" |
36 | 36 | |
37 | #: logviewer.py:230 | |
37 | #: logviewer.py:237 | |
38 | 38 | #, python-format |
39 | 39 | msgid "ERROR: Failed to look for files in '%(path)s'." |
40 | 40 | msgstr "" |
41 | 41 | |
42 | #: logviewer.py:250 | |
42 | #: logviewer.py:257 | |
43 | 43 | #, python-format |
44 | 44 | msgid "ERROR: File '%(file)s' does not exist." |
45 | 45 | msgstr "" |
46 | 46 | |
47 | #: logviewer.py:255 | |
47 | #: logviewer.py:262 | |
48 | 48 | #, python-format |
49 | 49 | msgid "ERROR: Unable to read file '%(file)s'." |
50 | 50 | msgstr "" |
51 | 51 | |
52 | #: logviewer.py:403 | |
52 | #: logviewer.py:410 | |
53 | 53 | #, python-format |
54 | 54 | msgid "Error: Can't open file '%s'\n" |
55 | 55 | msgstr "" |
56 | 56 | |
57 | #: logviewer.py:457 | |
57 | #: logviewer.py:464 | |
58 | 58 | msgid "Show list of files" |
59 | 59 | msgstr "" |
60 | 60 | |
61 | #: logviewer.py:467 | |
61 | #: logviewer.py:474 | |
62 | 62 | msgid "Word Wrap" |
63 | 63 | msgstr "" |
64 | 64 | |
65 | #: logviewer.py:483 | |
65 | #: logviewer.py:490 | |
66 | 66 | msgid "Previous" |
67 | 67 | msgstr "" |
68 | 68 | |
69 | #: logviewer.py:488 | |
69 | #: logviewer.py:495 | |
70 | 70 | msgid "Next" |
71 | 71 | msgstr "" |
72 | 72 | |
73 | #: logviewer.py:502 | |
73 | #: logviewer.py:509 | |
74 | 74 | msgid "Delete Log File" |
75 | 75 | msgstr "" |
76 | 76 | |
77 | #: logviewer.py:608 | |
77 | #: logviewer.py:615 | |
78 | 78 | msgid "Error" |
79 | 79 | msgstr "" |
80 | 80 | |
81 | #: logviewer.py:609 | |
81 | #: logviewer.py:616 | |
82 | 82 | #, python-format |
83 | 83 | msgid "%(error)s when deleting %(file)s" |
84 | 84 | msgstr "" |
85 | 85 | |
86 | #: logviewer.py:620 | |
86 | #: logviewer.py:627 | |
87 | 87 | msgid "Log Collector: Capture information" |
88 | 88 | msgstr "" |
89 | 89 | |
90 | #: logviewer.py:626 | |
90 | #: logviewer.py:633 | |
91 | 91 | msgid "" |
92 | 92 | "This captures information about the system\n" |
93 | 93 | "and running processes to a journal entry.\n" |
94 | 94 | "Use this to improve a problem report." |
95 | 95 | msgstr "" |
96 | 96 | |
97 | #: logviewer.py:631 | |
97 | #: logviewer.py:638 | |
98 | 98 | msgid "Capture information" |
99 | 99 | msgstr "" |
100 | 100 | |
101 | #: logviewer.py:660 | |
101 | #: logviewer.py:667 | |
102 | 102 | msgid "Logs not captured" |
103 | 103 | msgstr "" |
104 | 104 | |
105 | #: logviewer.py:661 | |
105 | #: logviewer.py:668 | |
106 | 106 | msgid "The logs could not be captured." |
107 | 107 | msgstr "" |
108 | 108 | |
109 | #: logviewer.py:671 | |
109 | #: logviewer.py:678 | |
110 | 110 | #, python-format |
111 | 111 | msgid "log-%s" |
112 | 112 | msgstr "" |
6 | 6 | "Project-Id-Version: PACKAGE VERSION\n" |
7 | 7 | "Report-Msgid-Bugs-To: \n" |
8 | 8 | "POT-Creation-Date: 2017-03-24 17:39+1100\n" |
9 | "PO-Revision-Date: 2018-09-05 19:15+0000\n" | |
9 | "PO-Revision-Date: 2019-03-09 00:43+0000\n" | |
10 | 10 | "Last-Translator: Paulo Francisco <slomp@ufrgs.br>\n" |
11 | 11 | "Language-Team: LANGUAGE <LL@li.org>\n" |
12 | 12 | "Language: pt_BR\n" |
15 | 15 | "Content-Transfer-Encoding: 8bit\n" |
16 | 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" |
17 | 17 | "X-Generator: Pootle 2.5.1.1\n" |
18 | "X-POOTLE-MTIME: 1536174952.000000\n" | |
18 | "X-POOTLE-MTIME: 1552092218.000000\n" | |
19 | 19 | |
20 | 20 | #: activity/activity.info:2 |
21 | 21 | msgid "Log" |
98 | 98 | "and running processes to a journal entry.\n" |
99 | 99 | "Use this to improve a problem report." |
100 | 100 | msgstr "" |
101 | "Este captura e envia informações sobre o sistema,\n" | |
102 | "assim como os de processos sendo executados\n" | |
103 | "para o Diário. Use o mesmo para melhorar\n" | |
104 | "o relatório do problema." | |
101 | "Este captura e envia informações sobre o sistema\n" | |
102 | "assim como os de processos sendo executados para o Diário.\n" | |
103 | "Use o mesmo para melhorar o relatório do problema." | |
105 | 104 | |
106 | 105 | #: logviewer.py:627 |
107 | 106 | msgid "Capture information" |