Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Aguiar <alanjas@hotmail.com>2013-02-15 22:08:56 (GMT)
committer Alan Aguiar <alanjas@hotmail.com>2013-02-15 22:08:56 (GMT)
commit327e5f79df2c5f53857cfdbef39e6878f0f42ba4 (patch)
treea11d072431b52271ac9603c6abcf5bedb633c776
parentbe3381680b09dd7e2acd10a20396893b06c2f95d (diff)
remove old back - remove x permissions to svg
-rw-r--r--back/activity.py161
-rw-r--r--back/activity/activity-install.svg24
-rw-r--r--back/activity/activity.info8
-rw-r--r--back/back/utils.py146
-rw-r--r--back/canvas.py268
-rw-r--r--back/icons/downloads.svg24
-rw-r--r--back/setup.py21
-rw-r--r--back/store.lst470
-rw-r--r--back/utils.py146
-rw-r--r--[-rwxr-xr-x]icons/4024.svg0
-rw-r--r--[-rwxr-xr-x]icons/4028.svg0
-rw-r--r--[-rwxr-xr-x]icons/4029.svg0
-rw-r--r--[-rwxr-xr-x]icons/4030.svg0
-rw-r--r--[-rwxr-xr-x]icons/4032.svg0
-rw-r--r--[-rwxr-xr-x]icons/4037.svg0
-rw-r--r--[-rwxr-xr-x]icons/4040.svg0
-rw-r--r--[-rwxr-xr-x]icons/4041.svg0
-rw-r--r--[-rwxr-xr-x]icons/4042.svg0
-rw-r--r--[-rwxr-xr-x]icons/4043.svg0
-rw-r--r--[-rwxr-xr-x]icons/4044.svg0
-rw-r--r--[-rwxr-xr-x]icons/4045.svg0
-rw-r--r--[-rwxr-xr-x]icons/4046.svg0
-rw-r--r--[-rwxr-xr-x]icons/4050.svg0
-rw-r--r--[-rwxr-xr-x]icons/4051.svg0
-rw-r--r--[-rwxr-xr-x]icons/4054.svg0
-rw-r--r--[-rwxr-xr-x]icons/4055.svg0
-rw-r--r--[-rwxr-xr-x]icons/4058.svg0
-rw-r--r--[-rwxr-xr-x]icons/4059.svg0
-rw-r--r--[-rwxr-xr-x]icons/4060.svg0
-rw-r--r--[-rwxr-xr-x]icons/4061.svg0
-rw-r--r--[-rwxr-xr-x]icons/4062.svg0
-rw-r--r--[-rwxr-xr-x]icons/4063.svg0
-rw-r--r--[-rwxr-xr-x]icons/4064.svg0
-rw-r--r--[-rwxr-xr-x]icons/4069.svg0
-rw-r--r--[-rwxr-xr-x]icons/4071.svg0
-rw-r--r--[-rwxr-xr-x]icons/4073.svg0
-rw-r--r--[-rwxr-xr-x]icons/4074.svg0
-rw-r--r--[-rwxr-xr-x]icons/4076.svg0
-rw-r--r--[-rwxr-xr-x]icons/4078.svg0
-rw-r--r--[-rwxr-xr-x]icons/4081.svg0
-rw-r--r--[-rwxr-xr-x]icons/4082.svg0
-rw-r--r--[-rwxr-xr-x]icons/4084.svg0
-rw-r--r--[-rwxr-xr-x]icons/4086.svg0
-rw-r--r--[-rwxr-xr-x]icons/4089.svg0
-rw-r--r--[-rwxr-xr-x]icons/4091.svg0
-rw-r--r--[-rwxr-xr-x]icons/4092.svg0
-rw-r--r--[-rwxr-xr-x]icons/4093.svg0
-rw-r--r--[-rwxr-xr-x]icons/4094.svg0
-rw-r--r--[-rwxr-xr-x]icons/4095.svg0
-rw-r--r--[-rwxr-xr-x]icons/4096.svg0
-rw-r--r--[-rwxr-xr-x]icons/4097.svg0
-rw-r--r--[-rwxr-xr-x]icons/4098.svg0
-rw-r--r--[-rwxr-xr-x]icons/4100.svg0
-rw-r--r--[-rwxr-xr-x]icons/4101.svg0
-rw-r--r--[-rwxr-xr-x]icons/4102.svg0
-rw-r--r--[-rwxr-xr-x]icons/4103.svg0
-rw-r--r--[-rwxr-xr-x]icons/4104.svg0
-rw-r--r--[-rwxr-xr-x]icons/4109.svg0
-rw-r--r--[-rwxr-xr-x]icons/4110.svg0
-rw-r--r--[-rwxr-xr-x]icons/4111.svg0
-rw-r--r--[-rwxr-xr-x]icons/4112.svg0
-rw-r--r--[-rwxr-xr-x]icons/4113.svg0
-rw-r--r--[-rwxr-xr-x]icons/4114.svg0
-rw-r--r--[-rwxr-xr-x]icons/4115.svg0
-rw-r--r--[-rwxr-xr-x]icons/4191.svg0
-rw-r--r--[-rwxr-xr-x]icons/4194.svg0
-rw-r--r--[-rwxr-xr-x]icons/4195.svg0
-rw-r--r--[-rwxr-xr-x]icons/4199.svg0
-rw-r--r--[-rwxr-xr-x]icons/4200.svg0
-rw-r--r--[-rwxr-xr-x]icons/4204.svg0
-rw-r--r--[-rwxr-xr-x]icons/4206.svg0
-rw-r--r--[-rwxr-xr-x]icons/4209.svg0
-rw-r--r--[-rwxr-xr-x]icons/4212.svg0
-rw-r--r--[-rwxr-xr-x]icons/4213.svg0
-rw-r--r--[-rwxr-xr-x]icons/4214.svg0
-rw-r--r--[-rwxr-xr-x]icons/4215.svg0
-rw-r--r--[-rwxr-xr-x]icons/4217.svg0
-rw-r--r--[-rwxr-xr-x]icons/4219.svg0
-rw-r--r--[-rwxr-xr-x]icons/4220.svg0
-rw-r--r--[-rwxr-xr-x]icons/4221.svg0
-rw-r--r--[-rwxr-xr-x]icons/4224.svg0
-rw-r--r--[-rwxr-xr-x]icons/4225.svg0
-rw-r--r--[-rwxr-xr-x]icons/4232.svg0
-rw-r--r--[-rwxr-xr-x]icons/4233.svg0
-rw-r--r--[-rwxr-xr-x]icons/4251.svg0
-rw-r--r--[-rwxr-xr-x]icons/4252.svg0
-rw-r--r--[-rwxr-xr-x]icons/4253.svg0
-rw-r--r--[-rwxr-xr-x]icons/4254.svg0
-rw-r--r--[-rwxr-xr-x]icons/4264.svg0
-rw-r--r--[-rwxr-xr-x]icons/4265.svg0
-rw-r--r--[-rwxr-xr-x]icons/4266.svg0
-rw-r--r--[-rwxr-xr-x]icons/4267.svg0
-rw-r--r--[-rwxr-xr-x]icons/4268.svg0
-rw-r--r--[-rwxr-xr-x]icons/4284.svg0
-rw-r--r--[-rwxr-xr-x]icons/4286.svg0
-rw-r--r--[-rwxr-xr-x]icons/4290.svg0
-rw-r--r--[-rwxr-xr-x]icons/4293.svg0
-rw-r--r--[-rwxr-xr-x]icons/4309.svg0
-rw-r--r--[-rwxr-xr-x]icons/4314.svg0
-rw-r--r--[-rwxr-xr-x]icons/4316.svg0
-rw-r--r--[-rwxr-xr-x]icons/4318.svg0
-rw-r--r--[-rwxr-xr-x]icons/4321.svg0
-rw-r--r--[-rwxr-xr-x]icons/4324.svg0
-rw-r--r--[-rwxr-xr-x]icons/4326.svg0
-rw-r--r--[-rwxr-xr-x]icons/4329.svg0
-rw-r--r--[-rwxr-xr-x]icons/4338.svg0
-rw-r--r--[-rwxr-xr-x]icons/4349.svg0
-rw-r--r--[-rwxr-xr-x]icons/4354.svg0
-rw-r--r--[-rwxr-xr-x]icons/4355.svg0
-rw-r--r--[-rwxr-xr-x]icons/4356.svg0
-rw-r--r--[-rwxr-xr-x]icons/4360.svg0
-rw-r--r--[-rwxr-xr-x]icons/4362.svg0
-rw-r--r--[-rwxr-xr-x]icons/4368.svg0
-rw-r--r--[-rwxr-xr-x]icons/4370.svg0
-rw-r--r--[-rwxr-xr-x]icons/4371.svg0
-rw-r--r--[-rwxr-xr-x]icons/4379.svg0
-rw-r--r--[-rwxr-xr-x]icons/4381.svg0
-rw-r--r--[-rwxr-xr-x]icons/4383.svg0
-rw-r--r--[-rwxr-xr-x]icons/4397.svg0
-rw-r--r--[-rwxr-xr-x]icons/4399.svg0
-rw-r--r--[-rwxr-xr-x]icons/4402.svg0
-rw-r--r--[-rwxr-xr-x]icons/4407.svg0
-rw-r--r--[-rwxr-xr-x]icons/4413.svg0
-rw-r--r--[-rwxr-xr-x]icons/4414.svg0
-rw-r--r--[-rwxr-xr-x]icons/4418.svg0
-rw-r--r--[-rwxr-xr-x]icons/4419.svg0
-rw-r--r--[-rwxr-xr-x]icons/4423.svg0
-rw-r--r--[-rwxr-xr-x]icons/4430.svg0
-rw-r--r--[-rwxr-xr-x]icons/4431.svg0
-rw-r--r--[-rwxr-xr-x]icons/4436.svg0
-rw-r--r--[-rwxr-xr-x]icons/4457.svg0
-rw-r--r--[-rwxr-xr-x]icons/4459.svg0
-rw-r--r--[-rwxr-xr-x]icons/4463.svg0
-rw-r--r--[-rwxr-xr-x]icons/4464.svg0
-rw-r--r--[-rwxr-xr-x]icons/4465.svg0
-rw-r--r--[-rwxr-xr-x]icons/4473.svg0
-rw-r--r--[-rwxr-xr-x]icons/4475.svg0
-rw-r--r--[-rwxr-xr-x]icons/4477.svg0
-rw-r--r--[-rwxr-xr-x]icons/4483.svg0
-rw-r--r--[-rwxr-xr-x]icons/4485.svg0
-rw-r--r--[-rwxr-xr-x]icons/4488.svg0
-rw-r--r--[-rwxr-xr-x]icons/4498.svg0
-rw-r--r--[-rwxr-xr-x]icons/4505.svg0
-rw-r--r--[-rwxr-xr-x]icons/4506.svg0
-rw-r--r--[-rwxr-xr-x]icons/4507.svg0
-rw-r--r--[-rwxr-xr-x]icons/4508.svg0
-rw-r--r--[-rwxr-xr-x]icons/4518.svg0
-rw-r--r--[-rwxr-xr-x]icons/4519.svg0
-rw-r--r--[-rwxr-xr-x]icons/4526.svg0
-rw-r--r--[-rwxr-xr-x]icons/4527.svg0
-rw-r--r--[-rwxr-xr-x]icons/4528.svg0
-rw-r--r--[-rwxr-xr-x]icons/4529.svg0
-rw-r--r--[-rwxr-xr-x]icons/4534.svg0
-rw-r--r--[-rwxr-xr-x]icons/4544.svg0
-rw-r--r--[-rwxr-xr-x]icons/4545.svg0
-rw-r--r--[-rwxr-xr-x]icons/4546.svg0
-rw-r--r--[-rwxr-xr-x]icons/4548.svg0
-rw-r--r--[-rwxr-xr-x]icons/4554.svg0
-rw-r--r--[-rwxr-xr-x]icons/4561.svg0
-rw-r--r--[-rwxr-xr-x]icons/4572.svg0
-rw-r--r--[-rwxr-xr-x]icons/4577.svg0
-rw-r--r--[-rwxr-xr-x]icons/4578.svg0
-rw-r--r--[-rwxr-xr-x]icons/4580.svg0
-rw-r--r--[-rwxr-xr-x]icons/4585.svg0
-rw-r--r--[-rwxr-xr-x]icons/4587.svg0
-rw-r--r--[-rwxr-xr-x]icons/4588.svg0
-rw-r--r--[-rwxr-xr-x]icons/4591.svg0
-rw-r--r--[-rwxr-xr-x]icons/4595.svg0
-rw-r--r--[-rwxr-xr-x]icons/4597.svg0
-rw-r--r--[-rwxr-xr-x]icons/4598.svg0
-rw-r--r--[-rwxr-xr-x]icons/4599.svg0
-rw-r--r--[-rwxr-xr-x]icons/4600.svg0
-rw-r--r--[-rwxr-xr-x]icons/4601.svg0
-rw-r--r--[-rwxr-xr-x]icons/4606.svg0
-rw-r--r--[-rwxr-xr-x]icons/4609.svg0
-rw-r--r--[-rwxr-xr-x]icons/4612.svg0
-rw-r--r--[-rwxr-xr-x]icons/4613.svg0
-rw-r--r--[-rwxr-xr-x]icons/4615.svg0
-rw-r--r--[-rwxr-xr-x]icons/4621.svg0
-rw-r--r--[-rwxr-xr-x]icons/4622.svg0
-rw-r--r--[-rwxr-xr-x]icons/4623.svg0
-rw-r--r--[-rwxr-xr-x]icons/4625.svg0
-rw-r--r--[-rwxr-xr-x]icons/4626.svg0
-rw-r--r--[-rwxr-xr-x]icons/4627.svg0
-rw-r--r--[-rwxr-xr-x]icons/4628.svg0
-rw-r--r--[-rwxr-xr-x]icons/4635.svg0
-rw-r--r--[-rwxr-xr-x]icons/4647.svg0
-rw-r--r--[-rwxr-xr-x]icons/4649.svg0
188 files changed, 0 insertions, 1268 deletions
diff --git a/back/activity.py b/back/activity.py
deleted file mode 100644
index 31294ee..0000000
--- a/back/activity.py
+++ /dev/null
@@ -1,161 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-# activity.py by:
-# Agustin Zubiaga <aguz@sugarlabs.org>
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-import gtk
-import gobject
-
-gtk.gdk.threads_init()
-
-from sugar import profile
-from sugar.activity import activity
-from sugar.activity.widgets import ActivityToolbarButton
-from sugar.activity.widgets import StopButton
-from sugar.graphics.toolbarbox import ToolbarBox
-from sugar.graphics.radiotoolbutton import RadioToolButton
-from sugar.graphics.toolbutton import ToolButton
-from sugar.graphics.icon import Icon
-from sugar.graphics import iconentry
-
-from gettext import gettext as _
-
-from canvas import Canvas
-
-
-class InstallActivity(activity.Activity):
-
- def __init__(self, handle):
- activity.Activity.__init__(self, handle, True)
-
- # Canvas
- canvas = Canvas(self)
- self.set_canvas(canvas)
-
- self._download_list = canvas.gtk_list.download_list
-
- # Toolbars
- toolbarbox = ToolbarBox()
-
- activity_button = ActivityToolbarButton(self)
- toolbarbox.toolbar.insert(activity_button, 0)
-
- separator = gtk.SeparatorToolItem()
- separator.set_draw(False)
- separator.set_expand(False)
- toolbarbox.toolbar.insert(separator, -1)
-
- # Switch
- store_list = RadioToolButton()
- store_list.set_active(True)
- store_list.props.icon_name = 'view-list'
- store_list.connect("clicked", canvas.switch_to_list)
- store_list.set_tooltip(_("Show the search list"))
- toolbarbox.toolbar.insert(store_list, -1)
-
- downloads_list = RadioToolButton()
- downloads_list.connect("clicked", canvas.switch_to_downloads_list)
- downloads_list.set_tooltip(_("Show the downloads list"))
- downloads_list.props.group = store_list
-
- self.downloads_icon = DownloadsIcon()
- downloads_list.set_icon_widget(self.downloads_icon)
-
- toolbarbox.toolbar.insert(downloads_list, -1)
-
- self.store_list = store_list
- self.downloads_list = downloads_list
-
- separator = gtk.SeparatorToolItem()
- separator.set_draw(True)
- separator.set_expand(False)
- toolbarbox.toolbar.insert(separator, -1)
-
- # Search
- search_entry = iconentry.IconEntry()
- search_entry.set_size_request(gtk.gdk.screen_width() / 4, -1)
- search_entry.set_icon_from_name(
- iconentry.ICON_ENTRY_PRIMARY, 'system-search')
- search_entry.connect('activate', canvas.gtk_list.search)
- search_entry.connect('activate', lambda w:
- canvas.switch_to_list(None))
- search_entry.add_clear_button()
- search_item = gtk.ToolItem()
- search_item.add(search_entry)
- toolbarbox.toolbar.insert(search_item, -1)
-
- separator = gtk.SeparatorToolItem()
- separator.set_draw(False)
- separator.set_expand(True)
- toolbarbox.toolbar.insert(separator, -1)
-
- stopbtn = StopButton(self)
- toolbarbox.toolbar.insert(stopbtn, -1)
-
- self.set_toolbar_box(toolbarbox)
- self.show_all()
-
- canvas.set_page(0)
-
-
-class DownloadsIcon(Icon):
-
- def __init__(self):
- Icon.__init__(self, icon_name='downloads')
-
- self._profile_colors = profile.get_color()
-
- self._count = 0
- self._time_out = None
-
- self.set_normal()
-
- self.show()
-
- def set_normal(self):
- self.set_fill_color("#282828")
- self.set_stroke_color("#FFFFFF")
- self._state = "normal"
-
- def set_profile_colors(self):
- self.set_xo_color(self._profile_colors)
- self._state = "profile_colors"
-
- def animate(self):
- if not self._time_out:
- self._time_out = gobject.timeout_add(700, self._animate_timeout)
-
- def _animate_timeout(self):
- self._count += 1
-
- if self._state == "normal":
- self.set_profile_colors()
-
- else:
- self.set_normal()
-
- if self._count >= 6:
- self._count = 0
-
- gobject.source_remove(self._time_out)
- self._time_out = None
-
- return False
-
- else:
- return True
diff --git a/back/activity/activity-install.svg b/back/activity/activity-install.svg
deleted file mode 100644
index d0a4644..0000000
--- a/back/activity/activity-install.svg
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" ?><!-- Created with Inkscape (http://www.inkscape.org/) --><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd' [
- <!ENTITY stroke_color "#000000">
- <!ENTITY fill_color "#ffffff">
-]><svg height="55" id="svg2" inkscape:version="0.48.2 r9819" sodipodi:docname="Nuevo documento 1" version="1.1" width="55" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg">
- <defs id="defs4">
- <marker id="Arrow1Lstart" inkscape:stockid="Arrow1Lstart" orient="auto" refX="0.0" refY="0.0" style="overflow:visible">
- <path d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " id="path3797" style="fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.0pt;marker-start:none" transform="scale(0.8) translate(12.5,0)"/>
- </marker>
- <inkscape:perspective id="perspective3006" inkscape:persp3d-origin="27.5 : 18.333333 : 1" inkscape:vp_x="0 : 27.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_z="55 : 27.5 : 1" sodipodi:type="inkscape:persp3d"/>
- </defs>
- <sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="layer1" inkscape:cx="72.061523" inkscape:cy="40.952665" inkscape:document-units="px" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="744" inkscape:window-maximized="1" inkscape:window-width="1280" inkscape:window-x="0" inkscape:window-y="26" inkscape:zoom="2.8509174" pagecolor="#ffffff" showgrid="false"/>
- <metadata id="metadata7">
- <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/>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g id="layer1" inkscape:groupmode="layer" inkscape:label="Capa 1" transform="translate(0,-997.36218)">
- <path d="m 19.760177,1001.3624 3.78645,36.6195 -15.9687201,-8.8425 20.1004311,20.5556 21.918339,-20.1111 -19.08551,8.2323 5.46403,-36.0728 z" id="path3004" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="fill:&fill_color;;stroke:&stroke_color;;stroke-width:1.82400000000000007;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;marker-start:none;marker-mid:none;marker-end:none;fill-opacity:1"/>
- </g>
-</svg> \ No newline at end of file
diff --git a/back/activity/activity.info b/back/activity/activity.info
deleted file mode 100644
index 0a20ee6..0000000
--- a/back/activity/activity.info
+++ /dev/null
@@ -1,8 +0,0 @@
-[Activity]
-name = Install
-activity_version = 1
-bundle_id = org.sugarlabs.Install
-exec = sugar-activity activity.InstallActivity -s
-icon = activity-install
-show_launcher = yes
-license = GPLv3+
diff --git a/back/back/utils.py b/back/back/utils.py
deleted file mode 100644
index 9eef88a..0000000
--- a/back/back/utils.py
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-# utils.py by:
-# Agustin Zubiaga <aguz@sugarlabs.org>
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-import os
-import gtk
-import urllib
-import logging
-
-from sugar.activity import activity
-from sugar.bundle.activitybundle import ActivityBundle
-
-# Paths
-LIST_DOWNLOAD = "http://www.fing.edu.uy/~aaguiar/files/store.lst"
-LIST_PATH = os.path.join(activity.get_bundle_path(), 'store.lst')
-ICONS_DIR = os.path.join(activity.get_activity_root(), 'data')
-TMP_DIR = os.path.join(activity.get_activity_root(), "tmp")
-
-downloading = False
-
-# Logging
-_logger = logging.getLogger('install-activity')
-_logger.setLevel(logging.DEBUG)
-logging.basicConfig()
-
-
-def get_logger():
- return _logger
-
-
-def update_list():
- """Download the latest list version"""
- global downloading
- try:
- downloading = True
- remote_file = urllib.urlopen(LIST_DOWNLOAD)
- _file = open(LIST_PATH, 'w')
- _file.write(remote_file.read())
- _file.close()
- remote_file.close()
- except:
- pass
-
- downloading = False
-
-
-def get_store_list():
- """Returns the store list"""
- store_list = []
- try:
- f = open(LIST_PATH, 'r')
- e = True
- while e:
- line = f.readline()
- if not(line):
- e = False
- else:
- line = line.replace('\n', '')
- l = line.split('|')
- store_list.append(l)
- except:
- pass
-
- return store_list
-
-
-def get_icon(activity_id):
- """Returns the icon of an specified activity"""
- store_list = get_store_list()
- activity_obj = store_list[activity_id]
- number = activity_obj[0]
-
- file_image = os.path.join(ICONS_DIR, "icon%s" % number)
- if not os.path.exists(file_image):
- url =\
- 'http://activities.sugarlabs.org/en-US/sugar/images/addon_icon/' + number
- f, headers = urllib.urlretrieve(url, file_image)
-
- pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(file_image, 45, 45)
-
- return pixbuf
-
-
-def download_activity(_id, progress_function):
- """Download (and install) an activity"""
- store_list = get_store_list()
- activity_obj = store_list[_id]
-
- name = activity_obj[1]
- name = name.lower()
- name = name.replace(' ', '_')
- n = activity_obj[0]
- web = 'http://activities.sugarlabs.org/es-ES/sugar/downloads/latest/'
- web = web + n + '/addon-' + n + '-latest.xo'
- version = activity_obj[3]
-
- def progress_changed(block, block_size, total_size):
- downloaded = block * block_size
- progress = downloaded * 100 / total_size
-
- progress_function(progress)
-
- xo = name + '-' + version + '.xo'
- file_path = os.path.join(activity.get_activity_root(), "data", xo)
-
- _logger.info("Downloading activity (%s)")
- urllib.urlretrieve(web,
- file_path,
- reporthook=progress_changed)
-
- _logger.info("Installing activity (%s)")
- install_activity(file_path, progress_function)
-
-
-def install_activity(xofile, progress_function):
- """Install an downloaded activity"""
- # Show "Installing..." message
- progress_function(150)
-
- # Install the .xo
- bundle = ActivityBundle(xofile)
- bundle.install()
-
- # Remove the .xo
- os.remove(xofile)
-
- # Show "Installed..." message
- progress_function(200)
-
- _logger.info("Activity installed! (%s)")
diff --git a/back/canvas.py b/back/canvas.py
deleted file mode 100644
index 5cc6d6b..0000000
--- a/back/canvas.py
+++ /dev/null
@@ -1,268 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-# canvas.py by:
-# Agustin Zubiaga <aguz@sugarlabs.org>
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-import gtk
-import gobject
-import pango
-import threading
-import utils
-
-from gettext import gettext as _
-
-BTN_COLOR = gtk.gdk.color_parse("blue")
-
-# Logging
-_logger = utils.get_logger()
-
-
-class Canvas(gtk.Notebook):
-
- def __init__(self, parent):
- gtk.Notebook.__init__(self)
-
- self._parent = parent
-
- # Search List
- self.gtk_list = List(self._parent)
-
- eventbox = gtk.EventBox()
- eventbox.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color("#FFFFFF"))
- eventbox.add(self.gtk_list)
-
- scroll = gtk.ScrolledWindow()
- scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
- scroll.add_with_viewport(eventbox)
-
- self.append_page(scroll)
-
- # Download List
- scroll = gtk.ScrolledWindow()
- scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
-
- scroll.add_with_viewport(self.gtk_list.download_list)
- self.append_page(scroll)
-
- self.set_property('show-tabs', False)
-
- self.show_all()
-
- def switch_to_list(self, widget):
- self.set_page(0)
- if not widget:
- self._parent.store_list.set_active(True)
-
- def switch_to_downloads_list(self, widget):
- self.set_page(1)
-
-
-class List(gtk.VBox):
-
- def __init__(self, parent):
- gtk.VBox.__init__(self)
-
- self.download_list = DownloadList()
-
- self._parent = parent
- self.thread = None
- self.words = ''
- self._list = utils.get_store_list()
- self.can_search = True
- self.stopped = False
-
- self.show_all()
-
- def stop_search(self, *args):
- self.stopped = True
-
- def _add_activity(self, widget):
- self.pack_start(widget, False, False, 7)
- separator = gtk.HSeparator()
- self.pack_start(separator, False, False, 2)
-
- widget.show()
- separator.show()
-
- def clear(self):
- for child in self.get_children():
- self.remove(child)
- child = None
-
- def search(self, entry):
- #_logger.debug(threading.enumerate())
- if self.can_search:
- self.can_search = False
- self.w = entry.get_text().lower()
- self.clear()
- self.thread = threading.Thread(target=self._search)
- self.thread.start()
- else:
- self.stop_search()
- gobject.idle_add(self.search, entry)
-
- def _search(self):
- w = str(self.w)
- _id = -1
- for activity in self._list:
- if self.stopped:
- break
- _id += 1
- name = activity[1].lower()
- description = activity[2].lower()
- if (w in name) or (w in description):
- activity_widget = ActivityWidget(_id, self)
- self._add_activity(activity_widget)
- self.can_search = True
-
-
-class ActivityWidget(gtk.HBox):
-
- def __init__(self, _id, parent):
- gtk.HBox.__init__(self, False, 0)
-
- self._id = _id
- self._download_list = parent.download_list
- self._downloads_icon = parent._parent.downloads_icon
-
- self.name_label = self._label()
- self.icon = gtk.Image()
- self.install_button = gtk.Button(_("INSTALL"))
- self.install_button.connect("clicked", self._btn_clicked)
- self.install_button.modify_bg(gtk.STATE_NORMAL, BTN_COLOR)
- self.install_button.modify_bg(gtk.STATE_PRELIGHT, BTN_COLOR)
- self.install_button.modify_bg(gtk.STATE_ACTIVE, BTN_COLOR)
- self.install_button.set_size_request(gtk.gdk.screen_width() / 10, -1)
-
- self._activity_props = parent._list[_id]
-
- self._left_box = gtk.VBox()
- self._right_box = gtk.VBox()
- self._icon_and_label = gtk.HBox()
-
- self._icon_and_label.pack_start(self.icon, False, True, 0)
- self._icon_and_label.pack_end(self.name_label, True, True, 6)
- self._left_box.pack_start(self._icon_and_label, False, True, 0)
- self._left_box.pack_end(self.install_button, False, True, 0)
-
- self.desc_label = self._label()
- self.vers_label = self._label()
- self.suga_label = self._label()
- self.upda_label = self._label()
- self.down_label = self._label()
- self.home_label = self._label()
-
- self._right_box.pack_start(self.desc_label, False, True, 0)
- self._right_box.pack_start(self.vers_label, False, True, 0)
- self._right_box.pack_start(self.suga_label, False, True, 0)
- self._right_box.pack_start(self.upda_label, False, True, 0)
- self._right_box.pack_start(self.down_label, False, True, 0)
- self._right_box.pack_start(self.home_label, False, True, 0)
-
- self.pack_start(self._left_box, False, True, 10)
- self.pack_end(self._right_box, False, True, 50)
-
- self.connect("expose-event", self._expose_event_cb)
-
- self._setup()
-
- self.show_all()
-
- def _expose_event_cb(self, widget, event):
- self.install_button.set_size_request(gtk.gdk.screen_width() / 10, -1)
-
- def _label(self):
- label = gtk.Label()
- label.set_justify(gtk.JUSTIFY_LEFT)
- label.set_line_wrap(True)
-
- return label
-
- def _setup(self):
- self.name_label.set_markup("<b>%s</b>" % self._activity_props[1])
-
- self.desc_label.set_markup(self._activity_props[2])
- self.vers_label.set_markup('<b>Version:</b> ' + self._activity_props[3])
- self.suga_label.set_markup('<b>Works with:</b> ' +\
- self._activity_props[4] + ' - ' + self._activity_props[5])
- self.upda_label.set_markup('<b>Updated:</b> ' + self._activity_props[6])
- self.down_label.set_markup('<b>Downloads:</b> ' +\
- self._activity_props[7])
- self.home_label.set_markup('<b>Homepage:</b> ' +\
- self._activity_props[8])
-
- try:
- pixbuf_icon = utils.get_icon(self._id)
- self.icon.set_from_pixbuf(pixbuf_icon)
- except:
- pass
-
- def _btn_clicked(self, widget):
- _logger.info("Install button clicked (%s)")
- self._downloads_icon.animate()
-
- threading.Thread(target=utils.download_activity, args=(self._id,
- self._progress_changed)).start()
-
- self._download_id = self._download_list.add_download(
- self._activity_props[1])
-
- def _progress_changed(self, progress):
- self._download_list.set_download_progress(self._download_id, progress)
-
-
-class DownloadList(gtk.TreeView):
-
- def __init__(self):
- gtk.TreeView.__init__(self)
-
- self._model = gtk.ListStore(str, str, int)
- self.set_model(self._model)
-
- renderer_text = gtk.CellRendererText()
- column_text = gtk.TreeViewColumn(_("Name"), renderer_text, text=0)
- self.append_column(column_text)
-
- renderer_text = gtk.CellRendererText()
- column_text = gtk.TreeViewColumn(_("State"), renderer_text, text=1)
- self.append_column(column_text)
-
- renderer_progress = gtk.CellRendererProgress()
- column_progress = gtk.TreeViewColumn(_("Progress"), renderer_progress,
- value=2)
- self.append_column(column_progress)
-
- self.show_all()
-
- def add_download(self, name):
- _iter = self._model.append([name, _("Starting download..."), 0])
- return _iter
-
- def set_download_progress(self, _id, progress):
- if progress <= 100:
- self._model[_id][2] = int(progress)
-
- if progress > 0:
- self._model[_id][1] = _("Downloading...")
-
- if progress >= 150:
- self._model[_id][1] = _("Installing...")
- self._model[_id][2] = 100
-
- if progress == 200:
- self._model[_id][1] = _("Installed!")
diff --git a/back/icons/downloads.svg b/back/icons/downloads.svg
deleted file mode 100644
index d0a4644..0000000
--- a/back/icons/downloads.svg
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" ?><!-- Created with Inkscape (http://www.inkscape.org/) --><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd' [
- <!ENTITY stroke_color "#000000">
- <!ENTITY fill_color "#ffffff">
-]><svg height="55" id="svg2" inkscape:version="0.48.2 r9819" sodipodi:docname="Nuevo documento 1" version="1.1" width="55" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg">
- <defs id="defs4">
- <marker id="Arrow1Lstart" inkscape:stockid="Arrow1Lstart" orient="auto" refX="0.0" refY="0.0" style="overflow:visible">
- <path d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " id="path3797" style="fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.0pt;marker-start:none" transform="scale(0.8) translate(12.5,0)"/>
- </marker>
- <inkscape:perspective id="perspective3006" inkscape:persp3d-origin="27.5 : 18.333333 : 1" inkscape:vp_x="0 : 27.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_z="55 : 27.5 : 1" sodipodi:type="inkscape:persp3d"/>
- </defs>
- <sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="layer1" inkscape:cx="72.061523" inkscape:cy="40.952665" inkscape:document-units="px" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="744" inkscape:window-maximized="1" inkscape:window-width="1280" inkscape:window-x="0" inkscape:window-y="26" inkscape:zoom="2.8509174" pagecolor="#ffffff" showgrid="false"/>
- <metadata id="metadata7">
- <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/>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g id="layer1" inkscape:groupmode="layer" inkscape:label="Capa 1" transform="translate(0,-997.36218)">
- <path d="m 19.760177,1001.3624 3.78645,36.6195 -15.9687201,-8.8425 20.1004311,20.5556 21.918339,-20.1111 -19.08551,8.2323 5.46403,-36.0728 z" id="path3004" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="fill:&fill_color;;stroke:&stroke_color;;stroke-width:1.82400000000000007;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;marker-start:none;marker-mid:none;marker-end:none;fill-opacity:1"/>
- </g>
-</svg> \ No newline at end of file
diff --git a/back/setup.py b/back/setup.py
deleted file mode 100644
index 530f97c..0000000
--- a/back/setup.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (C) 2006, Red Hat, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-from sugar.activity import bundlebuilder
-
-bundlebuilder.start()
diff --git a/back/store.lst b/back/store.lst
deleted file mode 100644
index 8138e49..0000000
--- a/back/store.lst
+++ /dev/null
@@ -1,470 +0,0 @@
-4024|Browse|Browse|129|0.86|0.94|September 30, 2011|34,642|http://wiki.laptop.org/go/Browse
-4026|Typing Turtle|Typing Turtle is a multilingual animated touch typing trainer.|29|0.82|0.96|December 1, 2011|167,707|http://wiki.sugarlabs.org/go/Activities/Typing_Turtle
-4027|Turtle Blocks|Turtle Blocks is an activity with a Logo-inspired graphical "turtle" that draws colorful art with snap-together visual programming elements. (Turtle Blocks was previously known as Turtle Art.)|154|0.82|0.96|July 26, 2012|69,648|http://wiki.sugarlabs.org/go/Activities/Turtle_Art
-4028|Read|Read Activity|92|0.86|0.94|October 5, 2011|27,421|http://wiki.sugarlabs.org/go/Activities/Read
-4029|IRC|The IRC activity allows you to chat with other Sugar/OLPC users and enthusiasts on the Internet via Internet Relay Chat (IRC).|10|0.82|0.94|June 13, 2011|11,579|http://wiki.sugarlabs.org/go/Activities/IRC
-4030|Etoys|Media authoring environment with graphical scripting for children of all ages. Aren't we all children?|113|0.84|0.92|December 1, 2009|33,809|http://squeakland.org/
-4031|Wireless Graph|WirelessGraph|7|0.82|0.94|February 22, 2009|23,622|
-4032|Image Viewer|Image Viewer|21|0.86|0.96|June 6, 2012|53,972|
-4034|Moon|Moon phase viewer, includes Lunar phase information and eclipse data.|14|0.82|0.96|May 7, 2012|164,318|http://wiki.sugarlabs.org/go/Activities/Moon
-4035|Read ETexts|Read ETexts lets you read all the free e-texts from Project Gutenberg on your XO, or use Text to Speech to have them read to you. The built in offline catalog search lets you browse through and download over 24,000 great titles!|24|0.82|0.96|April 21, 2012|95,994|http://wiki.sugarlabs.org/go/Activities/Read_Etexts
-4037|Cartoon Builder|Animate a cartoon character by creating a sequence of poses inside a filmstrip|17|0.82|0.96|June 6, 2012|15,610|http://sugarlabs.org/go/Activities/CartoonBuilder
-4038|Speak|Speak is a talking face for the Sugar. Anything you type will be spoken aloud using the speech synthesizer, espeak. You can "speech" chat with other users and ask any question Speak robot.|42|0.82|0.96|July 11, 2012|161,400|http://sugarlabs.org/go/Activities/Speak
-4039|View Slides|View Slides allows you to page through a series of sequentially named image files. This can be used for reading scanned in books like picture books, comic books, magazine articles, photos, etc.|13|0.82|0.94|June 5, 2010|101,545|http://wiki.sugarlabs.org/go/Activities/View_Slides
-4040|Finance|Finance is a simple financial planning activity. It can be integrated into classroom assignments, or else used to track finances for a school club. It might also be useful for students who wish to help their parents with home finances.|8|0.82|0.96|May 23, 2012|37,159|
-4041|Pippy|Pippy is a python code editor with built-in examples and a run-time environment.|49|0.82|0.96|June 23, 2012|25,844|
-4042|Info Slicer|InfoSlicer is an open source tool to enable teachers to quickly and easily select web-based content to edit, package, and distribute as teaching materials.|15|0.82|0.96|May 23, 2012|64,062|http://sugarlabs.org/go/Activities/InfoSlicer
-4043|Terminal|Terminal|40|0.82|0.96|June 24, 2012|37,654|
-4044|Flip Sticks|Using keyframes, program a stick figure to twist, turn, tumble and dance|13|0.82|0.96|June 6, 2012|18,855|http://sugarlabs.org/go/Activities/Flip_Sticks
-4045|Jukebox|Jukebox is the media player to play different kinds of audio and video files.|26|0.84|0.96|June 14, 2012|105,695|
-4046|Jigsaw Puzzle|Classic picture-constructing game|10|0.82|0.94|October 21, 2011|40,256|http://sugarlabs.org/go/Activities/Jigsaw_Puzzle
-4047|Slider Puzzle|Slider Puzzle to improve on puzzle solving skills|10|0.82|0.94|October 21, 2011|22,568|http://sugarlabs.org/go/Activities/Slider_Puzzle
-4050|Colors|Colors is a simple natural media painting activity|15|0.82|0.90|March 15, 2009|25,538|http://sugarlabs.org/go/Activities/Colors
-4051|XO Help|Documentation and Help for the XO|14|0.96|0.96|May 4, 2012|11,906|
-4054|Free Cell|FreeCell is a classic card game for one player.|3|0.82|0.88|January 11, 2010|37,384|http://git.sugarlabs.org/projects/freecell/
-4055|Bounce|Bounce is a fast paced 3D action game.|7|0.82|0.84|March 10, 2009|20,884|http://wiki.sugarlabs.org/go/Activities/Bounce
-4056|Log|Log is an activity for inspecting log files.|29|0.84|0.96|June 1, 2012|14,164|
-4058|Develop|Develop|39|0.82|0.88|May 2, 2009|14,727|
-4059|TamTam Edit|Music composition and synthesis|63|0.82|0.96|April 28, 2012|20,514|http://sugarlabs.org/go/Activities/TamTam
-4060|TamTam Jam|Music composition and synthesis|63|0.82|0.96|April 28, 2012|19,084|http://sugarlabs.org/go/Activities/TamTam
-4061|TamTam Mini|Music composition and synthesis|63|0.82|0.96|April 28, 2012|23,744|http://sugarlabs.org/go/Activities/TamTam
-4062|TamTam Synth Lab|Music composition and synthesis|63|0.82|0.96|April 28, 2012|18,528|http://sugarlabs.org/go/Activities/TamTam
-4063|Memorize|Memory game|41|0.86|0.96|April 19, 2012|56,632|http://sugarlabs.org/go/Activities/Memorize
-4064|Joke Machine|org.worldwideworkshop.JokeMachineActivity Start a multimedia jokebook and invite your friends to add jokes to it|14|0.82|0.94|October 21, 2011|27,849|http://sugarlabs.org/go/Activities/JokeMachine
-4069|Chat|Chat provides a simple interface for collaborative discussion, be it between two individuals or among a group as large as an entire classroom. Use Neighborhood View to invite particular people to Chat, or share for a public conversation.|77|0.86|0.96|June 6, 2012|22,004|http://wiki.laptop.org/go/Chat
-4071|Maze|Maze is a multi-player maze game. You can play with one, two or three players on a single machine or even more via Sugar's mesh based collaboration.|21|0.82|0.96|June 1, 2012|12,779|
-4072|Frotz|Frotz lets you play interactive fiction games (also known as text adventures). Frotz includes one game, the classic Adventure. You can download and play many more games in several languages.|3|0.84|0.88|March 21, 2009|1,368|http://wiki.laptop.org/go/Frotz
-4073|Story Builder|Graphical story constructor with a variety of characters and backgrounds and simple word-processing capabilities|19|0.82|0.94|November 2, 2011|14,302|http://wiki.sugarlabs.org/go/Activities/Story_Builder
-4074|Poll|Create a poll, collect votes and analyze community opinions|28|0.82|0.96|February 27, 2012|17,811|http://sugarlabs.org/go/Activities/Poll
-4075|NatureImages|nature images|1|0.84|0.84|April 6, 2009|14,005|
-4076|Calculate|Calculate is a Sugar calculator.|40|0.82|0.96|May 7, 2012|9,955|
-4077|Newbery|Newbery Medal Winners by Women Authors|1|0.84|0.84|April 9, 2009|619|http://digital.library.upenn.edu/women/_collections/newbery/newbery.html
-4078|Labyrinth|Labyrinth is a lightweight mind-mapping activity that supports text, images, and simple drawings.|14|0.84|0.96|June 26, 2012|84,282|http://wiki.sugarlabs.org/go/Activities/Labyrinth
-4079||Bundle is intended as a GUI shell for managing and creating archives in the native sugar environment. In short, an Easy To Use Archiving Tool.|||||918|http://wiki.github.com/Bundloleers/bundle
-4080|Software to work with scales and chords on musical instruments.|Software to work with scales and chords on musical instruments.|147|0.82|0.88|August 11, 2010|2,127|http://sourceforge.net/projects/musictheory/
-4081|Record|Still, video, and audio capture|96|0.96|0.96|May 7, 2012|30,375|http://wiki.sugarlabs.org/go/Activities/Record
-4082|Paint|Simple paint activity|43|0.86|0.96|May 4, 2012|12,311|http://wiki.sugarlabs.org/go/Activities/Paint
-4083|PlayGo|PlayGo|6|0.82|0.94|May 11, 2009|25,044|http://wiki.laptop.org/go/PlayGo
-4084|SocialCalcActivity|SocialCalc|6|0.82|0.92|June 12, 2012|19,492|http://seeta.in/j/products-and-services/socialcalc-on-sugar.html
-4085|xoEditor|Editor for XO icon colors; this activity lets you explore different color patterns. You can use xoEditor to save these changes to your icon colors.|6|0.82|0.96|May 23, 2012|45,732|http://wiki.sugarlabs.org/go/Activities/XoEditor
-4086|Implode|Implode is a "falling block" logic game. The object of the game is to remove all the blocks, by removing blocks in groups of three or more.|12|0.82|0.96|May 14, 2012|18,767|
-4087|APRS-XO|APRS-XO is a tiny APRS implementation for the XO computer. Amateur radio license required.|14|0.84|0.84|May 30, 2009|1,189|http://zielkeassociates.com/~jack/aprs-xo/
-4088|Tux Paint|Paint program for young children|6|0.82|0.94|October 15, 2011|67,383|http://wiki.sugarlabs.org/go/Activities/Tux_Paint
-4089|Library|Browse, launch and share(for v2&#43;) sugar objects|1|0.84|0.84|June 1, 2009|16,235|http://wiki.sugarlabs.org/go/Activities/Library
-4090|GCompris Additional Content|Music and voices for GCompris activities|13|0.82|0.90|February 19, 2010|113,543|
-4091|GCompris Advanced Colors|Advanced colors|13|0.82|0.90|February 19, 2010|48,357|http://gcompris.net/
-4092|GCompris Algebra By|Practice the multiplication operation|13|0.82|0.90|February 19, 2010|31,839|http://gcompris.net/
-4093|GCompris Algebra Guesscount|Find the series of correct operations that matches the given answer|13|0.82|0.90|February 19, 2010|58,138|http://gcompris.net/
-4094|GCompris Algebra Plus|Practice the addition operation|13|0.82|0.90|February 19, 2010|14,429|http://gcompris.net/
-4095|GCompris Algebra Minus|Practice the subtraction operation|13|0.82|0.90|February 19, 2010|10,863|http://gcompris.net/
-4096|GCompris Algorithm|algorithm|13|0.82|0.90|February 19, 2010|22,608|http://gcompris.net/
-4097|GCompris Anim|Create a drawing or an animation|13|0.82|0.90|February 19, 2010|32,164|http://gcompris.net/
-4098|GCompris Awele|Oware|13|0.82|0.90|February 19, 2010|18,254|http://gcompris.net/
-4099|GCompris Babymatch|Matching Items|13|0.82|0.90|February 19, 2010|29,906|http://gcompris.net/
-4100|GCompris Babyshapes|Complete the puzzle|13|0.82|0.90|February 19, 2010|27,011|http://gcompris.net/
-4101|GCompris Ballcatch|Make the ball go to Tux|13|0.82|0.90|February 19, 2010|33,755|http://gcompris.net/
-4102|GCompris Bargame|bar game|13|0.82|0.90|February 19, 2010|31,722|http://gcompris.net/
-4103|GCompris Billard|The football game|13|0.82|0.90|February 19, 2010|173,753|http://gcompris.net/
-4104|GCompris Canal Lock|Operate a canal lock|13|0.82|0.90|February 19, 2010|21,564|http://gcompris.net/
-4105|GCompris Chess Computer|Learning chess|13|0.82|0.90|February 19, 2010|28,425|http://gcompris.net/
-4106|GCompris Chess Movelearn|Learning chess|13|0.82|0.90|February 19, 2010|11,057|http://gcompris.net/
-4107|GCompris Chess Partyend|Learning chess|13|0.82|0.90|February 19, 2010|12,983|http://gcompris.net/
-4108|GCompris Chronos|Chronos|13|0.82|0.90|February 19, 2010|16,065|http://gcompris.net/
-4109|GCompris Clickanddraw|Click and draw|13|0.82|0.90|February 19, 2010|31,250|http://gcompris.net/
-4110|GCompris Clickgame|Click On Me|13|0.82|0.90|February 19, 2010|20,957|http://gcompris.net/
-4111|GCompris Click On Letter|Click on a letter|13|0.82|0.90|February 19, 2010|15,236|http://gcompris.net/
-4112|GCompris Clockgame|Learning Clock|13|0.82|0.90|February 19, 2010|36,520|http://gcompris.net/
-4113|GCompris Colors|Colors|13|0.82|0.90|February 19, 2010|14,160|http://gcompris.net/
-4114|GCompris Connect4|Connect 4|13|0.82|0.90|February 19, 2010|15,121|http://gcompris.net/
-4115|GCompris Connect4-2players|Connect 4 (2 Players)|13|0.82|0.90|February 19, 2010|11,745|http://gcompris.net/
-4116|GCompris Crane|Build the same model|13|0.82|0.90|February 19, 2010|40,904|http://gcompris.net/
-4117|GCompris Doubleentry|Double-entry table|13|0.82|0.90|February 19, 2010|10,695|http://gcompris.net/
-4118|GCompris Drawnumber|Draw Number|13|0.82|0.90|February 19, 2010|12,322|http://gcompris.net/
-4119|GCompris Electric|Electricity|13|0.82|0.90|February 19, 2010|19,497|http://gcompris.net/
-4120|GCompris Enumerate|Count the items|13|0.82|0.90|February 19, 2010|17,834|http://gcompris.net/
-4121|GCompris Erase|Move the mouse|13|0.82|0.90|February 19, 2010|10,851|http://gcompris.net/
-4122|GCompris Erase Click|Click the mouse|13|0.82|0.90|February 19, 2010|8,878|http://gcompris.net/
-4123|GCompris Fifteen|The fifteen game|13|0.82|0.90|February 19, 2010|13,933|http://gcompris.net/
-4124|GCompris Followline|Control the hose-pipe|13|0.82|0.90|February 19, 2010|12,490|http://gcompris.net/
-4125|GCompris Geography|Locate the countries|13|0.82|0.90|February 19, 2010|52,841|http://gcompris.net/
-4126|GCompris Geography Country|Locate the region|13|0.82|0.90|February 19, 2010|20,910|http://gcompris.net/
-4127|GCompris Gletters|Simple Letters|13|0.82|0.90|February 19, 2010|15,168|http://gcompris.net/
-4128|GCompris Gnumch Equality|Equality Number Munchers|13|0.82|0.90|February 19, 2010|15,219|http://gcompris.net/
-4129|GCompris Gnumch Factors|Factor Number Munchers|13|0.82|0.90|February 19, 2010|12,547|http://gcompris.net/
-4130|GCompris Gnumch Inequality|Inequality Number Munchers|13|0.82|0.90|February 19, 2010|18,680|http://gcompris.net/
-4131|GCompris Gnumch Multiples|Multiple Number Munchers|13|0.82|0.90|February 19, 2010|8,253|http://gcompris.net/
-4132|GCompris Gnumch Primes|Prime Number Munchers|13|0.82|0.90|February 19, 2010|10,191|http://gcompris.net/
-4133|GCompris Guessnumber|Guess a number|13|0.82|0.90|February 19, 2010|26,948|http://gcompris.net/
-4134|GCompris Hanoi|Simplified Tower of Hanoi|13|0.82|0.90|February 19, 2010|16,294|http://gcompris.net/
-4135|GCompris Hanoi Real|The Tower of Hanoi|13|0.82|0.90|February 19, 2010|18,152|http://gcompris.net/
-4136|GCompris Hexagon|hexagon|13|0.82|0.90|February 19, 2010|16,341|http://gcompris.net/
-4137|GCompris Imageid|Reading practice|13|0.82|0.90|February 19, 2010|14,795|http://gcompris.net/
-4138|GCompris Imagename|Image Name|13|0.82|0.90|February 19, 2010|12,045|http://gcompris.net/
-4139|GCompris Leftright|Find your left and right hands|13|0.82|0.90|February 19, 2010|16,367|http://gcompris.net/
-4140|GCompris Magic Hat Minus|The magician hat|13|0.82|0.90|February 19, 2010|12,519|http://gcompris.net/
-4141|GCompris Magic Hat Plus|The magician hat|13|0.82|0.90|February 19, 2010|10,982|http://gcompris.net/
-4142|GCompris Maze|Maze|13|0.82|0.90|February 19, 2010|21,881|http://gcompris.net/
-4143|GCompris Maze2 DRelative|Maze|13|0.82|0.90|February 19, 2010|12,351|http://gcompris.net/
-4144|GCompris Maze 3D|3D Maze|13|0.82|0.90|February 19, 2010|81,913|http://gcompris.net/
-4145|GCompris Maze Invisible|Maze|13|0.82|0.90|February 19, 2010|9,794|http://gcompris.net/
-4146|GCompris Memory|Memory Game with images|13|0.82|0.90|February 19, 2010|11,762|http://gcompris.net/
-4147|GCompris Memory Add|Addition memory game|13|0.82|0.90|February 19, 2010|5,421|http://gcompris.net/
-4148|GCompris Memory Add Minus|Addition and subtraction memory game|13|0.82|0.90|February 19, 2010|5,359|http://gcompris.net/
-4149|GCompris Memory Add Minus Mult Div|All operations memory game|13|0.82|0.90|February 19, 2010|4,901|http://gcompris.net/
-4150|GCompris Memory Add Minus Mult Div Tux|All operations memory game against Tux|13|0.82|0.90|February 19, 2010|4,901|http://gcompris.net/
-4151|GCompris Memory Add Minus Tux|Addition and subtraction memory game against Tux|13|0.82|0.90|February 19, 2010|4,367|http://gcompris.net/
-4152|GCompris Memory Add Tux|Addition memory game against Tux|13|0.82|0.90|February 19, 2010|3,955|http://gcompris.net/
-4153|GCompris Memory Div|Division memory game|13|0.82|0.90|February 19, 2010|3,944|http://gcompris.net/
-4154|GCompris Memory Div Tux|Division memory game against Tux|13|0.82|0.90|February 19, 2010|3,687|http://gcompris.net/
-4155|GCompris Memory Minus|Subtraction memory game|13|0.82|0.90|February 19, 2010|3,784|http://gcompris.net/
-4156|GCompris Memory Minus Tux|Subtraction memory game against Tux|13|0.82|0.90|February 19, 2010|5,936|http://gcompris.net/
-4157|GCompris Memory Mult|Multiplication memory game|13|0.82|0.90|February 19, 2010|4,478|http://gcompris.net/
-4158|GCompris Memory Mult Div|Multiplication and division memory game|13|0.82|0.90|February 19, 2010|4,521|http://gcompris.net/
-4159|GCompris Memory Mult Div Tux|Multiplication and division memory game against Tux|13|0.82|0.90|February 19, 2010|3,933|http://gcompris.net/
-4160|GCompris Memory Mult Tux|Multiplication memory game against Tux|13|0.82|0.90|February 19, 2010|4,102|http://gcompris.net/
-4161|GCompris Memory Sound|Audio memory game|13|0.82|0.90|February 19, 2010|7,249|http://gcompris.net/
-4162|GCompris Memory Sound Tux|Audio memory game against Tux|13|0.82|0.90|February 19, 2010|8,360|http://gcompris.net/
-4163|GCompris Memory Tux|Memory Game with images, against Tux|13|0.82|0.90|February 19, 2010|10,723|http://gcompris.net/
-4164|GCompris Missing Letter|Missing Letter|13|0.82|0.90|February 19, 2010|11,088|http://gcompris.net/
-4165|GCompris Money|Money|13|0.82|0.90|February 19, 2010|16,003|http://gcompris.net/
-4166|GCompris Money Cents|Money|13|0.82|0.90|February 19, 2010|10,276|http://gcompris.net/
-4167|GCompris Mosaic|Rebuild the mosaic|13|0.82|0.90|February 19, 2010|10,596|http://gcompris.net/
-4168|GCompris Paintings|Assemble the puzzle|13|0.82|0.90|February 19, 2010|21,847|http://gcompris.net/
-4169|GCompris Paratrooper|Parachutist|13|0.82|0.90|February 19, 2010|26,675|http://gcompris.net/
-4170|GCompris Planegame|Numbers in Order|13|0.82|0.90|February 19, 2010|15,607|http://gcompris.net/
-4171|GCompris Railroad|Railway|13|0.82|0.90|February 19, 2010|22,813|http://gcompris.net/
-4172|GCompris Read Colors|Read the names of colors|13|0.82|0.90|February 19, 2010|14,638|http://gcompris.net/
-4173|GCompris Readingh|Horizontal reading practice|13|0.82|0.90|February 19, 2010|6,947|http://gcompris.net/
-4174|GCompris Readingv|Vertical-reading practice|13|0.82|0.90|February 19, 2010|5,611|http://gcompris.net/
-4175|GCompris Redraw|Redraw the given item|13|0.82|0.90|February 19, 2010|12,190|http://gcompris.net/
-4176|GCompris Redraw Symmetrical|Mirror the given item|13|0.82|0.90|February 19, 2010|13,163|http://gcompris.net/
-4177|GCompris Reversecount|Practice subtraction with a fun game|13|0.82|0.90|February 19, 2010|12,637|http://gcompris.net/
-4178|GCompris Scalesboard|Balance the scales properly|13|0.82|0.90|February 19, 2010|15,361|http://gcompris.net/
-4179|GCompris Searace|Sea race (2 Players)|13|0.82|0.90|February 19, 2010|13,348|http://gcompris.net/
-4180|GCompris Searace1player|Sea race (Single Player)|13|0.82|0.90|February 19, 2010|17,309|http://gcompris.net/
-4181|GCompris Smallnumbers|Numbers With Dice|13|0.82|0.90|February 19, 2010|9,672|http://gcompris.net/
-4182|GCompris Smallnumbers2|Numbers with pairs of dice|13|0.82|0.90|February 19, 2010|13,138|http://gcompris.net/
-4183|GCompris Submarine|Pilot a submarine|13|0.82|0.90|February 19, 2010|21,941|http://gcompris.net/
-4184|GCompris Sudoku|Sudoku, place unique symbols in a square.|13|0.82|0.90|February 19, 2010|21,500|http://gcompris.net/
-4185|GCompris Superbrain|Super Brain|13|0.82|0.90|February 19, 2010|24,348|http://gcompris.net/
-4186|GCompris Tangram|The tangram puzzle game|13|0.82|0.90|February 19, 2010|55,450|http://gcompris.net/
-4187|GCompris Target|Practice addition with a target game|13|0.82|0.90|February 19, 2010|22,028|http://gcompris.net/
-4188|GCompris Traffic|A sliding-block puzzle game|13|0.82|0.90|February 19, 2010|55,731|http://gcompris.net/
-4189|GCompris Watercycle|Learn about the water cycle|13|0.82|0.90|February 19, 2010|18,851|http://gcompris.net/
-4190|GCompris Wordsgame|Falling Words|13|0.82|0.90|February 19, 2010|15,700|http://gcompris.net/
-4191|Clock|Clock is a simple Activity to learn how to read and tell the time.|9|0.82|0.96|June 12, 2012|18,926|http://wiki.sugarlabs.org/go/Activities/Clock
-4192|Ruler|Ruler is a very simple Activity which provides images of a ruler, cm and mm grids, and a cm checker board.|19|0.82|0.96|February 29, 2012|7,369|http://wiki.laptop.org/go/Ruler
-4193|Physics|Physics|10|0.82|0.96|June 6, 2012|115,335|http://wiki.sugarlabs.org/go/Activities/Physics
-4194|Get Internet Archive Books|Get Internet Archive Books is a front end to the Internet Archive website's Advanced Search. It will enable you to search the archive for books and download them to your Journal.|6|0.82|0.94|June 28, 2010|14,141|http://wiki.sugarlabs.org/go/Activities/Get_Internet_Archive_Books
-4195|Helpfr|Helpfr is the french adaptation of the Help activity.|5|0.84|0.84|July 22, 2009|6,263|http://wiki.sugarlabs.org/go/Activities/Helpfr
-4196|ShowNTell|ShowNTell expands the capabilities of ClassroomPresenter to enable users to create presentations on the XO and to record audio descriptions of the slides.|11|0.82|0.96|May 12, 2012|1,695|http://wiki.sugarlabs.org/go/Activities/ShowNTell
-4197|Measure|Measure is an activity that turns the computer into an oscilloscope. Signals from the microphone (and sensors) can be plotted in time and frequency domains.|42|0.82|0.96|June 30, 2012|22,316|http://wiki.sugarlabs.org/go/Activities/Measure
-4198|Quiz|The Quiz activity presents a quiz. Quizzes may have questions about images with text or audio prompts. The Quiz activity also supports traditional flashcards.|5|0.82|0.92|June 20, 2011|1,632|http://wiki.sugarlabs.org/go/Activities/Quiz
-4199|Conozco Uruguay|Conozco Uruguay is a game for learning Uruguayan geography|11|0.82|0.94|October 20, 2011|26,283|http://wiki.laptop.org/go/Conozco_Uruguay
-4200|Analyze|Analyze|8|0.82|0.94|July 14, 2009|4,729|http://wiki.sugarlabs.org/go/Activities/Analyze
-4201|Write|Word processor|79|0.82|0.96|May 4, 2012|15,876|http://wiki.sugarlabs.org/go/Activities/Write
-4203|Update|Update is an Activity which allows users to update all of their activities which are hosted at activities.sugarlabs.org.|1|0.84|0.84|July 24, 2009|2,700|http://wiki.sugarlabs.org/go/Activities/Update
-4204|Arithmetic|Collaborative arithmetic quiz|2|0.82|0.94|January 8, 2011|68,535|http://wiki.sugarlabs.org/go/Activities/Arithmetic
-4205|Watch Me|Watch Me lets you share a view of your screen with other users. Just launch it, share it, and your friends can see everything you do!|3|0.82|0.88|July 25, 2010|22,305|
-4206|FoodForce2|FoodForce2 has been developed as a complete learning platform which teaches children through games with interactive stories. It helps them collaborate and learn by developing a village.|5|0.82|0.90|November 9, 2010|76,408|http://www.foodforce2.com
-4207|BlockHead|BlockHead is a visual calculator, for the addition and subtraction of multiple-digit whole numbers. You drag-and-drop blocks to the answer area, and maybe click "carry" or "exchange" buttons. BlockHead does the rest!|7|0.82|0.88|September 23, 2009|736|
-4208|DataManager|The DataManager Activity displays a unified view of the user's datastore including items on stored on the schoolserver and those also stored on the XO. The user may select which items to keep local.|2|0.82|0.82|August 30, 2009|3,832|http://wiki.sugarlabs.org/go/Activities/DataManager
-4209|Hop-A-Round|Round numbers with Hoppy the Grasshopper|2|0.82|0.94|September 20, 2009|26,397|
-4210||The Smile activity implements the open source Ambulant player. It displays individual media files: images, audio, video and text. More importantly it can play complex multimedia presentations defined by a standard SMIL3 file.|||||1,007|http://wiki.sugarlabs.org/go/Activities/Smile
-4211|Map|The Map Activity uses a quick version of Google Maps for exploring the world. Mapmaking tools add photos, text, and Wikipedia articles to the map. You can also download maps and lessons from an online library.|12|0.82|0.92|May 11, 2011|1,982|http://wiki.sugarlabs.org/go/Activities/Map
-4212|Domino|Domino es un juego en el que debemos jugar con fichas de valores equivalentes. Por ejemplo con sumas y restas y sus resultados o multiplicaciones. Tambien podemos jugar con fichas tradicionales. Actualmente se puede jugar contra la computadora.|8|0.82|0.94|February 8, 2010|45,905|
-4213|Ecomundo|Ecomundo es un juego de la vida, en el que se representa un ecosistema con pasto, conejos y zorros y en el que comen, se reproducen y mueren. Se pueden elegir las cantidades iniciales de cada uno y ver si el ecosistema es sustentable.|2|0.82|0.94|September 30, 2009|19,517|
-4214|Elements|Elements es una tabla de los elementos vinculada con Wikipedia y que permite almacenar notas por parte de los alumnos|2|0.82|0.94|December 14, 2009|28,593|
-4215|falabracman|falabracman|1|0.82|0.94|September 15, 2009|241,941|
-4216|USB Creator|Ubuntu USB desktop image creator|1|0.86|0.90|September 30, 2009|3,972|https://code.launchpad.net/~alsroot/usb-creator/sugar
-4217|Card Sort|Card Sort is a puzzle whose objective is to sort the tiles such that all of the intersections have black and white pairs of matching symbols.|6|0.82|0.96|November 20, 2011|18,806|
-4218|Doom|Doom es un juegos de disparos en el que tienes que matar zombies...|1|0.82|0.84|October 4, 2009|7,222|
-4219|Food Force II|FoodForce2|3|0.82|0.88|November 14, 2009|12,643|http://seeta.in/j/products-and-services/food-force-ii.html
-4220|Deducto|Deducto is a learning activity aimed towards improving childrens’ skills to deducing logic through pattern recognition.|8|0.82|0.96|May 23, 2012|6,799|http://seeta.in/j/products-and-services.html
-4221|ColorDeducto|Color Deducto is a learning activity aimed towards improving childrens’ skills to deducing logic and learning colors and color schemes through pattern recognition.|5|0.82|0.96|March 15, 2012|9,449|http://seeta.in/j/products-and-services.html
-4222|Sliderule|A simple slide ruler activity|24|0.82|0.96|November 18, 2011|9,178|http://wiki.sugarlabs.org/go/Activities/Sliderule
-4223|X2O|x2o es un simple juego donde debes guiar la o hacia la x.|9|0.82|0.88|October 29, 2009|11,759|
-4224|Kaleidoscope|Kaleidoscope|12|0.82|0.94|October 29, 2009|14,568|
-4225|EatBoom|EatBoom is a simple addition game.|2|0.82|0.94|October 30, 2009|51,155|
-4226|Our Music|Our Music - Realtime sonic environments for children. Simple and advanced versions using either ASCII keyboard or MIDI controller. ASCII allows for multiple keyboards (collaboration), MIDI for a single performer/controller.|7|0.82|0.94|November 3, 2011|9,425|http://www.arthunkins.com
-4227|Our Music MC|Our Music MC - Multiple Controller version. Realtime sonic environments for children. Simple/advanced versions for ASCII keyboard or MIDI. ASCII allows for multiple keyboards, MIDI for multiple performers/controllers.|7|0.84|0.94|November 3, 2011|4,499|http://www.arthunkins.com
-4228|Battle for Wesnoth|Battle for Wesnoth|1452|0.82|0.88|November 2, 2009|22,227|
-4230|Micropolis|Micropolis. Just like SimCity.|8|0.82|0.84|November 12, 2009|22,230|
-4231|Bridge|Bridge|2|0.82|0.88|December 19, 2009|5,660|
-4232|BlockParty|BlockParty|7|0.82|0.94|November 6, 2009|40,221|
-4233|Ayuda|This is a help resource for kids. The help is about Classmate 3 and Sugar.|1|0.82|0.88|November 8, 2009|11,077|
-4234|Listen and Spell|Listen and Spell|2|0.82|0.88|November 21, 2009|12,935|http://seeta.in/j/products-and-services/listen-spell.html
-4235|Break Out|juego arcade.requiere Etoys|80601|0.82|0.88|November 10, 2009|5,817|
-4236|StackAttack|juego de arcade|80601|0.82|0.94|November 10, 2009|10,964|
-4239||Juego arcade.|||||0|
-4241|OOo4Kids|Office suite for the 7-12, to create texts, presentations, calcsheets and draws, fully OpenOffice.org and MS Office compatible.|2|0.82|0.94|May 13, 2011|11,922|http://wiki.ooo4kids.org/
-4242|Scribble|Scribble is an activity with which two or more Sugar users can collaboratively draw simple figures on a shared canvas.|2|0.82|0.88|November 23, 2009|5,466|
-4243||Pacman like game|||||53|
-4244||Pong. Only single player.|||||82|
-4246|Dimensions (AKA Visual Match)|Visual Match is a pattern-matching game. The object of the game is to find sets of three cards where each attribute—color, shape, number of elements, and shading—either match on all three cards or are different on all three cards.|39|0.82|0.96|May 10, 2012|22,270|http://wiki.sugarlabs.org/go/Activities/VisualMatch
-4248|ninja fable|es un juego de avnturA|1|0.82|0.88|November 30, 2009|3,337|
-4249||Developer|||||37,577|http://scratch.mit.edu/
-4251|Erikos|Erikos|6|0.82|0.96|May 23, 2012|7,582|http://wiki.sugarlabs.org/go/Activities/Erikos
-4252|Guido Van Robot|Guido van Robot|1|0.82|0.94|December 11, 2009|1,883|
-4253|FotoToon|Esta actividad permite crear historietas, usando fotos o dibujos|13|0.84|0.96|June 6, 2012|87,859|
-4254|Kandid|Kandid is a system to evolve graphical forms. In Kandid a population consist of images looking like abstract art or patterns. These graphical forms are not drawn by hand. Instead new forms can be found using an interactive genetic algorithm.|11|0.82|0.96|June 22, 2012|12,586|http://wiki.sugarlabs.org/go/Activities/Kandid
-4256|Lines|Screensaver no. 1|1|0.82|0.88|December 19, 2009|2,059|
-4257|Snow|Screensaver no. 2|1|0.82|0.88|December 19, 2009|3,402|
-4258|Bounce|screensaver no. 3|1|0.82|0.88|December 19, 2009|2,863|
-4259|XOlympics|Xolympics: a 2 player game where you are the triangle trying to hit the ball to the enemys backboard.|1|0.82|0.88|December 20, 2009|78,426|
-4260|Karma|Karma|2|0.82|0.88|December 20, 2009|2,204|http://karma.sugarlabs.org
-4261|Gmail|Gmail: Email from Google|5|0.82|0.88|December 21, 2009|14,484|www.gmail.com
-4262|Mozzila Firefox|Mozilla Firefox|6|0.82|0.88|December 21, 2009|16,665|
-4263|StopWatch|StopWatch is an easy to use software stopwatch for Sugar that supports both simple and advanced timing needs.|16|0.82|0.96|June 7, 2012|6,528|
-4264|Distance|Distance is an activity that uses sound to measure the distance between two computers. If you have two laptops with speakers and microphones, Distance can turn them into an acoustic tape measure.|32|0.82|0.96|June 7, 2012|5,973|http://wiki.laptop.org/go/Distance
-4265|Escribir Especial|La actividad Escribir Especial es un editor de texto con un teclado por pantalla, el cual funciona de dos maneras: seleccionando las teclas con el puntero del ratón (mouse) o mediante un barrido tecla por tecla.|61|0.82|0.88|December 29, 2009|13,210|
-4266|FileShare|FileShare is an activity that allows the user to share files from their journal to other xo's or to a central server.|10|0.82|0.88|May 18, 2010|12,082|http://wiki.sugarlabs.org/go/FileShare
-4267|Geoquiz|Geoquiz is a geography guessing game.|5|0.92|0.96|July 21, 2012|1,725|
-4268|Chess|Chess|2|0.82|0.96|May 19, 2012|2,323|
-4269|Leer Pendrive|Reproductor de Pendrives|1|0.82|0.82|January 12, 2010|1,200|drupal.ceibaljam.org
-4270|TimeLapse|TimeLapse records audio, video, and images based on customizable increments and can play them back.|2|0.82|0.82|January 15, 2010|18,633|
-4271|Tuxmath|TuxMath is an arcade game that helps people practice their math facts.|2|0.82|0.94|April 7, 2010|146,911|
-4272|Mathematical Adventure: Fortune Hunter|Mathematical Adventure: Fortune Hunter draws on teaching children of a global scale fourth grade mathematics through the guise of a dungeon styled adventure game.|3|0.82|0.88|February 21, 2010|2,820|http://wiki.sugarlabs.org/go/Fortune_Hunter
-4273||Let me install this experimental activity.|4|0.82|0.88|January 30, 2010|1,304|
-4274|Fortune Maker|Fortune Maker is an easy to use graphical interface creation tool that works hand in hand with the Mathematical Adventure Fortune Hunter game to inspire creativity in all users up for the task.|1|0.82|0.88|February 2, 2010|1,673|http://wiki.sugarlabs.org/go/Fortune_Hunter/Fortune_Maker
-4276|ShowJPEG|ShowJPEG is a demo activity that shows a series of slides from a local directory (or, in the future, from an online source)|12|0.82|0.82|February 12, 2010|1,093|
-4277|GCompris Draw|A simple vector-drawing tool|13|0.82|0.90|February 19, 2010|19,796|http://gcompris.net/
-4278|GCompris Erase Double Click|Double click the mouse|14|0.82|0.90|February 27, 2010|16,218|http://gcompris.net/
-4279|GCompris Memory Enumerate|Enumeration memory game|14|0.82|0.90|February 27, 2010|16,068|http://gcompris.net/
-4280|GCompris Memory Word Number|Wordnumber memory game|14|0.82|0.90|February 27, 2010|28,440|http://gcompris.net/
-4282|GCompris Photo Hunter|Photo hunter|13|0.82|0.90|February 19, 2010|38,211|http://gcompris.net/
-4283|GCompris Scalesboard Weight|Balance the scales properly|14|0.82|0.90|February 27, 2010|59,805|http://gcompris.net/
-4284|GeoGebra 4 for Sugar|Dynamic Mathematics for Everyone|6|0.82|0.96|March 20, 2012|37,757|http://www.geogebra.org/
-4285|Java|Provides an easy way to install the Sun Java Runtime Environment (JRE) in Sugar. Execute the activity to see instructions on how to use this JRE from other activities or programs.|2|0.82|0.94|March 15, 2010|18,426|
-4286|Club de Othello XO|Club de Othello is an educational activity based on the metaphor of a club of game Othello or Reversi players. It is intended for visually impaired children with the intention that these learn spatio-temporal concepts.-|2|0.82|0.88|March 29, 2010|31,927|
-4287|Plot|Plot|6|0.82|0.94|April 13, 2010|11,825|https://launchpad.net/sugar-plotter-activity
-4288|Quinteti|QuinTeTi is an add learning game, it's based in a 3x3 cell board in which numbers from 1 to 9 can be located with the objective of making the rows and columns sum fifteen. The game is for two players.|3|0.82|0.94|March 16, 2010|6,296|http://drupal.ceibaljam.org/?q=node/235
-4290|Jam2Jam|Jam2Jam XO lets you manipulate musical styles. As a solo or shared activity, users can play in a virtual band easily and with little musical knowledge or experience.|4|0.82|0.96|June 11, 2012|34,935|http://www.jam2jamxo.net/
-4291|Sugar Commander|Sugar Commander is a utility for working with the Journal. You can easily add files as Journal entries, view and update title, description, and tags for entries and delete entries you no longer need.|8|0.82|0.94|August 9, 2011|15,647|http://wiki.sugarlabs.org/go/Activities/Sugar_Commander
-4292|TetrisMat|Eliminates three cells in this tetris performing simple math operations|1|0.82|0.88|March 29, 2010|12,117|
-4293|Abacus|Abacus is a simple abacus activity for Sugar.|30.5|0.82|0.96|May 4, 2012|14,830|http://wiki.sugarlabs.org/go/Activities/Abacus
-4294||Let me install this experimental activity.|1|0.82|0.88|April 5, 2010|1,641|
-4296|Wine|Wine is a software emulator.|23|0.82|0.88|April 12, 2010|35,977|
-4297||para los amantes de los juegos de plataformas les llega super tux u clon de mrio bros lo unico que es de tux.cuando lo descargen les va a dar que descargan flie.php no se preocupen|||||2,323|
-4298|Turtle Art|Turtle Art Mini is a simple graphical environment modeled on the Logo programming language. It emphasizes graphical expression by learners new to programming. (Turtle Art offers a small subset of the functionality of Turtle Blocks.)|149|0.82|0.96|July 8, 2012|3,968|http://wiki.sugarlabs.org/go/Activities/TurtleArt
-4299|XaoS|XaoS is an interactive fractal zoomer. It allows the user to continuously to zoom in or out of a fractal in a fluid, continuous motion. This capability makes XaoS great for exploring fractals, and it’s just plain fun!|4|0.82|0.88|May 4, 2010|1,903|http://wiki.sugarlabs.org/go/Activities/XaoS
-4300|StarChart|This activity will display a map of the sky showing the position of the visible stars, some of the larger and brighter deep-sky objects (DSOs), the "classical" planets, the sun and the moon.|13|0.82|0.94|January 25, 2012|3,104|http://wiki.laptop.org/go/StarChart
-4301|Sonata Media Player|Sonata Media Player|11|0.82|0.88|May 5, 2010|15,572|
-4303|MathGraph32|Created by Yves Biton (http://mathgraph32.org).|14|0.82|0.94|February 19, 2011|7,628|
-4304|Get Books|Get Books|11|0.82|0.96|April 10, 2012|2,584|
-4305|Open Video Chat|Open Video Chat|1|0.84|0.88|May 11, 2010|13,823|http://foss.rit.edu/projects/ovc
-4307|Sun-Moon Music|Sun-Moon Music - Realtime Sonic Environments for Children. Requires a MIDI controller.|2|0.82|0.94|October 29, 2011|5,378|http://www.arthunkins.com
-4308|Sun-Moon Music MC|Sun-Moon Music MC - Realtime Sonic Environments for Children, Multiple MIDI Controller version. Collaborative exploration and performance encouraged. Requires 1 or more MIDI controllers.|2|0.82|0.94|October 29, 2011|2,021|http://www.arthunkins.com
-4309|FreeFromMalaria|FreeFromMalaria teaches children about the causes of Malaria, how to recognize its symptoms and enforces good practice for prevention. The activity is a story about a boy named Paul now available with voice narration in French, English and Spanish.|4|0.82|0.96|December 20, 2011|749|http://worldclassproject.org.uk
-4311|VncLauncher|VncLauncher|6|0.82|0.88|June 22, 2010|4,078|
-4313|GCompris|Full featured educational application for children from 2 to 10|17|0.84|0.90|February 11, 2011|13,574|http://wiki.sugarlabs.org/go/Activities/GCompris
-4314|GCompris Administration|Administration tool for GCompris activity|17|0.84|0.90|February 11, 2011|1,604|http://wiki.sugarlabs.org/go/Activities/GCompris
-4315|Words|A multi-lingual dictionary with speech synthesis.|17|0.82|0.96|June 4, 2012|2,714|http://wiki.laptop.org/go/Words
-4317|GTranslator|Sugarized version of the translation file editor "Gtranslator" ( http://projects.gnome.org/gtranslator/index.html )|1|0.84|0.88|June 30, 2010|3,573|
-4318|ConstellationsFlashCards|ConstellationsFlashCards|1|0.82|0.88|July 6, 2010|3,694|http://wiki.laptop.org/go/ConstellationsFlashCards
-4319||Conozco Peru|7|0.82|0.88|July 7, 2010|9|
-4320|Pukllanapac|Pukllanapac, a sliding puzzle game|9|0.82|0.96|May 23, 2012|23,180|http://wiki.sugarlabs.org/go/Activities/Pukllanapac
-4321|Lemonade|This is your basic "Lemonade Stand" style game, where the player manages a lemonade stand (or similar store) and tries to make as much money as possible. The game is designed to incorporate money and fractional math skills to teach basic operations.|5|0.82|0.94|November 12, 2010|10,121|http://wiki.sugarlabs.org/go/Lemonade_Stand
-4322|Produce Puzzle|Produce Puzzle|4|0.82|0.90|February 17, 2011|607|https://fedorahosted.org/fossrit/wiki/ProducePuzzle
-4323|Dr.|Dr. Geo is an interactive geometry activity.|||||27,814|http://www.drgeo.eu/download-install
-4324|Conozco Alimentos|Juego sobre el plato de la alimentación.|2|0.82|0.96|January 14, 2012|21,756|http://ceibaljam.org/drupal/?q=node/951
-4325|RiverHex|RiverHex is a connection game. Each player should make a continuous link of hexagons from one side to the opposite side of the board game. RiverHex could be played against the XO or with 2 players on the same machine.|2|0.82|0.88|August 23, 2010|455|
-4326|Backup|Activity to back up the Sugar Journal (or rather the Sugar data store) to external storage media.|5|0.82|0.94|February 25, 2011|2,222|http://git.sugarlabs.org/projects/backup
-4327|Restore|Counterpart of the Backup activity.|4|0.82|0.94|February 25, 2011|2,015|http://git.sugarlabs.org/projects/restore
-4329|FileMix|FileMix - Creative Audio File Player/Mixer/Processor Utilities for Children. Options for MIDI controller (preferably) or ASCII keyboard. User soundfiles can be loaded via the Journal (Sugar &gt;= 0.84 only).|10|0.82|0.94|October 29, 2011|10,637|http://www.arthunkins.com
-4331|Spirolaterals|The first of Peter the Magician's Puzzle Activities.|23|0.82|0.96|December 21, 2011|25,813|
-4332|Help Arabic|Arabic version of XO Help activity based on the http://flossmanuals.org|5|0.82|0.86|October 2, 2010|135|
-4334||Activity for distribute archives|1|0.82|0.90|October 5, 2010|196|
-4336|Numbers|The second of Peter the Magician's Puzzle Activities.|25|0.82|0.94|May 1, 2011|12,295|
-4338|EduKT|Download Now|3|0.82|0.94|October 17, 2010|13,100|
-4339|Midi Player|Actividad para abrir archivos midi, trae un piano y un teclado como ejemplos|1|0.82|0.90|October 17, 2010|510|
-4340|Read SD Comics|Read SD Comics lets you use the Journal to read CBZ's stored on your XO laptop's SD card or USB thumb drives.|2|0.82|0.94|November 8, 2010|3,933|http://wiki.sugarlabs.org/go/Activities/Read_SD_Comics
-4341|Turtle Machine|Another "pre-turtle" activity. This one I see as following on from "Spirolaterals".|22|0.82|0.94|May 3, 2011|12,025|
-4342|Tofu Hunt|Tofu Hunt es un juego donde tienes que encontrar las diferencias entre las dos imagenes|1|0.82|0.90|October 21, 2010|196|
-4343|Productive|Juego para jugar en dos computadoras xo, para conectar con otra xo, invitamos al amigo esperamos un poco y podremos jugar de a dos al juego|2|0.82|0.90|October 21, 2010|209|
-4344||Juego de TicTacToe o Ta Te Ti|1|0.82|0.90|October 21, 2010|221|
-4345|Bubble Pop|Juego donde tienes que dar click en las burbujas para explotarlas, Diviertete explotando|1|0.82|0.94|October 21, 2010|8,498|
-4346||Juego de Roles de ceibaljam|1|0.82|0.90|October 21, 2010|428|
-4347|Wordsearch|WordSearch es una actividad donde tienes que encontrar las palabras que a la derecha te aparecen|1|0.82|0.94|October 21, 2010|4,771|
-4349|Edit|A simple collaborative plain-text editor.|8|0.86|0.90|November 25, 2010|2,593|
-4353|DevTutor|DevTutor is an activity which helps in understanding the API provided by Sugar.|1|0.82|0.90|October 29, 2010|356|http://seeta.in/wiki/index.php?title=DevTutor
-4354|Follow Me|A simple little game which requires good concentration.|22|0.82|0.94|May 4, 2011|14,732|
-4355|JAMedia|Reproductor de Audio y Video.|10|0.82|0.96|April 11, 2012|81,966|https://sites.google.com/site/sugaractivities/jam
-4356|GeoJAM|Sugarización de GMapCatcher|1|0.82|0.94|November 4, 2010|14,573|https://sites.google.com/site/sugaractivities/geojam
-4357|JAMesene|JAMesene es la sugarización de emesene para tu xo.|1|0.82|0.90|November 4, 2010|26,956|https://sites.google.com/site/sugaractivities/jamesene
-4360|Calendar|Calendar, tasks list, and tasks reminder. Manage tasks by category and priority.|6|0.82|0.96|March 16, 2012|6,048|http://wiki.sugarlabs.org/go/Activities/calendario
-4361|Conozco Nicaragua|Actividad que destinada al reconocimiento geográfico de departamentos y volcanes de Nicaragua. Este proyecto esta basado en la actividad Conozco Uruguay.|1|0.82|0.90|November 9, 2010|511|http://wiki.sugarlabs.org/go/Activities/Conozco-Nicaragua
-4362|Idle|Idle is a python shell|2|0.82|0.94|November 10, 2010|15,315|
-4363|Mirage I.V.|Download Now|1|0.82|0.90|November 11, 2010|25,278|
-4365|CeibalRadio|CeibalRadio es un reproductor de audio y radios on-line basado en helix.|1|0.82|0.94|November 13, 2010|67,267|https://sites.google.com/site/sugaractivities/ceibalradio-1-0
-4366|Tessellations|This activity indulges my passion for tessellations and jigsaws.|23|0.82|0.94|May 13, 2011|7,508|http://mulawa.net/olpc/tessellations/index.html
-4367|Opera|Opera is a web browser|1|0.82|0.90|November 16, 2010|1,342|
-4368|FollowMe Butia|This is a simple object detector. If you put an object in front of the camera, the activity follow it! Try... It's very fun!|6|0.86|0.96|July 5, 2012|11,553|http://www.fing.edu.uy/inco/proyectos/butia/FollowMe
-4369|NES|Emulates the classic 8bit console|1|0.82|0.90|November 23, 2010|595|
-4370|CucaraSims|CucaraSims. Actividad de aula, (lúdico) para aprender sobre los insectos.|2|0.82|0.96|November 23, 2011|31,666|https://sites.google.com/site/sugaractivities/cucarasims
-4371|Boxes|Usually called "Dots &amp; Boxes", this activity revisits the game from our childhood but here the students get to play against me.|22|0.82|0.94|May 13, 2011|12,575|
-4372|Conozco Actividades|Conozco Actividades|1|0.82|0.90|December 15, 2010|284|
-4373|gcdActivity|gcdActivity is a small activity for help to understand the concept of Greatest common(gcd) divisor through of a simple Arcade game|1|0.82|0.90|December 16, 2010|265|
-4374|OggConvert|OggConvert is a file converter to wav and other formats to ogg xo|1|0.82|0.90|December 17, 2010|257|
-4375|Radio|Radio is a web radio / mp3 player.|9|0.84|0.94|January 23, 2011|26,592|
-4376|SugarizeHelp_Es|It created an activity that boys and girls can learn to create and unsugarized activities for xo. This version is only in Spanish|1|0.82|0.90|January 1, 2011|190|http://sugarizehelp.blogspot.com
-4377|XoPhoto|XoPhoto permits Photo selecting, grouping, add title, description, do sorting, importing, exporting from/to USB/SD, automatic slideshow presentation|9|0.82|0.84|January 9, 2011|208|
-4378|PyDebug|PyDebug is a tool for writing and debugging Activities for the Sugar desktop platform that is optimized for offline, stand alone program development on the XO.|7|0.82|0.84|January 9, 2011|135|
-4379|Eleusis|The cards are dealt out and accepted or rejected according to a simple secret rule - e.g. "all cards must be red". There are 19 different rules.|22|0.82|0.92|May 13, 2011|5,548|
-4380|Escape from Labyrinth|Labyrinth is a rpg game labyrinth game created for coderanger, sugarized for me|1|0.82|0.90|January 10, 2011|980|
-4381|Jam Game Boy Advance|Jam Game Boy Advance is an emulator for Game Boy and Visual Boy Advande roms|2|0.82|0.96|June 26, 2012|662|
-4382|Rectangles|The grid is broken up into coloured rectangles but, at the start, only ONE square from each rectangle shows its colour. This square also shows the area (ie the number of squares) of the rectangle. The player must find all the rectangles.|23|0.82|0.94|May 23, 2011|4,162|
-4383|GoGo|GoGo-Board interface for creating on-board Logo programs, direct sensor monitoring &amp; motor control, data capture and much more!|2|0.82|0.94|January 13, 2011|3,944|http://wiki.sugarlabs.org/go/Activity/Gogo
-4384|PJ|20 exciting jigsaws - each with 40 unique pieces. Pieces are randomly rotated but there is a button to make them all the right way up.|22|0.82|0.94|May 16, 2011|3,802|
-4385|PJ Lite|20 exciting jigsaws - each with 12 unique pieces. This is a simplified version of PJ for younger children - the pieces are all the right way up.|22|0.82|0.94|May 16, 2011|3,785|
-4397|Castle|A game of discovery and strategy inspired by the Adventure games of the 70s.|23|0.82|0.94|May 21, 2011|43,819|http://mulawa.net/olpc/castle
-4398|Trails|Tiles are placed so that the numbers run in sequence from left to right and down the grid. Numbers may also repeat. A tile placed on its ghost image scores.|23|0.82|0.94|May 21, 2011|3,807|
-4399|Blocku|A math based sudoku style puzzle game. The player is given an answer and they have to complete the puzzle by matching the sides of the blocks together by arranging them in a grid.|3|0.82|0.90|February 22, 2011|5,433|
-4400|HacketyHack|HacketyHack|1|0.90|0.90|February 3, 2011|318|
-4401|Wikipedia|WikiBrowse is a wiki server and compressed set of wiki pages that together act as a self-contained browsable offline wikireader (in spanish)|31|0.86|0.94|October 19, 2011|3,570|http://wiki.laptop.org/go/Wikibrowse
-4402|FileMixAuto|FileMixAuto - Automated Audio File Looper/Mixer/Processor for Children. (FileMixAuto is a random, preset version of FileMix.) Up to 4 user soundfiles can be loaded via the Journal (Sugar &gt;= 0.84 only).|5|0.82|0.90|September 12, 2011|4,511|http://www.arthunkins.com
-4403|Sudoku|Each tile is placed so that it is alone in its row, column and coloured square. Always there is at least one tile that can be placed with certainty - no trial and error is required.|28|0.82|0.94|June 2, 2011|25,341|
-4404|Math Quwy|Math Quwy is an educational activity that contribute to improve mathematical skills of children.|1|0.82|0.90|February 25, 2011|1,473|
-4405||Butterfly catching game, version in inglish|1|0.82|0.92|February 27, 2011|177|
-4406|Cave Story|A fun, retro-style platform game wth a great plot!|1|0.82|0.90|March 1, 2011|1,894|
-4407|Juani Downloader|Juani Downloader,download archives|2|0.82|0.94|March 4, 2011|11,441|nachoel01.blogspot.com
-4408||Let me install this experimental activity.|2|0.82|0.96|November 21, 2011|344|
-4409|Paths|Paths is a sliding tile game where the goal is to create closed paths.|14|0.82|0.96|February 29, 2012|6,117|http://wiki.sugarlabs.org/go/Activities/Paths
-4410|MotionCapture|MotionCapture V.^6|3|0.82|0.92|March 4, 2011|264|
-4411|WikipediaEN|This is a offline version of the english Wikipedia.|31|0.86|0.94|October 19, 2011|635|
-4413|Jumble|In a jumble of 83 objects, the player has to locate 20.|22|0.82|0.94|May 23, 2011|33,787|
-4414|Appel Haken|You're looking at a map with straight borders. Your task is to colour in the map so that no two bordering countries have the same colour.|24|0.82|0.94|June 27, 2011|3,218|
-4415|Blender|Download Now|1|0.82|0.92|June 23, 2011|5,812|
-4416|MathMe|MathMe it's a simple game where you have to solve a mathematic operation|1|0.82|0.92|March 19, 2011|118|https://github.com/worg/MathMe
-4417|iDeas|iDeas|2|0.82|0.96|November 22, 2011|342|
-4418|Hello World|The "Hello world" Activity will print out "Hello world" on the screen. It is one of the simplest Activities possible in Sugar. Therefore, it can be used as a starting point to examine the activity code and create your own Sugar activity.|3|0.82|0.94|August 30, 2011|3,266|http://git.sugarlabs.org/hello-world
-4419|AguBrowser|Navegador, muy rápido, fácil de usar, sencillo, gratis, libre, etc...|3|0.82|0.94|July 1, 2011|23,802|https://sites.google.com/site/agustinzubiaga/ppy/programas/agubrowse/
-4420|Mancala|This is one of my favourite games - very simple to play yet it requires lots of careful thought, counting and planning.|22|0.82|0.94|May 26, 2011|11,503|
-4421||Let me install this experimental activity.|1|0.82|0.92|April 2, 2011|165|
-4422|Ominoes|The picture shows Level 3 completely solved. The shapes are made from 5 squares and are called pentominoes. Level 4 requires the player to find the 35 hexominoes.|22|0.82|0.94|June 17, 2011|6,596|
-4423|hMouse|hMouse let the user take the control of the mouse with the head, using an easy to made extra hardware.|1|0.82|0.94|April 4, 2011|1,322|http://wiki.sugarlabs.org/go/Activities/hMouse
-4424||Let me install this experimental activity.|1|0.82|0.92|April 5, 2011|141|
-4425|PyEyes|A simple game to explore...|2|0.82|0.92|April 5, 2011|269|
-4426|Shapes|This is my take on the old game of "Battleships". Four shapes are "hidden" on the grid. Left click on a square if you think it is part of a shape. Otherwise right click.|22|0.82|0.94|June 17, 2011|4,174|
-4427||DrPython is a python IDE (Developing) This activity work in some Sugar with|||||2|
-4428|Nutri|Nutri is an event driven nutrition calculator that allows users to enter the number of "Fists" (portions) of a certain food group they have eaten. The results are displayed in the form of a health meter accompanied by suggestions for a better diet.|1|0.82|0.92|April 17, 2011|151|http://nutriactivity.wikispaces.com/
-4429|Napier's Bones|Napier's Bones are a simple multiplication calculator invented by John Napier in the 16th century.|4|0.82|0.96|November 18, 2011|1,730|http://en.wikipedia.org/wiki/Napier&#37;27s_bones
-4430|Learn|The Learn Activity is special-purpose implementation of Firefox which provides learning management capabilities when used with a school server which has compatible courseware.|51|0.82|0.96|June 18, 2012|242|http://wiki.sugarlabs.org/go/Activities/Learn
-4431|JAMexplorer|JAMexplorer|2|0.82|0.96|November 20, 2011|1,271|https://sites.google.com/site/sugaractivities/ceibalterminal
-4432|Bingo|Bingo - The game of Bingo. This activity is under development. It is intended to be shared. The initiator is caller. Players join with one or more cards. Squares show numbers or images. Call may be traditional (O-64) or a description.|1|0.84|0.84|April 25, 2011|154|
-4434|TurtleBots|TurtleBlocks with some Robot plugins: Butiá, Lego NxT, Lego WeDo, FollowMe|14|0.84|0.96|July 26, 2012|7,009|http://www.flickr.com/photos/butiarobot/sets/
-4435|JAMActivityFlash|Empaquetador de desarrollos flash para sugar.|1|0.82|0.92|May 9, 2011|1,001|https://sites.google.com/site/sugaractivities/jamactivityflash
-4436|Gnumeric|Gnumeric, spreadsheet|1|0.88|0.94|May 9, 2011|505|
-4437|Portfolio|Portfolio is a simple tool for generating a slide show from Journal entries that have been starred.|26|0.82|0.96|June 23, 2012|6,435|http://wiki.sugarlabs.org/go/Activities/Portfolio
-4439|OOo4KidsEs|OOo4KidsEs - OpenOffice for Kids.|2|0.82|0.94|May 13, 2011|4,195|http://wiki.ooo4kids.org
-4440|OOo4KidsFr|OOo4KidsFr - OpenOffice for Kids|2|0.82|0.92|May 13, 2011|2,626|http://wiki.ooo4kids.org
-4441|Madagascar|Madagascar|2|0.82|0.94|May 20, 2011|5,524|http://olpc-france.org
-4442|Conozco Elementos Químicos|Conozco Elementos Químicos is an educational activity on the chemical elements in the following versions will include more things|1|0.82|0.92|May 17, 2011|292|
-4443|Sort Game|Clustering Game|1|0.92|0.92|May 19, 2011|93|http://semweb4u.wordpress.com
-4445|Mapa Ceibal|Mapa Ceibal|5|0.82|0.92|June 6, 2011|352|
-4446|Mateton|A blackboard that let the children do basic math as they would in their exercise book, and let the teachers analyze how the children thinks and where and how they made mistakes.|6|0.82|0.96|March 30, 2012|2,615|http://wiki.sugarlabs.org/go/Activities/Mateton
-4447|Screencast|Screencast|6|0.82|0.94|October 5, 2011|2,452|http://wiki.sugarlabs.org/go/Activities/Screencast
-4448|Mini vMac|Mini vMac|1|0.82|0.92|June 11, 2011|77|
-4449||Let me install this experimental activity.|1|0.82|0.92|June 11, 2011|236|
-4450|Turtle Confusion|Turtle Confusion presents 40 shape challenges to the learner that must be completed using basic Logo-blocks. The challenges as based on Barry Newell's 1988 book, Turtle Confusion: Logo Puzzles and Riddles.|149|0.82|0.96|July 8, 2012|10,722|http://wiki.sugarlabs.org/go/Activities/Turtle_Confusion
-4451|PMJ|Peter's Moving Jigsaws - 12 pictures to choose from - rectangular pieces. Pieces are swapped until the puzzle is solved. Note that this a fairly large download (over 4 MegaBytes) - check your Journal has enough space before downloading.|22|0.82|0.94|June 17, 2011|6,412|
-4455|TeachTeacher|Tsquare is an activity for all the OLPC trainers scattered throughout the world.|3|0.82|0.92|June 23, 2011|926|
-4456||Let me install this experimental activity.|1|0.82|0.92|June 23, 2011|204|
-4457|Butialo|Program your Butiá robot using the Lua programming language|4|0.82|0.94|July 31, 2011|3,075|http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Butialo
-4458|Totem|Totem Sugarizado &#43; plugins gstreamer|2|0.82|0.94|June 27, 2011|16,170|https://sites.google.com/site/sugaractivities/home/programando-en-la-xo/sugarizar-una-aplicacion
-4459|Image Processor|Image Processor provides user an option to take photo through webcam or from journal, disks and apply filtering options like inverting an image, making mirror of an image, many other. Also a user can watermark any other image/ text over the image.|8|0.86|0.92|July 24, 2011|6,231|
-4460|Sokoban|A game requiring careful thought and planning. It may be played in tablet mode.|23|0.82|0.94|July 4, 2011|8,705|
-4461|Triples|The challenge is to find 10 sets of 3 matching cards.|25|0.82|0.94|February 3, 2012|10,285|
-4462|Minecraft|Minecraft|1|0.82|0.92|July 9, 2011|537|
-4463|IQ|Fit the ten coloured pieces into the square. There are ten different puzzles - each starts with a different piece in the top left corner.|22|0.82|0.94|July 17, 2011|3,910|
-4464|I know America|Game about the America geography. It has 30 maps of each coutry and 3 generals.|5|0.82|0.96|May 24, 2012|71,160|http://wiki.sugarlabs.org/go/Activities/ConozcoAmerica
-4465|About Me|About Me|3|0.86|0.88|October 12, 2011|5,073|
-4466|GemJeweld|GemJeweld is an activity where you'll have to gather 3 or more jewels in a row to score points.|1|0.82|0.92|July 29, 2011|388|http://christoferr.blogspot.com/p/gemjeweld.html
-4467|Star Pusher|Star Pusher is Sokoban clone|1|0.82|0.92|July 30, 2011|224|
-4468|Soma|A 3D version of Ominoes but limited to 4 or 5 cubes. The picture shows the 4 cube version almost solved. Tablet mode works here.|25|0.82|0.94|July 30, 2011|7,105|
-4469|Conozco Paraguay|Modification of Conozco Uruguay for learning Paraguayan geography.|2|0.82|0.94|September 16, 2011|149|
-4470|Pursuit|Six coloured turtles pursue each other producing beautiful patterns.|22|0.82|0.94|August 6, 2011|4,285|
-4471|Textdungeon|A text-based dungeon game for literacy and numeracy|3|0.82|0.94|August 17, 2011|3,892|http://wiki.sugarlabs.org/go/Activities/Textdungeon
-4472|SimCom|SimCom is a Simple Computer that really works. Pupils can see what really goes on behind the scenes in a real computer. The picture shows a program running and printing the prime numbers.|26|0.82|0.94|January 18, 2012|3,343|http://mulawa.net/olpc/simcom/index.html
-4473|El Secreto de Graken|Spanish only.|4|0.82|0.88|January 16, 2012|7,793|http://lanave.com.uy/graken/
-4474|JAMCalibre|Lector de Libros Electrónicos|2|0.82|0.92|September 2, 2011|3,842|
-4475|DidgArt|My inspiration for this activity comes from Australian Aboriginal Art. DidgArt offers several drawing shapes which can easily be coloured, re-sized or rotated.|27|0.82|0.94|September 9, 2011|2,097|
-4476|Python Tute|Easy to follow interactive tutorial for Python and Pygame.|29|0.82|0.94|August 31, 2011|2,098|
-4477|Letters|Inspired by the TV show, "Letters and Numbers".|23|0.82|0.94|August 31, 2011|4,443|
-4478||Conversor de medidas de memoria|1|0.82|0.92|September 4, 2011|153|
-4480|Anno|Anno is a version of Read that allows to share bookmarks -- here called annotations -- not just within your local network, but with all other Anno users.|1|0.92|0.94|September 13, 2011|32|
-4481|Telescope|Telescope is an activity meant to be used with the XO laptop connected to a small telescope/monocular.|12|0.82|0.94|October 25, 2011|4,941|
-4483|Kiwix|Offline Wikipedia reader using the ZIM file format. Get Offline packages at http://www.kiwix.org|9|0.82|0.96|July 16, 2012|554|http://www.kiwix.org
-4484|Pilas|Pilas is an engine for making videogames in an easy way.|1|0.90|0.94|September 26, 2011|2,272|http://wiki.sugarlabs.org/go/Activities/Pilas
-4485|Derecho a Transitar|Derecho a Transitar|2|0.82|0.96|April 8, 2012|16,930|
-4487|MouseCam|mouseCam allow to control the mouse pointer of the XO using the video cam and paper marks.|4|0.88|0.96|January 18, 2012|2,935|www.fing.edu.uy/nexo
-4488|FractionBounce|FractionBounce is a game that prompts the player to nudge a bouncing ball to land at a point on the bottom of the screen that is an estimate of a given fraction. Eg, if 1/3 is displayed, then the ball must land 1/3 the distance along the bottom.|14|0.82|0.96|February 29, 2012|14,543|http://wiki.sugarlabs.org/go/Activities/FractionBounce
-4489|SamplePlay|SamplePlay - Creative Audio Sample Player Utilities for Children. Options for MIDI controller (preferably) or ASCII keyboard. User samples and background loop can be loaded via the Journal (Sugar &gt;= 0.84 only).|4|0.82|0.94|November 1, 2011|2,182|http://www.arthunkins.com
-4490|Xo Vnc Viewer|XO Vnc Client|1|0.82|0.94|October 7, 2011|189|https://sites.google.com/site/santiagodanielfrancis/mis-programas-para-las-xo/xo-vnc-client
-4491|Ayni|Ayni es un juego sobre solidaridad y cooperación, el|1|0.82|0.94|October 10, 2011|172|
-4493|Crikey|Crikey is a sensor-centric remix of the Measure activity. Observe your actions and draw graphs using realtime sensor input.|61|0.82|0.94|November 3, 2011|54|
-4494|Sugar File Manager|A File Manager for Sugar.|2|0.82|0.96|November 18, 2011|2,787|https://sites.google.com/site/sugarfilemanager/
-4497|Time Line|Allows create interactive time lines.|2|0.84|0.94|January 26, 2012|4,543|
-4498|Across and Down|My inspiration for "Across &amp; Down" comes from Scrabble. Players have to make interlocking English words. The board has "ghost" letters on it. For example if you place a "z" on a "z", you score 8 points.|24|0.82|0.94|October 29, 2011|2,516|
-4501|Yum Downloader|Yum Downloader|3|0.82|0.96|November 18, 2011|789|
-4505|End Game|A simple yet entertaining interactive introduction to Chess. Covers piece moves, capture, protection, pawn promotion, checkmate and stalemate. Includes 4 playable end games with the winning strategy demonstrated.|28|0.82|0.96|December 5, 2011|2,857|
-4506|CantaBichos|CantaBichos|1|0.82|0.96|November 19, 2011|6,230|
-4507|ClassRoomBroadcast|ClassRoomBroadcast|10|0.82|0.96|January 24, 2012|320|http://wiki.sugarlabs.org/go/Activities/Classroom_Broadcast
-4508|JAMClock|JAMClock. Un reloj y calendario hechos en pygame, utilizando BiblioJAM.|2|0.82|0.96|December 6, 2011|921|
-4516|Turtle in a Pond|Turtle in a Pond is a strategy game. The goal is to surround the turtle before it runs off the screen.|6|0.82|0.96|December 16, 2011|399|http://wiki.sugarlabs.org/go/Activities/Turtle_in_a_Pond
-4517|Reflection|Reflection is a game designed around reflective symmetry. The user modifies an image until it has reflective symmetry around either the horizontal or vertical axis.|7|0.82|0.96|May 23, 2012|1,011|http://wiki.sugarlabs.org/go/Activities/Reflection
-4518|Flip|Flip is a simple strategy game where you have to flip "coins" until they are all heads up,|4|0.82|0.96|May 23, 2012|837|http://wiki.sugarlabs.org/go/Activities/Flip
-4519|JAMEdit|Download Now|1|0.86|0.96|December 10, 2011|726|http://wix.com/aguszs97/jamedit
-4520|terronesWEEPER!|Game similar to the minesweeper.|2|0.88|0.96|May 4, 2012|4,496|
-4521|Roots|Roots is a genealogic activity for Sugar. Roots allow users to create a genealogical tree (parents, unions, childs, ...). A description and an image could be link to each node.|1|0.82|0.96|December 28, 2011|92|
-4523|Pointillism|Creates a pointillist image from the camera captures|5|0.86|0.96|April 29, 2012|2,523|
-4524|Panorama|Activity that allows you capture panoramic views|5|0.86|0.96|April 30, 2012|3,005|
-4525|Weigh|One of 3 balls is either lighter or heavier than the rest.|23|0.82|0.96|January 5, 2012|2,073|
-4526|Kuku Anakula|Kuku (Hungry Chicken), is based on the basic arithmetic education game Number Munchers.|4|0.82|0.96|May 27, 2012|9,123|http://wiki.laptop.org/go/Kuku
-4527|ClassRoomViewer|ClassRoomViewer|4|0.82|0.94|January 24, 2012|88|
-4528|Countries|Players have to type in a country for each letter of the alphabet. Successes are rewarded with the display of the country's flag. The activity 'knows' the English names of 212 countries.|33|0.82|0.96|January 24, 2012|3,936|http://mulawa.net/olpc/countries
-4529|I Can Read|I Can Read is a simple reader: it combines letters, pictures, and sounds. It also has mechanism for recording the student's voice.|3|0.82|0.96|February 16, 2012|1,372|http://wiki.sugarlabs.org/go/Activities/I_can_read
-4531|Shock Therapy|Shock Therapy|6|0.86|0.96|July 9, 2012|79|http://electroshocktherapy.googlecode.com/
-4532||This activity include all the articles and images in the Kinyarwanda Wikipedia.|33.3|0.86|0.96|February 8, 2012|126|
-4533|Yupana|Yupana is a counting and calculating device used by the Incan. It is similar to an abacus.|5|0.82|0.96|February 7, 2012|408|http://wiki.sugarlabs.org/go/Activities/Yupana
-4534|Chart|Chart|6|0.86|0.96|July 18, 2012|3,041|http://wiki.sugarlabs.org/go/Activities/SimpleGraph
-4535|WikipediaPL|This is a offline version of the Polish Wikipedia, with more than 48.000 articles and 2900 images|33.3|0.86|0.96|February 8, 2012|1,048|
-4536|WikipediaQU|This is a Quechua Wikipedia activity.|33.3|0.86|0.96|February 8, 2012|632|
-4537|Trans|Fun with rotation and reflection - 16 different pictures - 3 levels: 8, 18 or 32 pieces. The picture shows Level 1 almost solved.|26|0.82|0.94|February 12, 2012|2,499|
-4538|Oct|A fun fullscreen jigsaw with octagonal and square pieces. Comes with 16 pictures - these may be added to or replaced. Click to pick up a piece, click to put it down.|29|0.82|0.94|February 14, 2012|3,023|
-4539|Lybniz Graph Plotter|Lybniz Graph Plotter sugarization,|1|0.82|0.96|February 16, 2012|1,726|
-4540|WikipediaFR|A French wikipedia activity. Includes 22.100 articles.|33.4|0.82|0.96|February 18, 2012|969|
-4541|Star Catcher|The numbers indicate how many of a cell's 8 neighbours contain a star. Right click on a tile if you think it hides a star, otherwise left click. The display at left is keeping track of your progress.|32|0.82|0.94|February 22, 2012|5,371|
-4542|JAMediaVideo|Reproductor de audio y video.|2|0.82|0.96|March 24, 2012|5,458|https://sites.google.com/site/sugaractivities/jam/jamediavideoestudio
-4543|Sin dientes|Words game|3|0.82|0.96|March 1, 2012|17,812|
-4544|ChimePlay|CHIMEPLAY - Chime and Bell Player Utilities for Children. These are custom versions of SAMPLEPLAY for windchime and bell sets.Two 6-chime sets are included.|2|0.82|0.96|June 4, 2012|1,325|http://www.arthunkins.com
-4545||This activity gives you the possibility to graphically, the journal usage|1|0.82|0.96|March 9, 2012|677|
-4546|JAMediaImagenes|Pequeño editor de Imágenes.|1|0.82|0.96|March 10, 2012|3,138|https://sites.google.com/site/sugaractivities/jam/jamediaimagenes
-4547||This is a offline version of the Simple English Wikipedia, with more than 90.000 articles.|33.5|0.96|0.96|March 15, 2012|1,658|
-4548|JAMediaTube|Busca y Descarga Videos desde YouTube|3|0.82|0.96|April 1, 2012|33,801|https://sites.google.com/site/sugaractivities/jam/jamediatube
-4549||Utilidad para desbloquear usuario root de la xo|1|0.82|0.96|March 25, 2012|63|
-4552|Grabar|Grabar Con Icono Nuevo En Su Ultima Versión|95|0.82|0.96|April 4, 2012|412|mgflash.mex.tl
-4553|Charlar|Charlar Con Un Nuevo Icono En Su Ultima Versión|74|0.82|0.96|April 4, 2012|99|mgflash.mex.tl
-4554|JPeces (Tangram Game)|JPeces-Tangram: Java version for «Peces» program. Peces is an open source game based on the Chinese game called Tangram. You can play with 39 tangram patterns and solve more than 18000 figures.|6|0.82|0.96|April 15, 2012|5,652|http://pecesjocdetangr.sourceforge.net/
-4555|Nutrition|Nutrition is a collection of four nutrition games: Name That Food; How Many Calories?; How Much to Eat?; and Is This a Balanced Meal?|4|0.82|0.96|April 20, 2012|7,374|http://wiki.sugarlabs.org/go/Activities/Nutrition
-4556|JigsawTon|Puzzleton is a game to resolve jigsaws with the pieces number you decide. You can use the default image set that come with the game or you can choose any image file in your Journal.|2|0.82|0.96|April 18, 2012|2,692|
-4557|BioDiv|BioDiv is a programme on biodiversity. It includes the features: Discover (displays a random animal from the database), animals of the environment (indicates an animal of the selected region), search and a quiz.|5|0.82|0.96|June 21, 2012|124|http://schulemachtzukunft2012-004.jimdo.com
-4561|Dr. Geo|Interactive geometry http://drgeo.eu|1204|0.82|0.96|April 22, 2012|2,997|http://drgeo.eu
-4564|Ceibal Notifica|Ceibal Notifica|1|0.82|0.96|May 2, 2012|2,430|
-4565|Story|Story is an activity that uses images to prompt the learner to tell stories.|5|0.82|0.96|June 2, 2012|2,021|http://wiki.sugarlabs.org/go/Activities/Story
-4567|Recall|The Recall Activity is a series of four memory games, each of increasing difficulty.|2|0.82|0.96|May 12, 2012|2,790|http://wiki.sugarlabs.org/go/Activities/Recall
-4572|JAMultiples|Juego de Múltiplos|5|0.82|0.96|May 22, 2012|3,226|
-4573|ScorePad|The ScorePad activity functions as a tool for project assessment.|1|0.82|0.96|May 17, 2012|46|http://wiki.sugarlabs.org/go/Activities/Scorepad_Activity
-4574|EvilToys|EvilToys|4|0.82|0.96|May 17, 2012|86|
-4575|YardStick|YardStick|1|0.82|0.96|May 25, 2012|42|http://wiki.sugarlabs.org/go/Activities/Yardstickactivity
-4576|LocoSugar|LocoSugar is a simple game for discovering how to use the mouse and keyboard. Inspired by CucoXO, it walks the user through a series of simple games.|3|0.82|0.96|May 24, 2012|4,266|http://wiki.sugarlabs.org/go/Activities/LocoSugar
-4577|HorseGame|The old HorseGame activity|4|0.82|0.96|May 27, 2012|3,541|http://wiki.sugarlabs.org/go/Activities/HorseGame
-4578|CookieSearch|CookieSearch is a simple "mine sweeper" game where the goal is to find cookies.|1|0.82|0.96|May 25, 2012|2,034|http://wiki.sugarlabs.org/go/Activities/CookieSearch
-4579|SprayPlay|The old SprayPlay activity|2|0.82|0.96|May 26, 2012|4,666|http://wiki.sugarlabs.org/go/Activities/SprayPlay
-4580|GoGoNews|GoGoNews Activity is a news application for your XO laptop.|1.1|0.82|0.96|June 11, 2012|609|http://www.gogonews.com/
-4585|Amazonas Tortuga|Amazonas Tortuga is a series of programming challenges based on artwork from the Amazonas region of Peru.|149|0.82|0.96|July 10, 2012|2,901|http://wiki.sugarlabs.org/go/Activities/Amazonas_Tortuga
-4587|I know India|Game about the geography of India|2|0.82|0.96|June 24, 2012|1,422|
-4588|Bulletin Board|Similar to Portfolio, the Bulletin Board Activity creates a slide show from Sugar Journal entries that have been 'starred'. But here the idea is to share Journal entries that are part of group projects.|2|0.82|0.96|July 16, 2012|125|http://wiki.sugarlabs.org/go/Activities/Bulletinboard
-4591|Graph Plotter|Complete function plotter to be used by students replacing the expensive calculators.|3|0.86|0.96|July 25, 2012|84|http://wiki.sugarlabs.org/go/Activities/Graph&#37;20Plotter
-4592|pygihack|pygihack|1|0.96|0.96|July 21, 2012|241|
-4593|SimpleGNUChess|Simple GNU Chess is a Sugar front end to the gnuchess program. It features varying levels of difficulty, undo, network play, PGN output, customization of graphics, et al.|1|0.82|0.96|July 27, 2012|0|http://wiki.sugarlabs.org/go/Activities/Gnuchess
diff --git a/back/utils.py b/back/utils.py
deleted file mode 100644
index 9eef88a..0000000
--- a/back/utils.py
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-# utils.py by:
-# Agustin Zubiaga <aguz@sugarlabs.org>
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-import os
-import gtk
-import urllib
-import logging
-
-from sugar.activity import activity
-from sugar.bundle.activitybundle import ActivityBundle
-
-# Paths
-LIST_DOWNLOAD = "http://www.fing.edu.uy/~aaguiar/files/store.lst"
-LIST_PATH = os.path.join(activity.get_bundle_path(), 'store.lst')
-ICONS_DIR = os.path.join(activity.get_activity_root(), 'data')
-TMP_DIR = os.path.join(activity.get_activity_root(), "tmp")
-
-downloading = False
-
-# Logging
-_logger = logging.getLogger('install-activity')
-_logger.setLevel(logging.DEBUG)
-logging.basicConfig()
-
-
-def get_logger():
- return _logger
-
-
-def update_list():
- """Download the latest list version"""
- global downloading
- try:
- downloading = True
- remote_file = urllib.urlopen(LIST_DOWNLOAD)
- _file = open(LIST_PATH, 'w')
- _file.write(remote_file.read())
- _file.close()
- remote_file.close()
- except:
- pass
-
- downloading = False
-
-
-def get_store_list():
- """Returns the store list"""
- store_list = []
- try:
- f = open(LIST_PATH, 'r')
- e = True
- while e:
- line = f.readline()
- if not(line):
- e = False
- else:
- line = line.replace('\n', '')
- l = line.split('|')
- store_list.append(l)
- except:
- pass
-
- return store_list
-
-
-def get_icon(activity_id):
- """Returns the icon of an specified activity"""
- store_list = get_store_list()
- activity_obj = store_list[activity_id]
- number = activity_obj[0]
-
- file_image = os.path.join(ICONS_DIR, "icon%s" % number)
- if not os.path.exists(file_image):
- url =\
- 'http://activities.sugarlabs.org/en-US/sugar/images/addon_icon/' + number
- f, headers = urllib.urlretrieve(url, file_image)
-
- pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(file_image, 45, 45)
-
- return pixbuf
-
-
-def download_activity(_id, progress_function):
- """Download (and install) an activity"""
- store_list = get_store_list()
- activity_obj = store_list[_id]
-
- name = activity_obj[1]
- name = name.lower()
- name = name.replace(' ', '_')
- n = activity_obj[0]
- web = 'http://activities.sugarlabs.org/es-ES/sugar/downloads/latest/'
- web = web + n + '/addon-' + n + '-latest.xo'
- version = activity_obj[3]
-
- def progress_changed(block, block_size, total_size):
- downloaded = block * block_size
- progress = downloaded * 100 / total_size
-
- progress_function(progress)
-
- xo = name + '-' + version + '.xo'
- file_path = os.path.join(activity.get_activity_root(), "data", xo)
-
- _logger.info("Downloading activity (%s)")
- urllib.urlretrieve(web,
- file_path,
- reporthook=progress_changed)
-
- _logger.info("Installing activity (%s)")
- install_activity(file_path, progress_function)
-
-
-def install_activity(xofile, progress_function):
- """Install an downloaded activity"""
- # Show "Installing..." message
- progress_function(150)
-
- # Install the .xo
- bundle = ActivityBundle(xofile)
- bundle.install()
-
- # Remove the .xo
- os.remove(xofile)
-
- # Show "Installed..." message
- progress_function(200)
-
- _logger.info("Activity installed! (%s)")
diff --git a/icons/4024.svg b/icons/4024.svg
index c8f466a..c8f466a 100755..100644
--- a/icons/4024.svg
+++ b/icons/4024.svg
diff --git a/icons/4028.svg b/icons/4028.svg
index a49ef84..a49ef84 100755..100644
--- a/icons/4028.svg
+++ b/icons/4028.svg
diff --git a/icons/4029.svg b/icons/4029.svg
index df54528..df54528 100755..100644
--- a/icons/4029.svg
+++ b/icons/4029.svg
diff --git a/icons/4030.svg b/icons/4030.svg
index 5d96467..5d96467 100755..100644
--- a/icons/4030.svg
+++ b/icons/4030.svg
diff --git a/icons/4032.svg b/icons/4032.svg
index 7668033..7668033 100755..100644
--- a/icons/4032.svg
+++ b/icons/4032.svg
diff --git a/icons/4037.svg b/icons/4037.svg
index 0106197..0106197 100755..100644
--- a/icons/4037.svg
+++ b/icons/4037.svg
diff --git a/icons/4040.svg b/icons/4040.svg
index 53665b1..53665b1 100755..100644
--- a/icons/4040.svg
+++ b/icons/4040.svg
diff --git a/icons/4041.svg b/icons/4041.svg
index ab05159..ab05159 100755..100644
--- a/icons/4041.svg
+++ b/icons/4041.svg
diff --git a/icons/4042.svg b/icons/4042.svg
index b8f2190..b8f2190 100755..100644
--- a/icons/4042.svg
+++ b/icons/4042.svg
diff --git a/icons/4043.svg b/icons/4043.svg
index 13db975..13db975 100755..100644
--- a/icons/4043.svg
+++ b/icons/4043.svg
diff --git a/icons/4044.svg b/icons/4044.svg
index 821ba34..821ba34 100755..100644
--- a/icons/4044.svg
+++ b/icons/4044.svg
diff --git a/icons/4045.svg b/icons/4045.svg
index b921d4f..b921d4f 100755..100644
--- a/icons/4045.svg
+++ b/icons/4045.svg
diff --git a/icons/4046.svg b/icons/4046.svg
index 9899f46..9899f46 100755..100644
--- a/icons/4046.svg
+++ b/icons/4046.svg
diff --git a/icons/4050.svg b/icons/4050.svg
index d276ef4..d276ef4 100755..100644
--- a/icons/4050.svg
+++ b/icons/4050.svg
diff --git a/icons/4051.svg b/icons/4051.svg
index 171948d..171948d 100755..100644
--- a/icons/4051.svg
+++ b/icons/4051.svg
diff --git a/icons/4054.svg b/icons/4054.svg
index e2d4cf9..e2d4cf9 100755..100644
--- a/icons/4054.svg
+++ b/icons/4054.svg
diff --git a/icons/4055.svg b/icons/4055.svg
index afd8145..afd8145 100755..100644
--- a/icons/4055.svg
+++ b/icons/4055.svg
diff --git a/icons/4058.svg b/icons/4058.svg
index 51b7973..51b7973 100755..100644
--- a/icons/4058.svg
+++ b/icons/4058.svg
diff --git a/icons/4059.svg b/icons/4059.svg
index 44f1ba6..44f1ba6 100755..100644
--- a/icons/4059.svg
+++ b/icons/4059.svg
diff --git a/icons/4060.svg b/icons/4060.svg
index 8c4d2b0..8c4d2b0 100755..100644
--- a/icons/4060.svg
+++ b/icons/4060.svg
diff --git a/icons/4061.svg b/icons/4061.svg
index 563df7b..563df7b 100755..100644
--- a/icons/4061.svg
+++ b/icons/4061.svg
diff --git a/icons/4062.svg b/icons/4062.svg
index 7e3feb6..7e3feb6 100755..100644
--- a/icons/4062.svg
+++ b/icons/4062.svg
diff --git a/icons/4063.svg b/icons/4063.svg
index 4eaf312..4eaf312 100755..100644
--- a/icons/4063.svg
+++ b/icons/4063.svg
diff --git a/icons/4064.svg b/icons/4064.svg
index b10dadb..b10dadb 100755..100644
--- a/icons/4064.svg
+++ b/icons/4064.svg
diff --git a/icons/4069.svg b/icons/4069.svg
index b0df51b..b0df51b 100755..100644
--- a/icons/4069.svg
+++ b/icons/4069.svg
diff --git a/icons/4071.svg b/icons/4071.svg
index cb2cad0..cb2cad0 100755..100644
--- a/icons/4071.svg
+++ b/icons/4071.svg
diff --git a/icons/4073.svg b/icons/4073.svg
index 60a9687..60a9687 100755..100644
--- a/icons/4073.svg
+++ b/icons/4073.svg
diff --git a/icons/4074.svg b/icons/4074.svg
index 6c31905..6c31905 100755..100644
--- a/icons/4074.svg
+++ b/icons/4074.svg
diff --git a/icons/4076.svg b/icons/4076.svg
index d338822..d338822 100755..100644
--- a/icons/4076.svg
+++ b/icons/4076.svg
diff --git a/icons/4078.svg b/icons/4078.svg
index b27192d..b27192d 100755..100644
--- a/icons/4078.svg
+++ b/icons/4078.svg
diff --git a/icons/4081.svg b/icons/4081.svg
index e19b739..e19b739 100755..100644
--- a/icons/4081.svg
+++ b/icons/4081.svg
diff --git a/icons/4082.svg b/icons/4082.svg
index 889d95e..889d95e 100755..100644
--- a/icons/4082.svg
+++ b/icons/4082.svg
diff --git a/icons/4084.svg b/icons/4084.svg
index ab40ac0..ab40ac0 100755..100644
--- a/icons/4084.svg
+++ b/icons/4084.svg
diff --git a/icons/4086.svg b/icons/4086.svg
index 39ef91c..39ef91c 100755..100644
--- a/icons/4086.svg
+++ b/icons/4086.svg
diff --git a/icons/4089.svg b/icons/4089.svg
index 675e692..675e692 100755..100644
--- a/icons/4089.svg
+++ b/icons/4089.svg
diff --git a/icons/4091.svg b/icons/4091.svg
index d3b5568..d3b5568 100755..100644
--- a/icons/4091.svg
+++ b/icons/4091.svg
diff --git a/icons/4092.svg b/icons/4092.svg
index 0005764..0005764 100755..100644
--- a/icons/4092.svg
+++ b/icons/4092.svg
diff --git a/icons/4093.svg b/icons/4093.svg
index 2848208..2848208 100755..100644
--- a/icons/4093.svg
+++ b/icons/4093.svg
diff --git a/icons/4094.svg b/icons/4094.svg
index 95ee981..95ee981 100755..100644
--- a/icons/4094.svg
+++ b/icons/4094.svg
diff --git a/icons/4095.svg b/icons/4095.svg
index d4720ad..d4720ad 100755..100644
--- a/icons/4095.svg
+++ b/icons/4095.svg
diff --git a/icons/4096.svg b/icons/4096.svg
index 4aef837..4aef837 100755..100644
--- a/icons/4096.svg
+++ b/icons/4096.svg
diff --git a/icons/4097.svg b/icons/4097.svg
index aaf94d1..aaf94d1 100755..100644
--- a/icons/4097.svg
+++ b/icons/4097.svg
diff --git a/icons/4098.svg b/icons/4098.svg
index 6545208..6545208 100755..100644
--- a/icons/4098.svg
+++ b/icons/4098.svg
diff --git a/icons/4100.svg b/icons/4100.svg
index 661946e..661946e 100755..100644
--- a/icons/4100.svg
+++ b/icons/4100.svg
diff --git a/icons/4101.svg b/icons/4101.svg
index 032bf9b..032bf9b 100755..100644
--- a/icons/4101.svg
+++ b/icons/4101.svg
diff --git a/icons/4102.svg b/icons/4102.svg
index c43459e..c43459e 100755..100644
--- a/icons/4102.svg
+++ b/icons/4102.svg
diff --git a/icons/4103.svg b/icons/4103.svg
index 33e501a..33e501a 100755..100644
--- a/icons/4103.svg
+++ b/icons/4103.svg
diff --git a/icons/4104.svg b/icons/4104.svg
index a213ae3..a213ae3 100755..100644
--- a/icons/4104.svg
+++ b/icons/4104.svg
diff --git a/icons/4109.svg b/icons/4109.svg
index 4f2c392..4f2c392 100755..100644
--- a/icons/4109.svg
+++ b/icons/4109.svg
diff --git a/icons/4110.svg b/icons/4110.svg
index 634ef8a..634ef8a 100755..100644
--- a/icons/4110.svg
+++ b/icons/4110.svg
diff --git a/icons/4111.svg b/icons/4111.svg
index 93b7bba..93b7bba 100755..100644
--- a/icons/4111.svg
+++ b/icons/4111.svg
diff --git a/icons/4112.svg b/icons/4112.svg
index 320ad9a..320ad9a 100755..100644
--- a/icons/4112.svg
+++ b/icons/4112.svg
diff --git a/icons/4113.svg b/icons/4113.svg
index d94bc27..d94bc27 100755..100644
--- a/icons/4113.svg
+++ b/icons/4113.svg
diff --git a/icons/4114.svg b/icons/4114.svg
index fa1fef3..fa1fef3 100755..100644
--- a/icons/4114.svg
+++ b/icons/4114.svg
diff --git a/icons/4115.svg b/icons/4115.svg
index fa1fef3..fa1fef3 100755..100644
--- a/icons/4115.svg
+++ b/icons/4115.svg
diff --git a/icons/4191.svg b/icons/4191.svg
index 01db450..01db450 100755..100644
--- a/icons/4191.svg
+++ b/icons/4191.svg
diff --git a/icons/4194.svg b/icons/4194.svg
index 53b5f55..53b5f55 100755..100644
--- a/icons/4194.svg
+++ b/icons/4194.svg
diff --git a/icons/4195.svg b/icons/4195.svg
index 4611d8a..4611d8a 100755..100644
--- a/icons/4195.svg
+++ b/icons/4195.svg
diff --git a/icons/4199.svg b/icons/4199.svg
index 76155bd..76155bd 100755..100644
--- a/icons/4199.svg
+++ b/icons/4199.svg
diff --git a/icons/4200.svg b/icons/4200.svg
index 908685f..908685f 100755..100644
--- a/icons/4200.svg
+++ b/icons/4200.svg
diff --git a/icons/4204.svg b/icons/4204.svg
index 051463e..051463e 100755..100644
--- a/icons/4204.svg
+++ b/icons/4204.svg
diff --git a/icons/4206.svg b/icons/4206.svg
index 860b836..860b836 100755..100644
--- a/icons/4206.svg
+++ b/icons/4206.svg
diff --git a/icons/4209.svg b/icons/4209.svg
index fadcd9b..fadcd9b 100755..100644
--- a/icons/4209.svg
+++ b/icons/4209.svg
diff --git a/icons/4212.svg b/icons/4212.svg
index 7e183df..7e183df 100755..100644
--- a/icons/4212.svg
+++ b/icons/4212.svg
diff --git a/icons/4213.svg b/icons/4213.svg
index a6bb8d3..a6bb8d3 100755..100644
--- a/icons/4213.svg
+++ b/icons/4213.svg
diff --git a/icons/4214.svg b/icons/4214.svg
index 3fd905f..3fd905f 100755..100644
--- a/icons/4214.svg
+++ b/icons/4214.svg
diff --git a/icons/4215.svg b/icons/4215.svg
index 3390430..3390430 100755..100644
--- a/icons/4215.svg
+++ b/icons/4215.svg
diff --git a/icons/4217.svg b/icons/4217.svg
index db862fc..db862fc 100755..100644
--- a/icons/4217.svg
+++ b/icons/4217.svg
diff --git a/icons/4219.svg b/icons/4219.svg
index 860b836..860b836 100755..100644
--- a/icons/4219.svg
+++ b/icons/4219.svg
diff --git a/icons/4220.svg b/icons/4220.svg
index 02a7c56..02a7c56 100755..100644
--- a/icons/4220.svg
+++ b/icons/4220.svg
diff --git a/icons/4221.svg b/icons/4221.svg
index b97dfd9..b97dfd9 100755..100644
--- a/icons/4221.svg
+++ b/icons/4221.svg
diff --git a/icons/4224.svg b/icons/4224.svg
index 7923c9a..7923c9a 100755..100644
--- a/icons/4224.svg
+++ b/icons/4224.svg
diff --git a/icons/4225.svg b/icons/4225.svg
index 31ebb60..31ebb60 100755..100644
--- a/icons/4225.svg
+++ b/icons/4225.svg
diff --git a/icons/4232.svg b/icons/4232.svg
index 15aab95..15aab95 100755..100644
--- a/icons/4232.svg
+++ b/icons/4232.svg
diff --git a/icons/4233.svg b/icons/4233.svg
index 4611d8a..4611d8a 100755..100644
--- a/icons/4233.svg
+++ b/icons/4233.svg
diff --git a/icons/4251.svg b/icons/4251.svg
index 5dc6159..5dc6159 100755..100644
--- a/icons/4251.svg
+++ b/icons/4251.svg
diff --git a/icons/4252.svg b/icons/4252.svg
index b4efdf5..b4efdf5 100755..100644
--- a/icons/4252.svg
+++ b/icons/4252.svg
diff --git a/icons/4253.svg b/icons/4253.svg
index c540db1..c540db1 100755..100644
--- a/icons/4253.svg
+++ b/icons/4253.svg
diff --git a/icons/4254.svg b/icons/4254.svg
index f8425c9..f8425c9 100755..100644
--- a/icons/4254.svg
+++ b/icons/4254.svg
diff --git a/icons/4264.svg b/icons/4264.svg
index 436c7b0..436c7b0 100755..100644
--- a/icons/4264.svg
+++ b/icons/4264.svg
diff --git a/icons/4265.svg b/icons/4265.svg
index 3027680..3027680 100755..100644
--- a/icons/4265.svg
+++ b/icons/4265.svg
diff --git a/icons/4266.svg b/icons/4266.svg
index 4defc74..4defc74 100755..100644
--- a/icons/4266.svg
+++ b/icons/4266.svg
diff --git a/icons/4267.svg b/icons/4267.svg
index e420adf..e420adf 100755..100644
--- a/icons/4267.svg
+++ b/icons/4267.svg
diff --git a/icons/4268.svg b/icons/4268.svg
index 583c1db..583c1db 100755..100644
--- a/icons/4268.svg
+++ b/icons/4268.svg
diff --git a/icons/4284.svg b/icons/4284.svg
index 52f820d..52f820d 100755..100644
--- a/icons/4284.svg
+++ b/icons/4284.svg
diff --git a/icons/4286.svg b/icons/4286.svg
index 2f5dbad..2f5dbad 100755..100644
--- a/icons/4286.svg
+++ b/icons/4286.svg
diff --git a/icons/4290.svg b/icons/4290.svg
index 628d3fe..628d3fe 100755..100644
--- a/icons/4290.svg
+++ b/icons/4290.svg
diff --git a/icons/4293.svg b/icons/4293.svg
index 1b676e0..1b676e0 100755..100644
--- a/icons/4293.svg
+++ b/icons/4293.svg
diff --git a/icons/4309.svg b/icons/4309.svg
index cd554fb..cd554fb 100755..100644
--- a/icons/4309.svg
+++ b/icons/4309.svg
diff --git a/icons/4314.svg b/icons/4314.svg
index 498714c..498714c 100755..100644
--- a/icons/4314.svg
+++ b/icons/4314.svg
diff --git a/icons/4316.svg b/icons/4316.svg
index a890fa7..a890fa7 100755..100644
--- a/icons/4316.svg
+++ b/icons/4316.svg
diff --git a/icons/4318.svg b/icons/4318.svg
index 63606f5..63606f5 100755..100644
--- a/icons/4318.svg
+++ b/icons/4318.svg
diff --git a/icons/4321.svg b/icons/4321.svg
index 1011665..1011665 100755..100644
--- a/icons/4321.svg
+++ b/icons/4321.svg
diff --git a/icons/4324.svg b/icons/4324.svg
index 99d47f0..99d47f0 100755..100644
--- a/icons/4324.svg
+++ b/icons/4324.svg
diff --git a/icons/4326.svg b/icons/4326.svg
index e72ef90..e72ef90 100755..100644
--- a/icons/4326.svg
+++ b/icons/4326.svg
diff --git a/icons/4329.svg b/icons/4329.svg
index 4dea519..4dea519 100755..100644
--- a/icons/4329.svg
+++ b/icons/4329.svg
diff --git a/icons/4338.svg b/icons/4338.svg
index 2433ac7..2433ac7 100755..100644
--- a/icons/4338.svg
+++ b/icons/4338.svg
diff --git a/icons/4349.svg b/icons/4349.svg
index b12aaf2..b12aaf2 100755..100644
--- a/icons/4349.svg
+++ b/icons/4349.svg
diff --git a/icons/4354.svg b/icons/4354.svg
index 2555585..2555585 100755..100644
--- a/icons/4354.svg
+++ b/icons/4354.svg
diff --git a/icons/4355.svg b/icons/4355.svg
index 68afa64..68afa64 100755..100644
--- a/icons/4355.svg
+++ b/icons/4355.svg
diff --git a/icons/4356.svg b/icons/4356.svg
index ea7b814..ea7b814 100755..100644
--- a/icons/4356.svg
+++ b/icons/4356.svg
diff --git a/icons/4360.svg b/icons/4360.svg
index f73bdf7..f73bdf7 100755..100644
--- a/icons/4360.svg
+++ b/icons/4360.svg
diff --git a/icons/4362.svg b/icons/4362.svg
index e2fb401..e2fb401 100755..100644
--- a/icons/4362.svg
+++ b/icons/4362.svg
diff --git a/icons/4368.svg b/icons/4368.svg
index 5b4881b..5b4881b 100755..100644
--- a/icons/4368.svg
+++ b/icons/4368.svg
diff --git a/icons/4370.svg b/icons/4370.svg
index aac9508..aac9508 100755..100644
--- a/icons/4370.svg
+++ b/icons/4370.svg
diff --git a/icons/4371.svg b/icons/4371.svg
index 076ae98..076ae98 100755..100644
--- a/icons/4371.svg
+++ b/icons/4371.svg
diff --git a/icons/4379.svg b/icons/4379.svg
index ef7154f..ef7154f 100755..100644
--- a/icons/4379.svg
+++ b/icons/4379.svg
diff --git a/icons/4381.svg b/icons/4381.svg
index 56c4158..56c4158 100755..100644
--- a/icons/4381.svg
+++ b/icons/4381.svg
diff --git a/icons/4383.svg b/icons/4383.svg
index 55849ce..55849ce 100755..100644
--- a/icons/4383.svg
+++ b/icons/4383.svg
diff --git a/icons/4397.svg b/icons/4397.svg
index feff9f7..feff9f7 100755..100644
--- a/icons/4397.svg
+++ b/icons/4397.svg
diff --git a/icons/4399.svg b/icons/4399.svg
index 5fb9cf8..5fb9cf8 100755..100644
--- a/icons/4399.svg
+++ b/icons/4399.svg
diff --git a/icons/4402.svg b/icons/4402.svg
index a765535..a765535 100755..100644
--- a/icons/4402.svg
+++ b/icons/4402.svg
diff --git a/icons/4407.svg b/icons/4407.svg
index 8d42131..8d42131 100755..100644
--- a/icons/4407.svg
+++ b/icons/4407.svg
diff --git a/icons/4413.svg b/icons/4413.svg
index 457c6e4..457c6e4 100755..100644
--- a/icons/4413.svg
+++ b/icons/4413.svg
diff --git a/icons/4414.svg b/icons/4414.svg
index 6e7e13e..6e7e13e 100755..100644
--- a/icons/4414.svg
+++ b/icons/4414.svg
diff --git a/icons/4418.svg b/icons/4418.svg
index 8da7c63..8da7c63 100755..100644
--- a/icons/4418.svg
+++ b/icons/4418.svg
diff --git a/icons/4419.svg b/icons/4419.svg
index 6b80d50..6b80d50 100755..100644
--- a/icons/4419.svg
+++ b/icons/4419.svg
diff --git a/icons/4423.svg b/icons/4423.svg
index 2ea70ae..2ea70ae 100755..100644
--- a/icons/4423.svg
+++ b/icons/4423.svg
diff --git a/icons/4430.svg b/icons/4430.svg
index 769eb4b..769eb4b 100755..100644
--- a/icons/4430.svg
+++ b/icons/4430.svg
diff --git a/icons/4431.svg b/icons/4431.svg
index 09059bd..09059bd 100755..100644
--- a/icons/4431.svg
+++ b/icons/4431.svg
diff --git a/icons/4436.svg b/icons/4436.svg
index 97d93b6..97d93b6 100755..100644
--- a/icons/4436.svg
+++ b/icons/4436.svg
diff --git a/icons/4457.svg b/icons/4457.svg
index 813a0f8..813a0f8 100755..100644
--- a/icons/4457.svg
+++ b/icons/4457.svg
diff --git a/icons/4459.svg b/icons/4459.svg
index d64349f..d64349f 100755..100644
--- a/icons/4459.svg
+++ b/icons/4459.svg
diff --git a/icons/4463.svg b/icons/4463.svg
index f02bbfe..f02bbfe 100755..100644
--- a/icons/4463.svg
+++ b/icons/4463.svg
diff --git a/icons/4464.svg b/icons/4464.svg
index 46f100f..46f100f 100755..100644
--- a/icons/4464.svg
+++ b/icons/4464.svg
diff --git a/icons/4465.svg b/icons/4465.svg
index a2e53fe..a2e53fe 100755..100644
--- a/icons/4465.svg
+++ b/icons/4465.svg
diff --git a/icons/4473.svg b/icons/4473.svg
index 99155de..99155de 100755..100644
--- a/icons/4473.svg
+++ b/icons/4473.svg
diff --git a/icons/4475.svg b/icons/4475.svg
index 672901b..672901b 100755..100644
--- a/icons/4475.svg
+++ b/icons/4475.svg
diff --git a/icons/4477.svg b/icons/4477.svg
index 5bce841..5bce841 100755..100644
--- a/icons/4477.svg
+++ b/icons/4477.svg
diff --git a/icons/4483.svg b/icons/4483.svg
index b4b8e7d..b4b8e7d 100755..100644
--- a/icons/4483.svg
+++ b/icons/4483.svg
diff --git a/icons/4485.svg b/icons/4485.svg
index a5dda7d..a5dda7d 100755..100644
--- a/icons/4485.svg
+++ b/icons/4485.svg
diff --git a/icons/4488.svg b/icons/4488.svg
index d14bbfa..d14bbfa 100755..100644
--- a/icons/4488.svg
+++ b/icons/4488.svg
diff --git a/icons/4498.svg b/icons/4498.svg
index 93aa7b7..93aa7b7 100755..100644
--- a/icons/4498.svg
+++ b/icons/4498.svg
diff --git a/icons/4505.svg b/icons/4505.svg
index 60dbfa9..60dbfa9 100755..100644
--- a/icons/4505.svg
+++ b/icons/4505.svg
diff --git a/icons/4506.svg b/icons/4506.svg
index 34dbc9a..34dbc9a 100755..100644
--- a/icons/4506.svg
+++ b/icons/4506.svg
diff --git a/icons/4507.svg b/icons/4507.svg
index efc7240..efc7240 100755..100644
--- a/icons/4507.svg
+++ b/icons/4507.svg
diff --git a/icons/4508.svg b/icons/4508.svg
index f281979..f281979 100755..100644
--- a/icons/4508.svg
+++ b/icons/4508.svg
diff --git a/icons/4518.svg b/icons/4518.svg
index f785dac..f785dac 100755..100644
--- a/icons/4518.svg
+++ b/icons/4518.svg
diff --git a/icons/4519.svg b/icons/4519.svg
index aef714f..aef714f 100755..100644
--- a/icons/4519.svg
+++ b/icons/4519.svg
diff --git a/icons/4526.svg b/icons/4526.svg
index 459ebbd..459ebbd 100755..100644
--- a/icons/4526.svg
+++ b/icons/4526.svg
diff --git a/icons/4527.svg b/icons/4527.svg
index d44077f..d44077f 100755..100644
--- a/icons/4527.svg
+++ b/icons/4527.svg
diff --git a/icons/4528.svg b/icons/4528.svg
index 95b87ae..95b87ae 100755..100644
--- a/icons/4528.svg
+++ b/icons/4528.svg
diff --git a/icons/4529.svg b/icons/4529.svg
index c4677a9..c4677a9 100755..100644
--- a/icons/4529.svg
+++ b/icons/4529.svg
diff --git a/icons/4534.svg b/icons/4534.svg
index 4d06f10..4d06f10 100755..100644
--- a/icons/4534.svg
+++ b/icons/4534.svg
diff --git a/icons/4544.svg b/icons/4544.svg
index 986c636..986c636 100755..100644
--- a/icons/4544.svg
+++ b/icons/4544.svg
diff --git a/icons/4545.svg b/icons/4545.svg
index 5441ba9..5441ba9 100755..100644
--- a/icons/4545.svg
+++ b/icons/4545.svg
diff --git a/icons/4546.svg b/icons/4546.svg
index 0c54c22..0c54c22 100755..100644
--- a/icons/4546.svg
+++ b/icons/4546.svg
diff --git a/icons/4548.svg b/icons/4548.svg
index a069deb..a069deb 100755..100644
--- a/icons/4548.svg
+++ b/icons/4548.svg
diff --git a/icons/4554.svg b/icons/4554.svg
index ce8f10d..ce8f10d 100755..100644
--- a/icons/4554.svg
+++ b/icons/4554.svg
diff --git a/icons/4561.svg b/icons/4561.svg
index b2e007a..b2e007a 100755..100644
--- a/icons/4561.svg
+++ b/icons/4561.svg
diff --git a/icons/4572.svg b/icons/4572.svg
index ad9290c..ad9290c 100755..100644
--- a/icons/4572.svg
+++ b/icons/4572.svg
diff --git a/icons/4577.svg b/icons/4577.svg
index 40e804b..40e804b 100755..100644
--- a/icons/4577.svg
+++ b/icons/4577.svg
diff --git a/icons/4578.svg b/icons/4578.svg
index 8e7187b..8e7187b 100755..100644
--- a/icons/4578.svg
+++ b/icons/4578.svg
diff --git a/icons/4580.svg b/icons/4580.svg
index 5504064..5504064 100755..100644
--- a/icons/4580.svg
+++ b/icons/4580.svg
diff --git a/icons/4585.svg b/icons/4585.svg
index 8fb0dd4..8fb0dd4 100755..100644
--- a/icons/4585.svg
+++ b/icons/4585.svg
diff --git a/icons/4587.svg b/icons/4587.svg
index b0e7fde..b0e7fde 100755..100644
--- a/icons/4587.svg
+++ b/icons/4587.svg
diff --git a/icons/4588.svg b/icons/4588.svg
index bc96f4a..bc96f4a 100755..100644
--- a/icons/4588.svg
+++ b/icons/4588.svg
diff --git a/icons/4591.svg b/icons/4591.svg
index 2640949..2640949 100755..100644
--- a/icons/4591.svg
+++ b/icons/4591.svg
diff --git a/icons/4595.svg b/icons/4595.svg
index 1b47314..1b47314 100755..100644
--- a/icons/4595.svg
+++ b/icons/4595.svg
diff --git a/icons/4597.svg b/icons/4597.svg
index d55cd86..d55cd86 100755..100644
--- a/icons/4597.svg
+++ b/icons/4597.svg
diff --git a/icons/4598.svg b/icons/4598.svg
index 1d4379b..1d4379b 100755..100644
--- a/icons/4598.svg
+++ b/icons/4598.svg
diff --git a/icons/4599.svg b/icons/4599.svg
index 1c8cc2e..1c8cc2e 100755..100644
--- a/icons/4599.svg
+++ b/icons/4599.svg
diff --git a/icons/4600.svg b/icons/4600.svg
index ac2a49e..ac2a49e 100755..100644
--- a/icons/4600.svg
+++ b/icons/4600.svg
diff --git a/icons/4601.svg b/icons/4601.svg
index 502b92f..502b92f 100755..100644
--- a/icons/4601.svg
+++ b/icons/4601.svg
diff --git a/icons/4606.svg b/icons/4606.svg
index 34a80c9..34a80c9 100755..100644
--- a/icons/4606.svg
+++ b/icons/4606.svg
diff --git a/icons/4609.svg b/icons/4609.svg
index 0904b6f..0904b6f 100755..100644
--- a/icons/4609.svg
+++ b/icons/4609.svg
diff --git a/icons/4612.svg b/icons/4612.svg
index 7460655..7460655 100755..100644
--- a/icons/4612.svg
+++ b/icons/4612.svg
diff --git a/icons/4613.svg b/icons/4613.svg
index 8f4cca7..8f4cca7 100755..100644
--- a/icons/4613.svg
+++ b/icons/4613.svg
diff --git a/icons/4615.svg b/icons/4615.svg
index 2db8236..2db8236 100755..100644
--- a/icons/4615.svg
+++ b/icons/4615.svg
diff --git a/icons/4621.svg b/icons/4621.svg
index 1de49fd..1de49fd 100755..100644
--- a/icons/4621.svg
+++ b/icons/4621.svg
diff --git a/icons/4622.svg b/icons/4622.svg
index 38b475f..38b475f 100755..100644
--- a/icons/4622.svg
+++ b/icons/4622.svg
diff --git a/icons/4623.svg b/icons/4623.svg
index 30517f7..30517f7 100755..100644
--- a/icons/4623.svg
+++ b/icons/4623.svg
diff --git a/icons/4625.svg b/icons/4625.svg
index 43e4f0c..43e4f0c 100755..100644
--- a/icons/4625.svg
+++ b/icons/4625.svg
diff --git a/icons/4626.svg b/icons/4626.svg
index a05c5cb..a05c5cb 100755..100644
--- a/icons/4626.svg
+++ b/icons/4626.svg
diff --git a/icons/4627.svg b/icons/4627.svg
index 1a09b23..1a09b23 100755..100644
--- a/icons/4627.svg
+++ b/icons/4627.svg
diff --git a/icons/4628.svg b/icons/4628.svg
index 10c53b0..10c53b0 100755..100644
--- a/icons/4628.svg
+++ b/icons/4628.svg
diff --git a/icons/4635.svg b/icons/4635.svg
index 55d1379..55d1379 100755..100644
--- a/icons/4635.svg
+++ b/icons/4635.svg
diff --git a/icons/4647.svg b/icons/4647.svg
index c95e805..c95e805 100755..100644
--- a/icons/4647.svg
+++ b/icons/4647.svg
diff --git a/icons/4649.svg b/icons/4649.svg
index 93d9c9e..93d9c9e 100755..100644
--- a/icons/4649.svg
+++ b/icons/4649.svg