From c72189069e50363e9fa9feb437f5889df0b7c7ff Mon Sep 17 00:00:00 2001 From: j Date: Mon, 4 Aug 2014 21:41:30 +0200 Subject: [PATCH] Open Media Library.app --- Open Media Library.app/Contents/Info.plist | 26 +++ .../Contents/MacOS/Open Media Library | 10 ++ .../Contents/MacOS/install.py | 150 ++++++++++++++++++ .../Resources/Open Media Library.icns | Bin 0 -> 113372 bytes .../Contents/Resources/static/index.html | 10 ++ .../Contents/Resources/static/install.html | 24 +++ .../Contents/Resources/static/js/install.js | 38 +++++ README | 6 + build.sh | 6 + 9 files changed, 270 insertions(+) create mode 100644 Open Media Library.app/Contents/Info.plist create mode 100755 Open Media Library.app/Contents/MacOS/Open Media Library create mode 100755 Open Media Library.app/Contents/MacOS/install.py create mode 100644 Open Media Library.app/Contents/Resources/Open Media Library.icns create mode 100644 Open Media Library.app/Contents/Resources/static/index.html create mode 100644 Open Media Library.app/Contents/Resources/static/install.html create mode 100644 Open Media Library.app/Contents/Resources/static/js/install.js create mode 100644 README create mode 100755 build.sh diff --git a/Open Media Library.app/Contents/Info.plist b/Open Media Library.app/Contents/Info.plist new file mode 100644 index 0000000..54bb3a1 --- /dev/null +++ b/Open Media Library.app/Contents/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleExecutable + Open Media Library + CFBundleGetInfoString + Open Media Library + CFBundleIconFile + Open Media Library.icns + CFBundleIdentifier + com.openmedialibrary.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Open Media Library + CFBundlePackageType + APPL + CFBundleShortVersionString + 0.0.1 + CFBundleSignature + OML + CFBundleVersion + 0.0.20140804 + + diff --git a/Open Media Library.app/Contents/MacOS/Open Media Library b/Open Media Library.app/Contents/MacOS/Open Media Library new file mode 100755 index 0000000..3aa6868 --- /dev/null +++ b/Open Media Library.app/Contents/MacOS/Open Media Library @@ -0,0 +1,10 @@ +#!/bin/sh +cd "`dirname "$0"`" +BASE="$HOME/Library/Application Support/Open Media Library/" +if [ -e "$BASE" ]; then + launchctl start com.openmedialibrary.loginscript + open "$BASE/openmedialibrary/static/html/load.html" +else + python install.py "$BASE" & + open ../Resources/static/install.html +fi diff --git a/Open Media Library.app/Contents/MacOS/install.py b/Open Media Library.app/Contents/MacOS/install.py new file mode 100755 index 0000000..bee733d --- /dev/null +++ b/Open Media Library.app/Contents/MacOS/install.py @@ -0,0 +1,150 @@ +#!/usr/bin/env python +from __future__ import division, with_statement + +from contextlib import closing +import json +import os +import sys +import tarfile +import urllib2 +import SimpleHTTPServer +import SocketServer +from threading import Thread + +release_url = "http://downloads.openmedialibrary.com/release.json" +PORT = 9842 + + +static_dir = os.path.normpath(os.path.join(os.path.abspath(os.path.dirname(__file__)), '..', 'Resources', 'static')) + +class Handler(SimpleHTTPServer.SimpleHTTPRequestHandler): + def do_OPTIONS(self): + self.send_response(200, 'OK') + self.send_header('Allow', 'GET, POST, OPTIONS') + self.send_header('Access-Control-Allow-Origin', '*') + self.send_header('Access-Control-Allow-Headers', 'X-Requested-With') + self.send_header('Content-Length', '0') + self.end_headers() + + def do_GET(self): + + if self.path == '/status': + content = json.dumps(self.server.install.status) + self.send_response(200, 'OK') + else: + path = os.path.join(static_dir, 'index.html' if self.path == '/' else self.path[1:]) + if os.path.exists(path): + with open(path) as fd: + content = fd.read() + self.send_response(200, 'OK') + else: + self.send_response(404, 'not found') + content = '404 not found' + self.send_header('Access-Control-Allow-Origin', '*') + self.send_header('Content-Length', str(len(content))) + self.end_headers() + self.wfile.write(content) + +def get_release(): + with closing(urllib2.urlopen(release_url)) as u: + data = json.load(u) + return data + + +class Install(Thread): + status = {} + + def __init__(self, target, httpd): + self.target = target + self.httpd = httpd + Thread.__init__(self) + self.daemon = True + self.start() + + def run(self): + target = self.target + target = os.path.normpath(os.path.join(os.path.abspath(target))) + if not os.path.exists(target): + os.makedirs(target) + os.chdir(target) + release = get_release() + self.status["release"] = release + for module in release['modules']: + self.status["installing"] = module + self.status["progress"] = 0 + self.status["size"] = 0 + package_tar = release['modules'][module]['name'] + url = release_url.replace('release.json', package_tar) + self.download(url, package_tar) + tar = tarfile.open(package_tar) + tar.extractall() + tar.close() + os.unlink(package_tar) + os.symlink('openmedialibrary/ctl', 'ctl') + self.status["progress"] = 0 + self.status["installing"] = "setup" + os.system("./ctl setup") + self.status["progress"] = 1 + with open('config/release.json', 'w') as fd: + json.dump(release, fd, indent=2) + if sys.platform == 'darwin': + self.install_launchd() + elif sys.platform == 'linux2': + #fixme, do only if on debian/ubuntu + os.sysrem('sudo apt-get install python-imaging python-setproctitle python-simplejson') + self.status = json.dumps({"done": True}) + self.httpd.shutdown() + + def download(self, url, filename): + dirname = os.path.dirname(filename) + if dirname and not os.path.exists(dirname): + os.makedirs(dirname) + print url, filename + with open(filename, 'w') as f: + with closing(urllib2.urlopen(url)) as u: + size = int(u.headers.get('content-length', 0)) + self.status["size"] = size + available = 0 + data = u.read(4096) + while data: + if size: + available += len(data) + self.status["progress"] = available/size + f.write(data) + data = u.read(4096) + + def install_launchd(self): + plist = os.path.expanduser('~/Library/LaunchAgents/com.openmedialibrary.loginscript.plist') + with open(plist, 'w') as f: + f.write(''' + + + + Label + com.openmedialibrary.loginscript + ProgramArguments + + %s/ctl + start + + RunAtLoad + + +''' % self.target) + os.system('launchctl load "%s"' % plist) + os.system('launchctl start com.openmedialibrary.loginscript') + + +if __name__ == '__main__': + if len(sys.argv) == 1: + target = os.path.join(os.curdir, 'openmedialibrary') + elif len(sys.argv) != 2: + print "usage: %s [target]" % sys.argv[0] + sys.exit(1) + else: + target = sys.argv[1] + SocketServer.TCPServer.allow_reuse_address = True + httpd = SocketServer.TCPServer(("", PORT), Handler) + install = Install(target, httpd) + httpd.install = install + httpd.serve_forever() diff --git a/Open Media Library.app/Contents/Resources/Open Media Library.icns b/Open Media Library.app/Contents/Resources/Open Media Library.icns new file mode 100644 index 0000000000000000000000000000000000000000..b38e05b7b2d3410e87d4b59d174682ac9bc6e922 GIT binary patch literal 113372 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 DaL1ny literal 0 HcmV?d00001 diff --git a/Open Media Library.app/Contents/Resources/static/index.html b/Open Media Library.app/Contents/Resources/static/index.html new file mode 100644 index 0000000..cb02249 --- /dev/null +++ b/Open Media Library.app/Contents/Resources/static/index.html @@ -0,0 +1,10 @@ + + + Open Media Library + + + Installing Open Media Library...
+
+ + + diff --git a/Open Media Library.app/Contents/Resources/static/install.html b/Open Media Library.app/Contents/Resources/static/install.html new file mode 100644 index 0000000..29461f7 --- /dev/null +++ b/Open Media Library.app/Contents/Resources/static/install.html @@ -0,0 +1,24 @@ + + + + + Open Media Library + + + + + diff --git a/Open Media Library.app/Contents/Resources/static/js/install.js b/Open Media Library.app/Contents/Resources/static/js/install.js new file mode 100644 index 0000000..9e586c3 --- /dev/null +++ b/Open Media Library.app/Contents/Resources/static/js/install.js @@ -0,0 +1,38 @@ +function load() { + var base = 'http://[::1]:9842', + img = new Image(); + img.onload = function(event) { + document.location.href = base; + }; + img.src = base + '/static/oxjs/build/Ox.UI/png/transparent.png?' + new Date; +}; + +function update() { + var xhr = new XMLHttpRequest(); + xhr.onload = function() { + var response = JSON.parse(this.responseText); + if (response.installing) { + var status = response.installing; + if (response.progress) { + status = parseInt(response.progress * 100) + '% ' + status; + } + document.getElementById('status').innerHTML = status; + setTimeout(update, 1000); + } else { + document.getElementById('status').innerHTML = "done"; + load(); + } + }; + xhr.onerror = function() { + var status = document.getElementById('status').innerHTML; + if (['done', 'setup'].indexOf(status) == -1) { + document.getElementById('status').innerHTML = "error"; + } + load(); + } + xhr.open('get', '/status'); + xhr.send(); + +} + +update(); diff --git a/README b/README new file mode 100644 index 0000000..7a3820c --- /dev/null +++ b/README @@ -0,0 +1,6 @@ +Open Media Library OS X Launcher and Installer + +place "Open Media Library.app" into /Applications + +On first launch it will install Open Media Library for each user. +Later you can use it to start or open Open Media Library. diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..5701907 --- /dev/null +++ b/build.sh @@ -0,0 +1,6 @@ +#!/bin/sh +tmpdir=`mktemp -d -t oml` +cp -r "Open Media Library.app" $tmpdir/ +hdiutil create -srcfolder "$tmpdir" -volname "Open Media Library" -format UDZO "Open Media Library.tmp.dmg" +hdiutil convert -format UDZO -imagekey zlib-level=9 -o "Open Media Library.dmg" "Open Media Library.tmp.dmg" +rm -rf $tmpdir "Open Media Library.tmp.dmg"