Skip to main content

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


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)

Uploaded Source

Built Distribution

ezmote_cmdserver-0.8.8-py3-none-any.whl (50.6 kB view details)

Uploaded Python 3

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

Hashes for ezmote-cmdserver-0.8.8.tar.gz
Algorithm Hash digest
SHA256 221e907d70a5402d37c163c5bf7b20a1f7457d1adba5b4e65a9c086736503b22
MD5 184eb80a5975f5c3db372567006085d5
BLAKE2b-256 3a0c41194fd70e60a40e96f0232dd1b37c2cf990d0b317dfd501ba0358f556a2

See more details on using hashes here.

File details

Details for the file ezmote_cmdserver-0.8.8-py3-none-any.whl.

File metadata

File hashes

Hashes for ezmote_cmdserver-0.8.8-py3-none-any.whl
Algorithm Hash digest
SHA256 1307cb3a7e405c05136428b5c1bd9a41111fafc3f93a48b3c957dc196d587276
MD5 4ae54853a346c7f8c222c491db08eb92
BLAKE2b-256 ae45086873fa2d6c2aeed267f8153541e657d817ba870e496e5549ad9da5e6e8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page