Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
160 commits
Select commit Hold shift + click to select a range
7c1c5c9
WIP: Implement all methods and fix property access
willprice Aug 19, 2017
d5b2bd0
WIP: Add new methods, fix up property integration tests
willprice Aug 20, 2017
5c3648a
More integration tests
willprice Sep 4, 2017
5a9ce90
Fix unittests (#95)
Sep 13, 2017
fa292ee
Fix docs building
willprice Sep 14, 2017
c5dcd87
Fix docs building
willprice Sep 14, 2017
fdb03ca
Improve docs
willprice Sep 14, 2017
cdb3921
Refactor version definition and bump sphinx version
willprice Sep 14, 2017
321c6fb
Update docs status badge
willprice Sep 14, 2017
6d70fb0
Merge remote-tracking branch 'origin/develop'
willprice Sep 14, 2017
a3281d6
Set build status badge to master branch
willprice Sep 14, 2017
da91b03
Revamp docs
willprice Sep 14, 2017
a418119
Revamp tests
willprice Sep 14, 2017
803751d
Remove ancient abandonned md files
willprice Sep 14, 2017
268dfeb
Fix typo (missing comma) in setup.py
willprice Sep 15, 2017
d7742f9
Remove superfluous sphinx_rtd_theme import from sphinx conf.py
willprice Sep 15, 2017
e623c7f
Update travis to new Makefile targets
willprice Sep 15, 2017
af41bc8
Attempt to fix travis ci SSL issues
willprice Sep 15, 2017
8c9e4ce
Attempt to fix travis ci SSL issues
willprice Sep 15, 2017
1cee435
Attempt to fix travis ci SSL issues
willprice Sep 15, 2017
f32bc04
Attempt to fix travis ci SSL issues
willprice Sep 15, 2017
4b4b9d6
Add incorrectly removed decorator dep back
willprice Sep 15, 2017
f1132d5
Switch to pipenv (#96)
Sep 15, 2017
979e61c
Remove dbus-python from requirements.txt so we can build docs
willprice Sep 15, 2017
61aa5e1
Remove dbus-python from requirements.txt so we can build docs (#97)
Sep 15, 2017
7b334f2
Move requirements.txt into docs and mock dbus in docs/conf.py
willprice Sep 15, 2017
26f5a14
[docs] Mock dbus.types in docs/conf.py
willprice Sep 15, 2017
0533e4b
Merge branch 'master' into develop
willprice Sep 15, 2017
bcc0b5c
Move requirements.txt into docs and mock dbus in docs/conf.py
willprice Sep 15, 2017
33c50b3
[docs] Mock dbus.types in docs/conf.py
willprice Sep 15, 2017
a5897b4
[docs] Update installation.rst to reflect dbus-python dep
willprice Sep 15, 2017
81fd1c8
Merge pull request #99 from willprice/develop
Sep 15, 2017
00874b8
[travis] Build on 3.5 and 3.6
willprice Sep 15, 2017
ca9cebc
[travis] List pyenv versions
willprice Sep 15, 2017
0a76f76
[build] Fix tox to work with pyenv
willprice Sep 15, 2017
0522ca3
Ignore pyenv local files
willprice Sep 15, 2017
e04e1fe
Skip installing deps outside of tox in travis
willprice Sep 15, 2017
dd09606
Install deps in tox test command
willprice Sep 15, 2017
27f1ba4
Add debug info to tox test command
willprice Sep 15, 2017
e8c7e37
Scrap tox for build
willprice Sep 15, 2017
4fcf4f2
Install pipenv
willprice Sep 15, 2017
e49f877
Update rtfd badge
willprice Sep 16, 2017
9a4c403
WIP: Dockerfile first cut
willprice Sep 18, 2017
27a60e4
[travis,debug] See whether pip install dbus-python works
willprice Sep 18, 2017
125b9e7
[travis,debug] Add more pyenv information to before_install
willprice Sep 18, 2017
bdb36d9
[travis,debug] Remove pyenv local
willprice Sep 18, 2017
567adcb
[travis,debug] Phantom commit to trigger travis
willprice Sep 19, 2017
7c9a790
Correct integration test assertions for rate
willprice Sep 20, 2017
778ca75
[travis,debug] Add pyenv version to before_install
willprice Sep 20, 2017
9cfc533
[travis,debug] Add env to before_install
willprice Sep 20, 2017
0f5b444
[travis,debug] Try setting pyenv local to travis python version
willprice Sep 20, 2017
f7dae9a
[travis,debug] Attempt to override PYTHON_LIBS
willprice Sep 20, 2017
2682247
[travis,debug] Attempt to fix --ldflags error
willprice Sep 20, 2017
ed5f008
[travis] Fix installation of dbus-python under py35 py36
willprice Sep 20, 2017
fdd0610
[travis] Add travis ssh debug script
willprice Sep 20, 2017
5d51c3b
Remove dockerfile
willprice Sep 20, 2017
0475074
Merge branch 'master' into develop
Sep 20, 2017
7ff711a
Merge pull request #101 from willprice/develop
Sep 20, 2017
269f121
Another attempt at fixing docs build status badge [skip-ci]
Sep 20, 2017
fb47bf1
Remove file checks when launching omxplayer process
willprice Sep 26, 2017
d31b5f7
Resolve pathlib.Path objects before launching omxplayer process
willprice Sep 26, 2017
5cb400a
Make examples executable
willprice Sep 26, 2017
c7cebcc
Merge pull request #104 from willprice/develop
Sep 26, 2017
6038460
Add issue scripts: 71, 76
willprice Sep 26, 2017
10c7d0d
Fix examples
willprice Sep 27, 2017
f625351
Fix integration test imports
willprice Sep 27, 2017
ab554fa
Make tests python packages
willprice Sep 27, 2017
7206490
Bump version to 0.2.4 and add CHANGELOG
willprice Sep 27, 2017
8f79bc9
Merge branch 'master' into develop
Sep 27, 2017
21778b9
Release 0.2.4
Sep 27, 2017
26991c6
Correct version number in omxplayer/__version__, now only set it one …
willprice Sep 27, 2017
632900b
0.2.5 RC
willprice Sep 27, 2017
f893dc1
Merge branch 'master' into develop
Sep 27, 2017
deb56cb
Update docs requirements.txt
willprice Sep 27, 2017
df533ce
Remove dbus-python from docs requirements.txt
willprice Sep 27, 2017
58b78cb
Merge pull request #112 from willprice/develop
Sep 27, 2017
991a396
Bump version to 0.2.6 for next release
willprice Sep 27, 2017
d8283f2
Specify dbus-python dependency in setup.py
willprice Nov 14, 2017
6bb8a38
Callback when process exits and return exit status
Mello-Yello Dec 20, 2017
a22bc84
Merge pull request #116 from Mello-Yello/develop
Dec 20, 2017
52415d7
Initial Update (#126)
pyup-bot Aug 25, 2018
95179e9
Update typing from 3.6.4 to 3.6.6 (#130)
pyup-bot Aug 26, 2018
b3500e0
Update sphinx from 1.7.6 to 1.7.9 (#133)
pyup-bot Sep 6, 2018
114be45
Update sphinx from 1.7.9 to 1.8.0 (#135)
pyup-bot Sep 13, 2018
c00c8fc
Update sphinx from 1.8.0 to 1.8.1 (#136)
pyup-bot Sep 23, 2018
53aa7f3
Update alabaster from 0.7.11 to 0.7.12 (#137)
pyup-bot Oct 3, 2018
a81885a
Update decorator from 4.2.1 to 4.3.0 (#140)
pyup-bot Oct 10, 2018
5048a0d
Update imagesize from 1.0.0 to 1.1.0 (#132)
pyup-bot Oct 10, 2018
5144b61
Update certifi from 2018.4.16 to 2018.10.15 (#142)
pyup-bot Oct 15, 2018
d2d0c2d
Update urllib3 from 1.22 to 1.23 (#139)
pyup-bot Oct 15, 2018
f059745
Update pbr from 4.1.1 to 4.3.0 (#138)
pyup-bot Oct 15, 2018
ac453fd
Update urllib3 from 1.23 to 1.24 (#143)
pyup-bot Oct 17, 2018
6076796
Update pbr from 4.3.0 to 5.0.0 (#144)
pyup-bot Oct 17, 2018
f3e9c1c
Update requests from 2.19.1 to 2.20.0 (#145)
pyup-bot Oct 24, 2018
77a4287
Update pbr from 5.0.0 to 5.1.0 (#146)
pyup-bot Oct 24, 2018
e1f53f6
Update pytz from 2018.5 to 2018.6 (#147)
pyup-bot Oct 24, 2018
eedfce6
Update pytz from 2018.6 to 2018.7 (#150)
pyup-bot Nov 3, 2018
efe2eac
Update urllib3 from 1.24 to 1.24.1 (#151)
pyup-bot Nov 3, 2018
3ba78f3
Fix set_rate integration test
willprice Nov 3, 2018
7434fe2
Drop millibel volume settings and fix volume integration tests
willprice Nov 3, 2018
da5e232
Cleanup omxplayer process at exit
willprice Nov 3, 2018
37270c9
Merge branch 'develop'
willprice Nov 3, 2018
6742061
Support str media paths in OMXPlayer constructor
willprice Nov 3, 2018
140fd17
Support str args list in constructor
willprice Nov 3, 2018
becccfd
Kill omxplayer process on system exit
willprice Nov 3, 2018
4e08a50
Add constructor integration tests
willprice Nov 3, 2018
cb14f59
Fix volume integration tests
willprice Nov 3, 2018
abe7e42
Add pathlib2 dependency
willprice Nov 3, 2018
d114ce2
Add exitEvent tests
willprice Nov 3, 2018
ba2f7a7
Update setup.py to use __version__.py and not import
willprice Nov 3, 2018
660c083
Fix integration test MEDIA_FILE_PATH reference
willprice Nov 3, 2018
193dc8e
Remove Pipfile
willprice Nov 3, 2018
b65a2cb
Update OMXPlayer args docs + add new examples
willprice Nov 3, 2018
08f197f
Convert args list elements to strings to support passing numeric argu…
willprice Nov 3, 2018
bad5b32
Fix unit tests and add atexit quit test
willprice Nov 3, 2018
78b4365
Use pytest instead of tox in Makefile test target for travis
willprice Nov 3, 2018
0d9b600
[travis] Install package in editable mode
willprice Nov 3, 2018
831ce12
[travis] Install test and docs dependencies
willprice Nov 3, 2018
d38664d
[travis] Use python-dbus system dep
willprice Nov 3, 2018
c15bf25
[circleci] First bash at support
willprice Nov 3, 2018
a9a9645
[circleci] Install python3-venv
willprice Nov 3, 2018
6d45866
[travis] Remove travis support
willprice Nov 3, 2018
31202c1
Change travis badge to circleci
willprice Nov 3, 2018
ba67661
Remove travis button from docs
willprice Nov 3, 2018
d6e89d6
[circleci] Dont install package outside of tox
willprice Nov 3, 2018
a903ab0
[circleci] Fix PYTHON_VERSION parsing
willprice Nov 3, 2018
d3c0ee7
Bump version to v0.3.0
willprice Nov 3, 2018
9a37111
Fix keywords in setup.py
willprice Nov 3, 2018
4a6ef5e
Remove travis debug script
willprice Nov 3, 2018
a96b708
Remove literalinclude directives from README.rst
willprice Nov 4, 2018
78b8210
Remove test cruft from sdist, support calling quit multiple times
willprice Nov 4, 2018
8604a78
Update markupsafe from 1.0 to 1.1.0 (#154)
pyup-bot Nov 5, 2018
cb7e370
Update pbr from 5.1.0 to 5.1.1 (#155)
pyup-bot Nov 5, 2018
fbcbe63
Update requests from 2.20.0 to 2.20.1 (#156)
pyup-bot Nov 9, 2018
b2d6068
Remove unused imports from omxplayer/player.py
willprice Nov 10, 2018
5b3271b
Update sphinx from 1.8.1 to 1.8.2 (#158)
pyup-bot Nov 11, 2018
11d10ad
Update coverage from 4.5.1 to 4.5.2 (#159)
pyup-bot Nov 13, 2018
0a29d05
Update pygments from 2.2.0 to 2.3.0 (#160)
pyup-bot Nov 29, 2018
c658596
Update requests from 2.20.1 to 2.21.0 (#166)
pyup-bot Dec 11, 2018
393ef61
Update six from 1.11.0 to 1.12.0 (#165)
pyup-bot Dec 11, 2018
c32b9fe
Update idna from 2.7 to 2.8 (#164)
pyup-bot Dec 11, 2018
d4d0718
Update parameterized from 0.6.1 to 0.7.0 (#178)
pyup-bot Feb 6, 2019
8c7f5aa
Update sphinx from 1.8.2 to 1.8.4 (#177)
pyup-bot Feb 6, 2019
41c4ff4
Update decorator from 4.3.0 to 4.3.2 (#174)
pyup-bot Feb 6, 2019
d5842af
Update pygments from 2.3.0 to 2.3.1 (#169)
pyup-bot Feb 6, 2019
c07efb7
Update pytz from 2018.7 to 2018.9 (#172)
pyup-bot Feb 6, 2019
d70887e
Update pbr from 5.1.1 to 5.1.2 (#175)
pyup-bot Feb 6, 2019
00729ab
Update certifi from 2018.10.15 to 2018.11.29 (#162)
pyup-bot Feb 6, 2019
59f1a49
Update markupsafe from 1.1.0 to 1.1.1 (#179)
pyup-bot May 16, 2019
4c04d64
Add set_layer method (#191)
JE-Random-Tech Sep 1, 2019
b551644
Ditch python 3.4 support
willprice Sep 1, 2019
ba97039
Add FAQ to readme
willprice Oct 23, 2019
504ec47
Bump urllib3 from 1.24.1 to 1.24.2 in /docs (#193)
dependabot[bot] Mar 15, 2020
4164bd2
Better handle startup failures - do not leave dangling processes (#201)
matthijskooijman Mar 16, 2020
4f2e99e
Release v0.3.3
willprice Mar 16, 2020
4468406
Update contributing docs, Makefile and tox
willprice Mar 16, 2020
962c482
Add Missing dependency on libglib2.0-dev to readme instructions (#213)
atoav Feb 9, 2021
6c7b432
Bump jinja2 from 2.10 to 2.11.3 (#214)
dependabot[bot] Mar 20, 2021
870529c
Bump jinja2 from 2.10 to 2.11.3 in /docs (#215)
dependabot[bot] Mar 20, 2021
b2aea5c
[BUGIFX 176] Fix dbus connection leak
a-elkaim Jun 1, 2023
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
57 changes: 57 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Python CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-python/ for more details
version: 2

shared: &shared
working_directory: ~/repo
steps:
- checkout

- run:
name: Install dependencies
command: |
sudo apt-get install -y dbus libdbus-1-dev libdbus-glib-1-dev
sudo apt-get install python3-venv # Necessary on py2.7 circleci image
python3 -m venv venv
. venv/bin/activate
pip install tox
pip install codecov

- run:
name: Run tests
command: |
. venv/bin/activate
# If we don't specify the python version then the default
# 3.5 version that is part of all images is run which causes
# issues.
TOX_ENV="$(echo ${PYTHON_VERSION} | sed -E 's/([[:digit:]]).([[:digit:]])+.([[:digit:]])+/py\1\2/')"
tox -e "$TOX_ENV"
codecov

jobs:
py2.7:
<<: *shared
docker:
- image: circleci/python:2.7
py3.5:
<<: *shared
docker:
- image: circleci/python:3.5
py3.6:
<<: *shared
docker:
- image: circleci/python:3.6
py3.7:
<<: *shared
docker:
- image: circleci/python:3.7

workflows:
version: 2
test:
jobs:
- py2.7
- py3.5
- py3.6
- py3.7
9 changes: 0 additions & 9 deletions .github/CONTRIBUTING.md

This file was deleted.

15 changes: 14 additions & 1 deletion .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,25 @@
## README

**READ BELOW THE FOLD BEFORE REPORTING AN ISSUE**

------

If you're looking for **help** on how to use the library head over to the
[Raspberry Pi forums](https://www.raspberrypi.org/forums/viewforum.php?f=32&sid=f1a4513e3e137272da39dbb11089e077)

If you're reporting an issue or requesting a feature, read on! Pick one of the
following templates depending on your issue type.

------
Delete above and including this line.

If you're going to report an issue, please pick one of the template below:

* Issue report
* Feature request

Delete the template you aren't using.

**FINALLY, DELETE ALL THE ABOVE AND THIS LINE.**


# Issue Report
Expand Down
6 changes: 0 additions & 6 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,4 @@ other_pr_master | [link]()
## Steps to Test or Reproduce
Outline the steps to test or reproduce the PR here.

```sh
git pull --prune
git checkout <feature_branch>
bundle; script/server
```

1.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
__pycache__/
*.py[cod]

# pyenv
.python-version

# C extensions
*.so

Expand Down Expand Up @@ -57,3 +60,6 @@ docs/_build/
.idea

**/build

# Vim
*.swp
28 changes: 0 additions & 28 deletions .travis.yml

This file was deleted.

58 changes: 58 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# 0.3.2 -> 0.3.3
* Clean up process when start up fails (#196)

# 0.3.1 -> 0.3.2
* Remove unused imports (`mock`) causing errors (#157)

# 0.3.0 -> 0.3.1
* Remove `tests` package from distribution
* Support calling `quit` multiple times without raising exception

# 0.2.5 -> 0.3.0

* Change `set_volume` to work with values between 0-10 instead of
millibels
* Fix `volume` to return actual volume rather than just 1.0
* Fix `rate` to return actual rate rather than just 1.0
* Support providing arguments as a `str` which is then split with `shlex.split`,
i.e. you don't have to provide a list of shell split args if you don't want to.
* Support `str` media file path in `OMXPlayer` constructor.
* Cleanup omxplayer process on exit


# 0.2.4 -> 0.2.5

* Correct `omxplayer.__version__` to return 0.2.5 instead of 0.2.3 (in 0.2.4)

# 0.2.3 -> 0.2.4

* New methods:
* `aspect_ratio`
* `can_raise`
* `fullscreen`
* `has_track_list`
* `height`
* `hide_subtitles`
* `hide_video`
* `metadata`
* `next`
* `previous`
* `rate`
* `select_audio`
* `select_subtitle`
* `set_rate`
* `show_subtitles`
* `show_video`
* `supported_uri_schemes`
* `video_pos`
* `video_stream_count`
* `width`
* We no longer verify the source exists before playing to allow a broader range
of valid inputs
* Revamped docs, available at http://python-omxplayer-wrapper.readthedocs.io/

## Developer relevant changes

* Added integration tests
* Refactored tests
* Unit testing on python 3.5 and 3.6 in travis
76 changes: 76 additions & 0 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
Contributing
============

Rules
-----

- **Thou shalt not break the build**.
- **Thou shalt not break the tests**.
- **Thou shalt write tests for new functionality**.
- **Thou shalt rebase onto ``develop`` instead of merging**.
- Don't reduce test coverage, ideally improve it.
- Add doc comments if your code is to be used by client code.

Thou shalt receive cookies for your welcomed contribution.

Development
-----------

1. Set up a virtual environment

.. code:: console

$ python3 -m venv .venv
$ .venv/bin/activate

2. Install package in editable mode with dependencies

.. code:: console

$ pip install ".[test,docs]" -e .

3. Run unit tests

.. code:: console

$ make test # run under current python version

$ pip install tox pyenv tox-pyenv # Install pyenv tox to run under all python versions
$ git clone https://github.com/momo-lab/xxenv-latest.git "$(pyenv root)"/plugins/xxenv-latest
$ for v in 2.7 3.4 3.5 3.6 3.7; do pyenv la test install "$v"; done
$ pyenv versions --base > .python-version
$ make test-all # run under tox for all supported python versions

4. Run integration tests (on Raspberry Pi)

.. code:: console

$ make test-integration


5. Build docs

.. code:: console

$ make doc
$ make doc-serve # run HTTP server to view docs

6. Run examples

.. code:: console

$ cd examples
$ PYTHONPATH=.. python3 video_file.py
$ PYTHONPATH=.. python3 advanced_usage.py


On a Raspberry Pi
~~~~~~~~~~~~~~~~~

There's also an Ansible playbook in ``devenv`` which will set up a
raspberry pi with ``omxplayer-wrapper`` in develop mode (located at
``/usr/src/omxplayer-wrapper``) which can be used by running
``./devenv/deploy.sh``

This will install via symlinks so that you can continue to work on it
locally but import it from other python packages
34 changes: 23 additions & 11 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,24 +1,36 @@
PYTHON2:=python2
PYTHON3:=python3
PYTHON2 ?= python2
PYTHON3 ?= python3

.PHONY: check
check: test
.PHONY: init
init:
pip install ".[test,docs]" -e .

.PHONY: test
test:
pytest tests/unit --cov-branch --cov=omxplayer

.PHONY: test-all
test-all:
tox

.PHONY: test-integration
test-integration:
pytest tests/integration/test.py

.PHONY: dist
dist: test
$(PYTHON3) setup.py bdist_wheel --universal
dist:
$(PYTHON3) setup.py sdist bdist_wheel --universal

dist-upload: clean-dist dist
dist-upload: clean dist
twine upload dist/*

clean-dist:
rm -rf build
rm -rf dist

.PHONY: doc
doc:
$(MAKE) -C docs html

.PHONY: doc-serve
doc-serve: doc
cd docs/build/html && $(PYTHON3) -m http.server

clean:
rm -rf dist build $(shell find . -iname '*.egg-info')
Loading