Preview metadata in 0.114 and earlier was returned by datastore client
as a dbus.ByteArray.
Regression introduced by aa8a5e7 ("Port from Python 2 to six").
Traceback (most recent call last):
File "/usr/lib/python3.7/dist-packages/jarabe/journal/expandedentry.py", line 378, in _create_preview
pixbuf = get_preview_pixbuf(metadata.get('preview', ''))
File "/usr/lib/python3.7/dist-packages/sugar3/graphics/objectchooser.py", line 85, in get_preview_pixbuf
preview_data = base64.b64decode(preview_data)
File "/usr/lib/python3.7/base64.py", line 87, in b64decode
return binascii.a2b_base64(s)
binascii.Error: Invalid base64-encoded string: number of data characters (237) cannot be 1 more than a multiple of 4
Related to
https://github.com/sugarlabs/sugar-datastore/issues/16
Activity install target used by downstream activity packaging did fail
with;
Traceback (most recent call last):
File "setup.py", line 21, in <module>
bundlebuilder.start()
File "/usr/lib/python3.7/dist-packages/sugar3/activity/bundlebuilder.py", line 633, in start
globals()['cmd_' + options.command](config, options)
File "/usr/lib/python3.7/dist-packages/sugar3/activity/bundlebuilder.py", line 513, in cmd_install
options.install_desktop_file)
File "/usr/lib/python3.7/dist-packages/sugar3/activity/bundlebuilder.py", line 290, in install
for f in self.get_files_in_git():
File "/usr/lib/python3.7/dist-packages/sugar3/activity/bundlebuilder.py", line 209, in get_files_in_git
stdout.strip('\n').split('\n')]
TypeError: a bytes-like object is required, not 'str'
Workaround was to hide .git directory.
Cause was subprocess pipe returning a bytes-like object in Python 3.
Regression introduced by incomplete ed46c21 ("Port to six").
Fixes https://github.com/sugarlabs/sugar-toolkit-gtk3/issues/426
Status zero is normal, so don't report it.
Also don't print the log_file object.
Changes log messages such as this;
Exited with status 0, pid 3765 data (<_io.TextIOWrapper name=13 mode='w'
encoding='UTF-8'>, '5312a7726254b3b0b9a15267c54600aec9db187e')
To this;
Normal successful completion, pid 3765 activity_id 5312a7726254b3b0b9a15267c54600aec9db187e
GLib accepts signal names with dash or underscore and
documents the signals with a dash.
Use of signal names in Sugar was mixed, change to using
dash only.
No functional change.
Expose the GstSpeechPlayer pipeline so that the activities may add their
own handlers.
A quick way to get the rest of the gst-plugins-espeak signals available.
Defer iconify call to after the activity has been shown. Remember the
iconify call was requested, and make the call just prior to entering the
main loop.
On Ubuntu 18.04 with Metacity 3.32.0 the Journal does appear over the
Home View on Sugar start on a VM with two virtual CPUs, yet the previous
fix in Metacity (074af8f) is present. This is suggestive of a race
condition.
Tests with a minimal GTK reproducer shows order of three specific calls
is critical to success of iconify. The ordering and results are;
* iconify, maximize, show; not iconified,
* maximize, iconify, show; not iconified,
* iconify, show, maximize; not iconified,
* maximize, show, iconify; app with focus will flicker, iconified,
* show, maximize, iconify; app with focus may flicker, iconified,
* show, iconify, maximize; app with focus may flicker, iconified,
Sugar Toolkit combined with Journal uses the "maximize, iconify, show"
ordering. Using a Hello World activity with a call to iconify, the new
activity is not iconified.
When changed to "mazimise, show, iconify" ordering, there is no flicker
of the app in focus, and the new activity is iconified.
`configure` and `autogen.sh` now accept `--with-python2` or
`--with-python3` options, with the default of python 2.
aa8a5e7 introduced building for python 3, but broke build for python 2,
requiring patching `configure.ac` prior to build.
Code was derived from rpmfusion-packager, found using a GitHub search of
`configure.ac` files for both `python2` and `python3`, and is GPLv3.
Tested on Ubuntu 18.04.
Signed-off-by: James Cameron <quozl@laptop.org>
Ensure environment variables needed by Python activities are available
in each of the three supported scenarios;
- started from Sugar,
- started from Terminal inside Sugar,
- started by other desktop environments.
Variables always available are;
SUGAR_ACTIVITY_ROOT
SUGAR_BUNDLE_ID
SUGAR_BUNDLE_NAME
SUGAR_BUNDLE_PATH
SUGAR_BUNDLE_VERSION
Variables also available when started from Sugar are;
SUGAR_ACTIVITIES_HIDDEN
SUGAR_APISOCKET_KEY
SUGAR_APISOCKET_PORT
SUGAR_GROUP_LABELS
SUGAR_HOME
SUGAR_MIME_DEFAULTS
SUGAR_PROFILE
SUGAR_SCALING
SUGAR_VERSION
Variables also available when started from Terminal are;
SUGAR_TERMINAL_VERSION
Other changes;
- use os.makedirs in place of distutils.dir_util.mkpath,
- avoid redundant setting of SUGAR_BUNDLE_PATH,
- do not set SUGAR_BUNDLE_ID unnecessarily,
- add explanatory comment,
Tested on Ubuntu 18.04.
Signed-off-by: James Cameron <quozl@laptop.org>
Used when testing from the shell prompt using sugar-activity{,3}.
When Ctrl+C is pressed, close the activity.
May be used by other processes to request a clean activity stop, but
with save-as enabled may require user input.
* encourage "url" for either home page or user documentation,
* give examples for categorisation tags, define format,
* make "website" an alias for "url",
* make "category" and "categories" aliases for "tags".
* add the aliases to deprecated list; valid for use, but not encouraged.
Deprecates https://wiki.sugarlabs.org/go/Development_Team/Almanac/Activity_Bundles#.info_file_format
Signed-off-by: Vipul Gupta (@vipulgupta2048) <vipulgupta2048@gmail.com>
Signed-off-by: James Cameron <quozl@laptop.org>
Reviewed-by: Rahul Bothra <f2016015@pilani.bits-pilani.ac.in>
Reviewed-by: Yash Agrawal <yagrawal900@gmail.com>
When an icon file name matches a GNOME theme icon;
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/sugar3/graphics/icon.py", line 214, in _get_attach_points
cp.readfp(config_file)
File "/usr/lib/python2.7/ConfigParser.py", line 324, in readfp
self._read(fp, filename)
File "/usr/lib/python2.7/ConfigParser.py", line 512, in _read
raise MissingSectionHeaderError(fpname, lineno, line)
MissingSectionHeaderError: File contains no section headers.
Caused by reading a .png file as if it were config file, in turn
because the icon was expected by the toolkit to be .svg file type.
Regression introduced by f796638.
Fixes https://github.com/sugarlabs/activity-abacus/issues/16