A small webapp which can be used for web based home cinema automation
Project description
Getting Started
conda create --name cmdserver python=3.6
activate cmdserver
pip install flask-restful
conda install PyYAML
conda install -c conda-forge plumbum
conda install -c conda-forge netifaces
pyinstaller
conda install -c conda-forge pyinstaller
Create a spec file changing the paths as appropriate
# -*- mode: python -*-
block_cipher = None
a = Analysis(['cmdserver\\cmdserver.py'],
pathex=['C:\\Users\\mattk\\github\\cmdserver'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=['pkg_resources'],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
Tree('c:\\Users\\mattk\github\ezmote\\build', prefix='ui'),
a.zipfiles,
a.datas,
name='ezmote_server',
debug=False,
strip=False,
upx=True,
runtime_tmpdir=None,
console=True )
Build the UI
yarn build
Build the exe
pyinstaller --clean --log-level=INFO ezmote.spec
Configuration
Example config
# commands can have defaults added via the defaults item
# if icon is not supplied then it is defaulted to <item name>.ico
# command title must be a zone name if it is played by jriver
commands:
defaults:
exe: 'x:\mc_scripts\ezmote.exe'
volume: 0.40
stopAll: true
close:
args: ['CloseAll']
# icons prefixed with mi are special cased to be a material-ui icon
icon: 'mi/close'
# idx is the order in which the commands will be listed in the ui
idx: 0
title: 'Close'
music:
args: ['jriver', 'Music']
icon: 'mi/library_music'
idx: 1
title: 'Music'
# sets the top appbar to the jriver selector which is based on MCWS browseChildren
control: 'jriver'
# nodeId is the start point to navigate through MCWS browseChildren
nodeId: 1
stopAll: false
video:
args: ['jriver', 'Film']
icon: 'mi/movie'
idx: 2
title: 'Films'
control: 'jriver'
nodeId: 3
stopAll: false
netflix:
args: ['netflix']
idx: 3
title: 'Netflix'
playingNowId: 5000
# if zoneId is provided, the specified zone will be activated when the command is sent
zoneId: 10009
virgin:
args: ['tivo']
idx: 4
title: 'Virgin'
control: 'tivo'
playingNowId: 6000
zoneId: 10009
iplayer:
args: ['iplayer']
idx: 5
title: 'BBC iPlayer'
playingNowId: 1000
zoneId: 10009
amazon:
args: ['amazon']
idx: 6
title: 'Amazon Video'
playingNowId: 4000
zoneId: 10009
all4:
args: ['all4']
idx: 7
title: 'All4'
playingNowId: 3000
zoneId: 10009
itv:
args: ['itv']
idx: 8
title: 'ITV'
playingNowId: 2000
zoneId: 10009
radio:
args: ['jriver', 'Radio']
icon: 'mi/radio'
idx: 9
title: 'Radio'
control: 'jriver'
nodeId: 1000
stopAll: false
playlists:
args: ['jriver', 'Playlist']
icon: 'mi/playlist play'
idx: 10
title: 'Playlists'
control: 'jriver'
nodeId: 4
stopAll: false
iconPath: 'x:\mc_scripts\icons'
playingNowExe: 'x:\mc_scripts\getPlayingNow.exe'
debug: false
debugLogging: true
host: megatron
port: 53199
useTwisted: true
# use for debug
webappPath: 'C:\Users\mattk\github\ezmote\build'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ezmote-cmdserver-0.8.8.tar.gz
(45.8 kB
view details)
Built Distribution
File details
Details for the file ezmote-cmdserver-0.8.8.tar.gz
.
File metadata
- Download URL: ezmote-cmdserver-0.8.8.tar.gz
- Upload date:
- Size: 45.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 221e907d70a5402d37c163c5bf7b20a1f7457d1adba5b4e65a9c086736503b22 |
|
MD5 | 184eb80a5975f5c3db372567006085d5 |
|
BLAKE2b-256 | 3a0c41194fd70e60a40e96f0232dd1b37c2cf990d0b317dfd501ba0358f556a2 |
File details
Details for the file ezmote_cmdserver-0.8.8-py3-none-any.whl
.
File metadata
- Download URL: ezmote_cmdserver-0.8.8-py3-none-any.whl
- Upload date:
- Size: 50.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1307cb3a7e405c05136428b5c1bd9a41111fafc3f93a48b3c957dc196d587276 |
|
MD5 | 4ae54853a346c7f8c222c491db08eb92 |
|
BLAKE2b-256 | ae45086873fa2d6c2aeed267f8153541e657d817ba870e496e5549ad9da5e6e8 |