Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--icons/log-export.svg146
-rw-r--r--logcollect.py18
-rw-r--r--logviewer.py37
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)