diff options
-rw-r--r-- | icons/log-export.svg | 146 | ||||
-rw-r--r-- | logcollect.py | 18 | ||||
-rw-r--r-- | logviewer.py | 37 |
3 files changed, 170 insertions, 31 deletions
diff --git a/icons/log-export.svg b/icons/log-export.svg new file mode 100644 index 0000000..0954a62 --- /dev/null +++ b/icons/log-export.svg @@ -0,0 +1,146 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + version="1.1" + width="55" + height="55" + viewBox="0 0 55 55" + id="svg2" + xml:space="preserve"><metadata + id="metadata25"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs + id="defs33"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</defs><g + transform="matrix(0.75578519,0,0,0.75578519,-4.9396196,-1.2911009)" + id="clipping-text" + style="fill:none;stroke:#ffffff;stroke-opacity:1;display:block"> + <g + id="g3152" + style="fill:none;stroke:#ffffff;stroke-opacity:1;display:inline"> + <g + id="g3154" + style="fill:none;stroke:#ffffff;stroke-opacity:1"> + <polygon + points="31.874,6.088 43.818,18.027 43.818,48.914 10.932,48.914 10.932,6.088 " + id="polygon3156" + style="fill:none;stroke:#ffffff;stroke-width:3.5;stroke-opacity:1" /> + <polyline + id="polyline3158" + points="43.818,18.027 31.874,18.027 31.874,6.088 " + style="fill:none;stroke:#ffffff;stroke-width:3.5;stroke-opacity:1" /> + </g> + </g> + <line + id="line3160" + y2="26.25" + y1="26.25" + x2="36.875" + x1="17.875" + display="inline" + style="fill:none;stroke:#ffffff;stroke-width:3.5;stroke-opacity:1;display:inline" /> + <line + id="line3162" + y2="33.25" + y1="33.25" + x2="36.875" + x1="17.875" + display="inline" + style="fill:none;stroke:#ffffff;stroke-width:3.5;stroke-opacity:1;display:inline" /> + <line + id="line3164" + y2="40.25" + y1="40.25" + x2="36.875" + x1="17.875" + display="inline" + style="fill:none;stroke:#ffffff;stroke-width:3.5;stroke-opacity:1;display:inline" /> +</g><g + id="g3830"><g + transform="matrix(0.55205508,0,0,0.55205508,75.618464,18.235971)" + id="g4382"><g + transform="translate(-80.093659,12.220029)" + id="g4308" + style="fill:none;stroke:#ffffff;stroke-opacity:1"><g + id="g4310" + style="fill:none;stroke:#ffffff;stroke-opacity:1"><path + d="m 6.736,49.002 h 24.52 c 2.225,0 3.439,-1.447 3.439,-3.441 v -27.28 c 0,-1.73 -1.732,-3.441 -3.439,-3.441 h -4.389" + id="path4312" + style="fill:none;stroke:#ffffff;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" /></g></g><g + transform="translate(-80.093659,12.220029)" + id="g4314" + style="fill:none;stroke:#ffffff;stroke-opacity:1"><g + id="g4316" + style="fill:none;stroke:#ffffff;stroke-opacity:1"><path + d="m 26.867,38.592 c 0,1.836 -1.345,3.201 -3.441,4.047 L 6.736,49.002 V 14.84 l 16.69,-8.599 c 2.228,-0.394 3.441,0.84 3.441,2.834 v 29.517 z" + id="path4318" + style="fill:none;stroke:#ffffff;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" /></g></g><path + d="m -70.669659,54.827029 c 0,0 -1.351,-0.543 -2.702,-0.543 -1.351,0 -2.703,0.543 -2.703,0.543" + id="path4320" + style="fill:none;stroke:#ffffff;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" /><path + d="m -70.669659,44.226029 c 0,0 -1.239,-0.543 -2.815,-0.543 -1.577,0 -2.59,0.543 -2.59,0.543" + id="path4322" + style="fill:none;stroke:#ffffff;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" /><path + d="m -70.669659,33.898029 c 0,0 -1.125,-0.544 -2.927,-0.544 -1.802,0 -2.478,0.544 -2.478,0.544" + id="path4324" + style="fill:none;stroke:#ffffff;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" /><line + id="line4326" + y2="23.725029" + y1="58.753029" + x2="-66.884659" + x1="-66.884659" + style="fill:none;stroke:#ffffff;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" /></g><g + transform="matrix(1,0,0,-1,-30.386573,49.171266)" + id="g4770"><g + transform="translate(34.0803,-1006.42)" + id="g4772"><polyline + id="polyline4774" + points="51.562,15.306 41.17,16.188 42.053,5.794" + style="fill:none;stroke:#ffffff;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round" + transform="matrix(-0.469241,0.469241,-0.469241,-0.469241,66.2906,1019.03)" /><path + d="m 39.363241,1033.1291 -0.05636,9.9115 -8.750608,0.067" + id="path4776" + style="fill:none;stroke:#ffffff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /></g></g></g></svg>
\ No newline at end of file diff --git a/logcollect.py b/logcollect.py index a1251a4..82c1bba 100644 --- a/logcollect.py +++ b/logcollect.py @@ -51,6 +51,9 @@ import httplib import mimetypes import urlparse +MFG_DATA_PATHS = ['/ofw/mfg-data/', '/proc/device-tree/mfg-data/'] + + class MachineProperties: """Various machine properties in easy to access chunks. """ @@ -111,12 +114,17 @@ class MachineProperties: return line[8:].strip() def _mfg_data(self, item): - """Return mfg data item from /ofw/mfg-data/""" - - if not os.path.exists('/ofw/mfg-data/'+item): + """Return mfg data item from mfg-data directory""" + + mfg_path = None + for test_path in MFG_DATA_PATHS: + if os.path.exists(test_path + item): + mfg_path = test_path + item + break + if mfg_path == None: return '' - - v = self.__read_file('/ofw/mfg-data/'+item) + + v = self.__read_file(mfg_path) # Remove trailing 0 character, if any: if v != '' and ord(v[len(v)-1]) == 0: v = v[:len(v)-1] diff --git a/logviewer.py b/logviewer.py index 117c910..1cc86c5 100644 --- a/logviewer.py +++ b/logviewer.py @@ -28,18 +28,16 @@ import gobject import gio from sugar.activity import activity -from sugar import profile +from sugar.activity.widgets import ActivityToolbarButton from sugar import env from sugar.graphics import iconentry from sugar.graphics.toolbutton import ToolButton from sugar.graphics.toggletoolbutton import ToggleToolButton from sugar.graphics.palette import Palette from sugar.graphics.alert import NotifyAlert -from sugar.graphics.icon import Icon from logcollect import LogCollect -from sugar.graphics.toolbarbox import ToolbarButton, ToolbarBox +from sugar.graphics.toolbarbox import ToolbarBox from sugar.activity.widgets import CopyButton, StopButton -from sugar.bundle.activitybundle import ActivityBundle from sugar.datastore import datastore @@ -371,12 +369,8 @@ class LogActivity(activity.Activity): self.max_participants = 1 - activity_button = ToolButton() - color = profile.get_color() - bundle = ActivityBundle(activity.get_bundle_path()) - icon = Icon(file=bundle.get_icon(), xo_color=color) - activity_button.set_icon_widget(icon) - activity_button.show() + activity_button = ActivityToolbarButton(self) + activity_toolbar = activity_button.page toolbar_box.toolbar.insert(activity_button, -1) @@ -412,26 +406,17 @@ class LogActivity(activity.Activity): self._update_search_buttons() - edit_toolbar = gtk.Toolbar() - - delete_btn = ToolButton('list-remove') - delete_btn.set_tooltip(_('Delete Log File')) - delete_btn.connect('clicked', self._delete_log_cb) - edit_toolbar.insert(delete_btn, -1) - self.collector_palette = CollectorPalette(self) - collector_btn = ToolButton('zoom-best-fit') + collector_btn = ToolButton('log-export') collector_btn.set_palette(self.collector_palette) collector_btn.connect('clicked', self._logviewer_cb) - edit_toolbar.insert(collector_btn, -1) + collector_btn.show() + activity_toolbar.insert(collector_btn, -1) - edit_toolbar.show_all() - - edit_button = ToolbarButton() - edit_button.props.page = edit_toolbar - edit_button.props.label = _('Tools') - edit_button.props.icon_name = 'view-source' - toolbar_box.toolbar.insert(edit_button, -1) + delete_btn = ToolButton('list-remove') + delete_btn.set_tooltip(_('Delete Log File')) + delete_btn.connect('clicked', self._delete_log_cb) + toolbar_box.toolbar.insert(delete_btn, -1) separator = gtk.SeparatorToolItem() separator.set_expand(True) |