Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bring over lots of Py3 changes from master #1

Merged
merged 166 commits into from
Feb 3, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
166 commits
Select commit Hold shift + click to select a range
c9bc2c4
py3: Run futurize on the whole codebase
sjohannes Sep 8, 2019
e0b7dce
py3: Get rid of unnecessary uses of `object`
sjohannes Sep 8, 2019
a0a1532
py3: Remove __future__ imports
sjohannes Sep 8, 2019
186d926
py3: Remove all the future.standard_library and builtin compatibility…
sjohannes Sep 8, 2019
3b9cfe1
py3: Clean up the urllib imports and fix some wrong usage
sjohannes Sep 8, 2019
fb73273
py3: Fix futurize replacing xl.unicode with xl.str
sjohannes Sep 8, 2019
72c36fd
py3: Fix futurize wrongly turning foo.next() into next(foo)
sjohannes Sep 8, 2019
207d0de
py3: Review some files
sjohannes Sep 8, 2019
ae82932
xl/common: Remove deprecated log_exception function
sjohannes Sep 21, 2019
65610e7
xl/common:TimeSpan: Change repr so that it round-trips with the ctor
sjohannes Sep 21, 2019
2d83ba4
py3: Lots of partial reviews and fixes
sjohannes Sep 21, 2019
1c498ef
py3: Forgot to delete some code
sjohannes Sep 22, 2019
01e1a5b
.travis.yml: notifications: Try disabling skip_join and use_notice
sjohannes Sep 22, 2019
096f038
py3: Fix typo
sjohannes Sep 22, 2019
d5d1a61
py3: common.replace is obsoleted by os.replace in Python 3.3
sjohannes Sep 22, 2019
fc55f2a
py3: Replace sorted(cmp=?) (doesn't exist in Python 3) with sorted(ke…
sjohannes Sep 22, 2019
acac7fc
py3: Replace xl.unicode.strxfrm call with locale.strxfrm
sjohannes Sep 22, 2019
7abb18f
Merge branch 'master' into py3
sjohannes Sep 22, 2019
7c17f9b
py3: main.py: fixed handling of --all-data-dir argument
rokm Sep 22, 2019
543bcce
py3: xl/common: fixed GioFileInputStream to return unicode str
rokm Sep 22, 2019
704e52f
py3: xl/player/gst/gst_utils.py: removed obsolete conversion to (byte…
rokm Sep 22, 2019
5acd932
py3: xl/playlist.py: removed obsolete attempt to decode a str object
rokm Sep 22, 2019
0465f8a
py3: plugins/somafm: fixes for python3
rokm Sep 22, 2019
dfb065a
py3: Remove some UTF-8 decodes that are not necessary anymore
sjohannes Sep 22, 2019
2786314
py3: DnD selection data must be bytes, not str
sjohannes Sep 22, 2019
5475ede
daapclient: use BytesIO instead of StringIO
rokm Sep 24, 2019
fa09eb0
linux launcher script: python2 -> python3
rokm Sep 24, 2019
6a0c3ae
plugins/lyric*: fixed the str/bytes handling
rokm Sep 25, 2019
ae822a6
Makefile: use python3
rokm Sep 26, 2019
cf11166
xlgui/widgets/playback: fixed signalling of marker being reached
rokm Sep 27, 2019
d7d0292
plugins/abrepeat: finished review of futurize changes
rokm Sep 27, 2019
31b00b4
xlgui/preferences/widgets: HashedPreference: encode value before hashing
rokm Sep 27, 2019
e3da2b8
plugins/audioscrobbler: fixed some encode/decode issues
rokm Sep 27, 2019
c459f39
plugins/audioscrobbler: more encode/decode fixes
rokm Sep 27, 2019
f3d7fa7
plugins/audioscrobbler: open cache file in binary mode
rokm Sep 27, 2019
b1ee4cc
plugins/audioscrobbler: replaced track.set_tag_raw() with set_tags()
rokm Sep 27, 2019
462b33b
plugins/audioscrobbler: yet more encode/encode fixes
rokm Sep 27, 2019
6da3355
plugins/audioscrobbler: finished review of futurize changes
rokm Sep 27, 2019
46ea385
plugins/bookmarks: reviewed futurize changes, fixed file load/save
rokm Sep 27, 2019
4cf7842
plugins/bpm: reviewed changes made by futurize
rokm Sep 27, 2019
31ec3d1
plugins/cd: added missing decode()
rokm Sep 27, 2019
2232b2d
plugins/cd: reviewed changes made by futurize
rokm Sep 27, 2019
bdfd28e
plugins/currentsong: no changes to review
rokm Sep 27, 2019
7fdf4e6
plugins/daapclient: reviewed changes made by futurize
rokm Sep 27, 2019
5a84a6c
plugins/daapserver: fixed byte-string merging
rokm Sep 27, 2019
0e52cf6
plugins/desktopcover: reviewed changes made by futurize
rokm Sep 28, 2019
dfbfccb
plugisn/developer: reviewed changes made by futurize
rokm Sep 28, 2019
c3bfd14
plugins/equalizer: reviewed changes made by futurize
rokm Sep 28, 2019
0b4a34c
plugins/grouptagger: reviewed changes made by futurize
rokm Sep 28, 2019
00a6c6b
plugins/icecast: decode() the obtained GET response
rokm Sep 28, 2019
736c91a
plugins/icecast: reviewed changes made by futurize
rokm Sep 28, 2019
1674728
plugins/lastfmlove: reviewed changes made by futurize
rokm Sep 28, 2019
868f3d7
plugins/massstorage: reviewed changes made by futurize
rokm Sep 28, 2019
49e7db7
plugins/multialarmclock: open() alarms file in non-binary mode
rokm Sep 28, 2019
c8f4480
plugins/multialarmclock: fixed the corner case when no playlist is set
rokm Sep 28, 2019
5116b17
plugins/multialarmclock: provide default values for settings.get_opti…
rokm Sep 28, 2019
507f615
plugins/multialarmclock: reviewed changes made by futurize
rokm Sep 28, 2019
19db853
plugins/playlistanalyzer: open template file in non-binary mode
rokm Sep 28, 2019
1224d60
plugins/playlistanalyzer: explicitly exclude None objects from __sort…
rokm Sep 28, 2019
f39ccd5
plugins/playlistanalyzer: sort out bytes/str with input/output files
rokm Sep 28, 2019
4bf7da0
plugins/playlistanalyzer: finished review of changes made by futurize
rokm Sep 28, 2019
e192741
py3: Don't need to check for faulthandler; it's in the stdlib now
sjohannes Sep 28, 2019
e79d85c
py3: Documentation updates
sjohannes Sep 28, 2019
c914b8c
py3: Review some files. Most of these weren't modified by Futurize.
sjohannes Sep 28, 2019
31d9b72
py3: Small changes to some build & launch tools
sjohannes Sep 28, 2019
b923340
xl/collection: remove the use of basestring
rokm Sep 28, 2019
94034b4
xl/collection: reviewed changes made by futurize
rokm Sep 28, 2019
285b989
xlgui/properties: TagTextField: removed obsolete str conversion
rokm Sep 28, 2019
331abfd
xlgui/widgets/playlist_columns: use replace() to escape newlines
rokm Sep 28, 2019
df637f4
xlgui/widgets/rating.py: reviewed changes made by futurize
rokm Sep 29, 2019
99e3a2d
Changed shebang from python2 to python3
rokm Sep 29, 2019
4912f92
py3: tests: reviewed changes made by futurized and fixed python3-rela…
rokm Sep 30, 2019
abb688b
xl/metadata/ogg: vorbis requires all tags to be str
rokm Sep 30, 2019
8820f04
Fixed some warnings produced by the test suite
rokm Sep 30, 2019
0f46fbc
xlgui/cover: decorate do_*() callbacks with @common.idle_add()
rokm Sep 30, 2019
89f9494
py3: Review some files
sjohannes Oct 3, 2019
ba19dda
py3: Review some files
sjohannes Oct 3, 2019
03ed14a
tools/db_explorer.py: explicitly close the shelf
rokm Oct 5, 2019
b726dd4
tools/db_explorer.py: import xl.common to enable Utf8Unpickler
rokm Oct 5, 2019
9e66a9b
tools: reviewed changes made by futurize
rokm Oct 5, 2019
9f3c000
py3: Move Python 2 shelve compatibility code to xl/shelve_compat.py
sjohannes Oct 5, 2019
9c7ccd2
py3: Review xlgui/widgets/*
sjohannes Oct 5, 2019
3c45b89
py3: reviewed xl/formatter
rokm Oct 5, 2019
01fa8bd
py3: resolved the remaining uses of old_div
rokm Oct 7, 2019
489eb6f
shelve_compat: Fix copyright year
sjohannes Oct 5, 2019
9f0b5dc
tools/db_explorer.py: Simplify bsddb3 import
sjohannes Oct 5, 2019
e213e1b
panel/playlists: Rework how adding and updating playlists works
sjohannes Oct 9, 2019
3b500e5
py3: Review some xlgui/panels
sjohannes Oct 9, 2019
9ac786e
py3: xlgui/widteps/common: Fix wrong urlparse call
sjohannes Oct 9, 2019
67890ea
py3: Typing fixes
sjohannes Oct 9, 2019
42c4afa
py3: xl/metadata/_id3: removed redundant str() conversions
rokm Oct 21, 2019
159ac2e
py3: finished review of xl/metadata
rokm Oct 21, 2019
efcca8c
xlgui/properties: simplified TagDblNumField.get_value()
rokm Oct 21, 2019
d23edaf
py3: reviewed several parts of xlgui
rokm Oct 21, 2019
383bc7a
py3: reviewed xlgui/panel/lyrics.py
rokm Oct 21, 2019
0456c88
py3: reviewed xlgui/__init__.py
rokm Oct 21, 2019
c17c9ac
py3: xlgui/panel/collection: added comments about str() conversion
rokm Oct 21, 2019
8d36a71
py3: xlgui/panel/collection: removed invalid str decode attempt
rokm Oct 21, 2019
9434458
py3: xlgui/panel/collection: replaced map() with list comprehension
rokm Oct 21, 2019
5343580
py3: xlgui/panel/collection: removed a duplicated str type check
rokm Oct 21, 2019
1ad7aff
py3: xlgui/panel/collection: removed the use of reduce()
rokm Oct 21, 2019
7bdb6ad
py3: finished review of xlgui/panel/collection.py
rokm Oct 21, 2019
46432f3
py3: reviewed xl/devices.py
rokm Oct 23, 2019
de3b943
py3: reviewed xl/event.py
rokm Oct 23, 2019
a49fbe4
py3: reviewed xl/lyrics.py
rokm Oct 23, 2019
df2acef
py3: reviewed xl/player/gst/gst_utils.py
rokm Oct 23, 2019
d30cbca
py3: removed the redundant unicode string prefix
rokm Oct 23, 2019
5f0193e
py3: xl/trax/track.py: removed redundant conversion to str()
rokm Oct 23, 2019
7d2cc8e
py3: xl/trax/track.py: replaced map with list comprehension
rokm Oct 23, 2019
8d8483b
py3: reviewed xl/trax/track.py
rokm Oct 23, 2019
237eacc
py3: xl/trax/util: fixed error when sorting by non-string tags
rokm Oct 23, 2019
4b4a61a
py3: reviewed xlgui/panel/playlists.py
rokm Oct 24, 2019
b8454f7
py3: completed the reviews
rokm Oct 24, 2019
bcfa560
py3: xl/common: replaced getargspec() with getfullargspec()
rokm Oct 24, 2019
ec9da3c
Revert "py3: xl/trax/util: fixed error when sorting by non-string tags"
rokm Oct 25, 2019
7f4e564
py3: xl/trax/track.py: set invalid disc/track number sort tags to 0
rokm Oct 25, 2019
b601bfe
py3: plugins/mpris2: fixed the method type-check in _check_method()
rokm Oct 31, 2019
e7a8d6b
py3: fixed the process name setting under linux
rokm Nov 13, 2019
b0b9592
Merge branch 'master' into py3
sjohannes Dec 3, 2019
4ef6e10
metadata/ogg: Replace unnecessary use of to_unicode
sjohannes Dec 3, 2019
edaa6d3
version: Use subprocess.DEVNULL instead of opening os.devnull ourself
sjohannes Dec 3, 2019
02117ed
widgets/playlist: Fix Unicode error on tracklist search
sjohannes Dec 20, 2019
fdf5ab2
xlgui/properties: removed a spurious decode() call on a str object
rokm Dec 21, 2019
9157935
plugins/developer: removed a spurious decode() call on a str object
rokm Dec 21, 2019
d21902a
xl/playlist: Fix error on going to previous track when shuffle is on
sjohannes Dec 31, 2019
47c4c0f
Travis: Update to use python3 containers
genodeftest Jan 14, 2020
cac3e70
Test: Change expected error type
genodeftest Jan 14, 2020
c23b4bb
Travis: Skip `check-doc` target for now
genodeftest Jan 14, 2020
886cab5
Code formatting using black
genodeftest Jan 14, 2020
7921333
Merge pull request #666 from genodeftest/py3-travis
genodeftest Jan 14, 2020
481b619
Travis: Enable CI on ubuntu 18.04 LTS
genodeftest Jan 15, 2020
960b244
Merge pull request #669 from genodeftest/py3-more-ci
genodeftest Jan 15, 2020
a00a917
Python3 SyntaxWarning fix: is not "" (use !=)
nicfit Jan 16, 2020
d5bb7da
cgi.parse_qs deprecated in python3 and removed in python3.8; use urll…
nicfit Jan 16, 2020
2da9702
Merge pull request #673 from nicfit/py3-nicfit
sjohannes Jan 16, 2020
22bf149
py3: Fix code formatting after #673
genodeftest Jan 16, 2020
6d92bd2
Merge pull request #674 from genodeftest/py3-formatting
genodeftest Jan 16, 2020
a0ed13a
Plugins: Fix resource leak
genodeftest Jan 16, 2020
7a15267
Plugins: Use importlib instead of imp
genodeftest Jan 16, 2020
fb7bbc9
Plugins: remove unused function
genodeftest Jan 16, 2020
c6d1e4b
py3: fix documentation generation on python 3.7+
rokm Jan 15, 2020
68177bf
Revert "Travis: Skip `check-doc` target for now"
rokm Jan 16, 2020
ca39aa3
Merge pull request #670 from rokm/py3-mro
rokm Jan 16, 2020
609f05c
py3: fix documentation generation on python 3.7+, try 2
rokm Jan 16, 2020
f6957fb
py3: doc/mocks: change bsddb -> bsddb3 in MOCK_MODULES
rokm Jan 16, 2020
9b92aa3
Fix SyntaxWarnings
nicfit Jan 17, 2020
7fa0123
DEPS: Update for python 3
genodeftest Jan 16, 2020
9d34d08
Plugins: Drop some python 2.x compatibility code
genodeftest Jan 16, 2020
f3d2636
Makefile: Do not tolerate compile errors with optimizations
genodeftest Jan 16, 2020
77c2444
Shell scripts: Make sure to execute with python 3
genodeftest Jan 16, 2020
9da139b
Merge pull request #672 from genodeftest/py3-plugins-fix
genodeftest Jan 17, 2020
561f0e2
Merge pull request #671 from genodeftest/py3-meta
genodeftest Jan 17, 2020
0ae9862
Merge pull request #675 from rokm/py3-doc-metatype
rokm Jan 17, 2020
3f093c7
Another
nicfit Jan 17, 2020
0488ed8
Merge pull request #676 from nicfit/syntaxwarnings
genodeftest Jan 18, 2020
2b91662
Mod format: bump soname version, add logging
genodeftest Jan 19, 2020
fa9192e
Python: Replace calls to deprecated logging.warn()
genodeftest Jan 19, 2020
5c54fcd
Merge pull request #680 from genodeftest/py3-undeprecate-logging.warn
genodeftest Jan 19, 2020
8d935a3
Remove a few deprecated functions
genodeftest Jan 19, 2020
63730e9
Merge pull request #681 from genodeftest/py3-remove-DeprecationWarning
genodeftest Jan 20, 2020
9166ef0
Merge pull request #677 from genodeftest/py3-mod-format
genodeftest Jan 20, 2020
6251a0b
Merge branch 'master' into py3
sjohannes Jan 24, 2020
45805a2
Translated using Weblate (Slovenian)
roberthr74 Jan 29, 2020
fef8279
Merge remote-tracking branch 'origin/py3'
sjohannes Feb 1, 2020
85b5598
settings: Fix the settings version checking
sjohannes Feb 1, 2020
e2f4c84
settings: Increment settings version to 2
sjohannes Feb 1, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ services:
language: python

env:
- IMGTAG=debian9
- IMGTAG=debian10
- IMGTAG=fedora31
- IMGTAG=ubuntu18.04
- IMGTAG=ubuntu19.10
- IMGTAG=debian10-python3
- IMGTAG=fedora31-python3
- IMGTAG=ubuntu18.04-python3
- IMGTAG=ubuntu19.10-python3

before_install:
- docker pull exaile/exaile-testimg:${IMGTAG}
Expand All @@ -29,7 +28,7 @@ jobs:
- stage: deploy
language: python
python:
- "2.7"
- "3.6"
virtualenv:
system_site_packages: true
if: tag IS present
Expand Down
48 changes: 28 additions & 20 deletions DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,25 @@ Core dependencies

Essential:

* python (== 2.7.x)
* bsddb (distributed with stdlib) or bsddb3
* gtk+ >= 3.10
* gstreamer >= 1.4
* gstreamer-plugins-base >= 1.6
* gstreamer-plugins-good >= 1.4
* mutagen (>= 1.10)
* dbus-python
* pygobject (>= 3.13.2)
* python-cairo
* GI typelib files for GTK+, GStreamer (including gstreamer-plugins-base) and cairo (python-gi-cairo on Ubuntu)
* python3 >= 3.6
* python3-bsddb3
* gtk+ >= 3.22
* gstreamer (>= 1.14)
* gstreamer-plugins-base (>= 1.14)
* gstreamer-plugins-good (>= 1.14)
* python3-mutagen (>= 1.38)
* python3-dbus
* GI typelib files for GTK+, GStreamer (including gstreamer-plugins-base) and cairo and their python bindings
* Packages on Debian and Ubuntu:
* python3-gi >= 3.22
* python3-gi-cairo
* gir1.2-gtk-3.0
* gir1.2-gstreamer-1.0
* gir1.2-gst-plugins-base-1.0
* Packages on Fedora:
* python3-cairo
* python3-gobject >= 3.22
* python3-gstreamer1

Optional dependencies
---------------------
Expand All @@ -40,33 +48,33 @@ Device detection:

* udisks2

CD info:
CD info: (TODO: This is currently broken on python3, see #608 and #652)

* cddb (python2), from http://cddb-py.sourceforge.net/

DAAP plugins (daapserver and daapclient):

* spydaap (python2), e.g. from https://github.com/exaile/spydaap or https://pypi.org/project/spydaap/
* spydaap (python3), e.g. from https://github.com/exaile/spydaap or https://pypi.org/project/spydaap/

Last.FM integration:

* pylast (python2)
* pylast (python3)

Lyrics from lyricsmania.com (lyricsmania):

* lxml (python2)
* lxml (python3)

Lyrics from lyrics.wikia.com (lyricwiki):

* Beautifulsoup4 (python2)
* Beautifulsoup4 (python3)

Musicbrainz covers:

* musicbrainzngs (python2)
* musicbrainzngs (python3)

Podcast plugin:

* feedparser (python2)
* feedparser (python3)

Wikipedia info:

Expand Down Expand Up @@ -98,6 +106,6 @@ BPM Counter plugin:

Test dependencies:

* mox3 (python2)
* pytest (python2)
* mox3 (python3)
* pytest (python3)

14 changes: 7 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PYTHON2_CMD ?= python2
PYTEST ?= py.test
PYTHON3_CMD ?= python3
PYTEST ?= py.test-3
BLACK ?= black

PREFIX = /usr/local
Expand Down Expand Up @@ -47,8 +47,8 @@ builddir:
mkdir -p build

compile:
$(PYTHON2_CMD) -m compileall -q xl xlgui
-$(PYTHON2_CMD) -O -m compileall -q xl xlgui
$(PYTHON3_CMD) -m compileall -q xl xlgui
$(PYTHON3_CMD) -O -m compileall -q xl xlgui
$(MAKE) -C plugins compile

make-install-dirs:
Expand Down Expand Up @@ -160,7 +160,7 @@ install-target: make-install-dirs
-install -m 644 build/exaile.fish-completion $(DESTDIR)$(FISHCOMPDIR)/exaile.fish
install -m 644 data/config/settings.ini $(EXAILECONFDIR)
tools/generate-launcher "$(DESTDIR)" "$(PREFIX)" "$(EPREFIX)" "$(LIBINSTALLDIR)" \
"$(PYTHON2_CMD)" && \
"$(PYTHON3_CMD)" && \
chmod 755 $(EXAILEBINDIR)/exaile
sed "s|\@bindir\@|$(EPREFIX)/bin|" data/org.exaile.Exaile.service.in > \
$(DESTDIR)$(DATADIR)/dbus-1/services/org.exaile.Exaile.service && \
Expand Down Expand Up @@ -201,8 +201,8 @@ manpage: builddir
| gzip -9 > build/exaile.1.gz

completion: builddir
$(PYTHON2_CMD) tools/generate-completion.py bash > build/exaile.bash-completion
$(PYTHON2_CMD) tools/generate-completion.py fish > build/exaile.fish-completion
$(PYTHON3_CMD) tools/generate-completion.py bash > build/exaile.bash-completion
$(PYTHON3_CMD) tools/generate-completion.py fish > build/exaile.fish-completion

clean:
-find . -name "*.~[0-9]~" -exec rm -f {} \;
Expand Down
2 changes: 1 addition & 1 deletion doc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

# You can set these variables from the command line.
SPHINXOPTS ?=
SPHINXBUILD = python2 -msphinx
SPHINXBUILD = python3 -msphinx
SPHINXPROJ = Exaile
SOURCEDIR = .
BUILDDIR ?= _build
Expand Down
24 changes: 12 additions & 12 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@
os.environ['EXAILE_BUILDING_DOCS'] = 'TRUE'

EXAILE_AUTHORS = [
u'Adam Olsen <arolsen@gmail.com>',
u'Johannes Sasongko <sasongko@gmail.com>',
u'Aren Olsen <reacocard@gmail.com>',
u'Mathias Brodala <info@noctus.net>',
u'Dustin Spicuzza <dustin@virtualroadside.com>',
u'Christian Stadelmann',
'Adam Olsen <arolsen@gmail.com>',
'Johannes Sasongko <sasongko@gmail.com>',
'Aren Olsen <reacocard@gmail.com>',
'Mathias Brodala <info@noctus.net>',
'Dustin Spicuzza <dustin@virtualroadside.com>',
'Christian Stadelmann',
]

#
Expand Down Expand Up @@ -76,9 +76,9 @@
master_doc = 'index'

# General information about the project.
project = u'Exaile'
copyright = u'2009-2018 Exaile Development Team'
author = u''.join(EXAILE_AUTHORS)
project = 'Exaile'
copyright = '2009-2018 Exaile Development Team'
author = ''.join(EXAILE_AUTHORS)

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
Expand Down Expand Up @@ -178,7 +178,7 @@
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'Exaile.tex', u'Exaile Documentation',
(master_doc, 'Exaile.tex', 'Exaile Documentation',
author.replace('<', '\\textless{}').replace('>', '\\textgreater{}'),
'manual'),
]
Expand All @@ -189,7 +189,7 @@
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, 'exaile', u'Exaile Documentation',
(master_doc, 'exaile', 'Exaile Documentation',
[author], 1)
]

Expand All @@ -200,7 +200,7 @@
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, 'Exaile', u'Exaile Documentation',
(master_doc, 'Exaile', 'Exaile Documentation',
author, 'Exaile', 'One line description of project.',
'Miscellaneous'),
]
Expand Down
9 changes: 4 additions & 5 deletions doc/dev/debugging.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,7 @@ On Windows:
Viewing stack traces when Exaile hangs
--------------------------------------

If you have the `faulthandler <https://github.com/haypo/faulthandler>`_ module
installed, on Linux/OSX if you send SIGUSR2 to Exaile it will dump stacktraces
On Linux/OSX if you send SIGUSR2 to Exaile it will dump stacktraces
of all current Python threads to stderr.

GStreamer Debugging Techniques
Expand Down Expand Up @@ -112,7 +111,7 @@ GDB can be used to diagnose segfaults and other issues. To run GDB:

.. code-block:: sh

gdb --args python2 exaile.py --startgui <other arguments here>
gdb --args python3 exaile.py --startgui <other arguments here>

Refer to the `Python Documentation <https://wiki.python.org/moin/DebuggingWithGdb>`_,
but especially useful here are:
Expand Down Expand Up @@ -143,7 +142,7 @@ and sometimes on older versions. See
Eliminating Gtk-WARNING
~~~~~~~~~~~~~~~~~~~~~~~

1. run gdb with ``G_DEBUG=fatal-warnings gdb --args python2 exaile --startgui``
1. run gdb with ``G_DEBUG=fatal-warnings gdb --args python3 exaile --startgui``
2. run exaile from gdb with ``run``
3. do whatever causes `Gtk-WARNING`. This will lead to a crash in exaile.
4. debug this crash with gdb
Expand Down Expand Up @@ -173,7 +172,7 @@ Debugging segfaults (segmentation violations)
1. Open a terminal.
2. Use the ``cd`` command to change to the directory where you put Exaile source
code or to its installation directory.
3. Run ``gdb /usr/bin/python2``
3. Run ``gdb /usr/bin/python3``
4. In gdb, run ``set logging on exaile-segfault.txt`` to enable logging to that file.
5. In gdb, run ``run ./exaile.py --startgui``. You might append other arguments if you need them.
6. Use Exaile as you did before and try to reproduce the problem. At some point, exaile might freeze. This is when gdb catched the segmentation fault.
Expand Down
22 changes: 11 additions & 11 deletions doc/dev/getting_started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ dependencies:
.. code-block:: sh

sudo apt-get install \
python-mutagen \
python-gi \
python-gi-cairo \
python-dbus \
python3-mutagen \
python3-gi \
python3-gi-cairo \
python3-dbus \
gir1.2-gtk-3.0 \
gir1.2-gstreamer-1.0 \
gir1.2-gst-plugins-base-1.0 \
Expand All @@ -59,10 +59,10 @@ awhile):
.. code-block:: sh

pacman -S \
mingw-w64-i686-python2-gobject \
mingw-w64-i686-python2-cairo \
mingw-w64-i686-python2-pip \
mingw-w64-i686-python2-bsddb3 \
mingw-w64-i686-python3-gobject \
mingw-w64-i686-python3-cairo \
mingw-w64-i686-python3-pip \
mingw-w64-i686-python3-bsddb3 \
mingw-w64-i686-gtk3 \
mingw-w64-i686-gdk-pixbuf2 \
mingw-w64-i686-gstreamer \
Expand All @@ -76,14 +76,14 @@ Once that is complete, you'll want to install mutagen:

.. code-block:: sh

python -m pip install mutagen
python3 -m pip install mutagen

And then you should be able to launch Exaile from the msys2 console:

.. code-block:: sh

cd exaile
python exaile_win.py
python3 exaile_win.py

OSX
~~~
Expand Down Expand Up @@ -113,7 +113,7 @@ Useful documentation
Exaile is built upon Python, PyGObject, Gtk+, and GStreamer. Here is a bunch of
documentation that you will find useful when working with these frameworks:

* `Python 2 <https://docs.python.org/2.7/>`_
* `Python 3 <https://docs.python.org/3/>`_
* `PyGObject <https://pygobject.readthedocs.io>`_
* `Python GI API Reference <https://lazka.github.io/pgi-docs>`_
* `Python GTK+3 Tutorial <https://python-gtk-3-tutorial.readthedocs.io>`_
Expand Down
Loading