6107 Commits (master)
 

Author SHA1 Message Date
Manish 2b0f65a9ee Fixes "Logs are not line buffered" #868 issue in sugar repo
Reason why it was working in python 2 is because this file is
added only when switched to python 3. Compare
[logger.py](https://github.com/sugarlabs/sugar-toolkit-gtk3/blob/v0.95.2/src/sugar3/logger.py)
file in sugar3 directory of v0.95.2 with
[sugar directory](https://github.com/sugarlabs/sugar-toolkit-gtk3/tree/v0.95.1/src/sugar)
of v0.95.1
4 years ago
Ibiam Chihurumnaya 8c976bd56a xml.etree.CElementTree deprecated
Any activity fails to build with Python 3.9;

Traceback (most recent call last):
  File "setup.py", line 19, in <module>
    from sugar3.activity import bundlebuilder
  File "sugar3/activity/bundlebuilder.py", line 44, in <module>
    import xml.etree.cElementTree as ET
ModuleNotFoundError: No module named 'xml.etree.cElementTree'

See https://docs.python.org/3.9/whatsnew/3.9.html#removed
"The xml.etree.cElementTree module has been removed."

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1817644

Signed-off-by: Ibiam Chihurumnaya <ibiamchihurumnaya@gmail.com>
Signed-off-by: James Cameron <quozl@laptop.org>
4 years ago
James Cameron 184a3643c1 Release Sugar 0.117 unstable 4 years ago
Ryan Van 72d36cc964 Add RedoButton accelerator
- use ctrl+y to be consistent with Write Activity,

- a design discussion gave no responses,
  http://lists.sugarlabs.org/archive/sugar-devel/2020-March/057832.html

Signed-off-by: James Cameron <quozl@laptop.org>
4 years ago
James Cameron 122284bd77 Build by default for python 3
5fa33b2 introduced build for either python 2 or python 3, with the
default of python 2.

`configure` and `autogen.sh` now accept `--with-python3` or
`--with-python2` options, with the default of python 3.

Signed-off-by: James Cameron <quozl@laptop.org>
4 years ago
Ibiam Chihurumnaya ecf335c19c Add --from-code parameter to xgettext for a python3 activity
Signed-off-by: Ibiam Chihurumnaya <ibiamchihurumnaya@gmail.com>
4 years ago
Srevin Saju 6fc675e848 Fix icon size in ColorButton
ColorButton did not show button icon, and swatches were too small
making it almost unusable. Color chooser toolbar had been using
Gtk.IconSize.LARGE_TOOLBAR which return 0 as size.
style.GRID_CELL_SIZE was used as size reference
4 years ago
Bas Hulsken 39b12bbf7f Fix sugar-install-bundle - Python 2
On Python 2 is seen
ConfigParser instance has no attribute 'read_string'

Regression introduced by 2018c930ad

Fixes https://github.com/sugarlabs/sugar-toolkit-gtk3/issues/438

Signed-off-by: James Cameron <quozl@laptop.org>
4 years ago
James Cameron 5b9f36db06 translate.sugarlabs.org synchronisation {uk} 4 years ago
Martin Abente Lahaye 5de5116ea2 speech: Check if speech schema is present
The schema is provided by the sugar shell package and
in scenarios where that package is not present trying
to reference ends up in segfaults, e.g. flatpak apps.
4 years ago
Srevin Saju 7e4264aeab Fix `is` comparison against literals : Python3.8 Syntax Warning . Fixes #434 4 years ago
Srevin Saju 139370d888 Correct SyntaxWarning - Python3.8 4 years ago
James Cameron 88adb38a42 Fix RuntimeError: could not create signal for _closing
On Ubuntu 20.04 with GTK 3.24.13, importing sugar3.activity.activity
fails with RuntimeError: could not create signal for _closing, preceeded
by an assertion is_valid_signal_name failed.

Cause is upstream 89f955d ("gsignal: Canonicalise signal names at
installation time ") which requires application signal names to not
start with a hyphen or underscore.

Remove the prefix from our signal name.  The signal remains reserved and
private to the Activity class.
4 years ago
James Cameron aca045bde2 Reduce width of exception handler for linfo file
ParsingError is only expected during read.
4 years ago
James Cameron 2018c930ad Fix sugar-install-bundle
Traceback (most recent call last):
  File "/usr/bin/sugar-install-bundle", line 21, in <module>
    bundle = ActivityBundle(name)
  File "/usr/lib/python3.7/dist-packages/sugar3/bundle/activitybundle.py", line 118, in __init__
    info_file = self.get_file('activity/activity.info')
  File "/usr/lib/python3.7/dist-packages/sugar3/bundle/bundle.py", line 126, in get_file
    f = six.StringIO(data)
TypeError: initial_value must be str or None, not bytes

Fix by always reading bundle and metadata as Bytes, and converting to
String before passing to ConfigParser.

Did not fix ContentBundle, as it has been unused for some time, and was
only kept for use with OLPC XO and Python 2.
4 years ago
Jonas Smedegaard e41c3a5f35 Fix replace broken locale ig with newer but ISO 639-2 named ibo
Fixes https://github.com/sugarlabs/sugar-toolkit-gtk3/issues/430

Signed-off-by: James Cameron <quozl@laptop.org>
5 years ago
James Cameron 15caa5478d Demote speech module utterance logging 5 years ago
James Cameron bfa70f39e2 Trim LINGUAS
Regression in 86289bd ("Remove empty locale files").

Fixes https://github.com/sugarlabs/sugar-toolkit-gtk3/issues/431

Reported-by: Chihurumnaya Ibiam <ibiamchihurumnaya@gmail.com>
Tested-by: James Cameron <quozl@laptop.org>  # Ubuntu 18.04
5 years ago
James Cameron 86289bd58a Remove empty locale files
Fixes https://github.com/sugarlabs/sugar-toolkit-gtk3/issues/429
5 years ago
James Cameron 2b56fabed1 Release Sugar 0.116 unstable
* fix previews.
5 years ago
James Cameron c911c6cb30 Port to Python 3 - preview metadata is bytes
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
5 years ago
James Cameron a7d8b9fdf6 Release Sugar 0.115 unstable 5 years ago
James Cameron 90c2539135 Fix unnecessary whitespace in warning
Regression introduced by 3b28597 ("flake8 fixes").

Fixes https://github.com/sugarlabs/sugar-toolkit-gtk3/issues/424
5 years ago
James Cameron 381c9b1b61 Fix install TypeError
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
5 years ago
James Cameron 7b85b807b2 Fix AppStream metadata warning
* wrong pydoc module reference,

* was too verbose.
5 years ago
James Cameron 6e517aa3c7 Clean activity logs successful completion
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
5 years ago
James Cameron ec753badbc Fix whitespace in AppStream metadata warning
Encountered on Hello World activity.
5 years ago
James Cameron a62bb885fc Port to Python 3 - use rb for message catalog file
Reported and patch proposed by Bas Hulsken.

Fixes https://github.com/sugarlabs/sugar-toolkit-gtk3/issues/425

Signed-off-by: James Cameron <quozl@laptop.org>
5 years ago
Ibiam Chihurumnaya fc81121f19 Dash in signal names
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.
5 years ago
Ibiam Chihurumnaya b74c3570d5 Fix NameError introduced by 23e664df05 5 years ago
James Cameron 23e664df05 sugar3.speech - expose player pipeline
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.
5 years ago
Ibiam Chihurumnaya 9a6c9ce69c sugar3.speech - expose mark messages
Mark messages can be used for text highlight.

Signed-off-by: James Cameron <quozl@laptop.org>
5 years ago
Aniket21mathur 5043d53e7b Typecast into "int" 5 years ago
Aniket21mathur e4725ad196 Fix utf encoding error via six 5 years ago
Aniket21mathur 490a602367 Fix "target" attribute calls via six 5 years ago
Aniket21mathur ed46c219a9 Port to six 5 years ago
Aniket21mathur 3b28597486 flake8 fixes 5 years ago
James Cameron f5c86da271 flake8 fixes (several remain to be fixed) 5 years ago
Aniket Mathur 88ea8e1f4f Port to TelepathyGLib
Co-authored-by: tonadev <tonadevv@gmail.com> [initial port]
Co-authored-by: Aniket21mathur <aniketmathur320@gmail.com> [further work]
Co-authored-by: James Cameron <quozl@laptop.org> [minimising changes]
5 years ago
Aniket21mathur ac7482081e Fix check-po target of Makefile and update LINGUAS 5 years ago
James Cameron 12a899f374 Defer Gtk.Window.iconify
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.
5 years ago
James Cameron a7735e6a97 Release Sugar 0.114 stable 5 years ago
James Cameron 4c4332c65c translate.sugarlabs.org synchronisation {mn,ru}
Thanks to khishigjargal and martenix.
5 years ago
James Cameron 5fa33b2d2c Build for either python 2 or python 3
`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>
5 years ago
James Cameron 481e0bac80 Fix collaboration call_async
Port to Python 3 via Six aa8a5e7 did introduce a regression during
activity collaboration on both sharing and joining.

Fixes https://github.com/sugarlabs/sugar-toolkit-gtk3/issues/406
5 years ago
James Cameron 2453d13b03 Clean up activity environment variables
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>
5 years ago
James Cameron 359dbf2c45 Add distributed source to .gitignore
File is generated by "make dist" or "make distclean".
5 years ago
James Cameron b6e314bbe5 Add flake8 suppression 5 years ago
James Cameron 830e7c50fb Release Sugar 0.113 unstable 5 years ago
James Cameron 0aaeca48b6 translate.sugarlabs.org synchronisation {ach,da,fy,he,is,lt,nl,pt,pt_BR,sq}
Thanks to numerous translators.
5 years ago