diff --git a/.gitignore b/.gitignore index b191713..84e4571 100644 --- a/.gitignore +++ b/.gitignore @@ -146,6 +146,7 @@ var sdist develop-eggs .installed.cfg +tdtool.py # Installer logs pip-log.txt diff --git a/config.ini b/config.ini new file mode 100644 index 0000000..d12633e --- /dev/null +++ b/config.ini @@ -0,0 +1,7 @@ +host = 127.0.0.1 +port = 8080 +dll_path = "" +debug = False +editable = False +client_name = TellProx +client_id = 1 diff --git a/tellprox.py b/tellprox.py deleted file mode 100644 index 9d27b65..0000000 --- a/tellprox.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python - -from bottle import * -from configobj import ConfigObj -from validate import Validator -import tellstick_api -import json - -# Constants -CONFIG_PATH = 'config.ini' -CONFIG_SPEC = 'configspec.ini' - -# TODO wrap using virtualenv / py2exe -app = Bottle() - -config = ConfigObj(CONFIG_PATH, configspec=CONFIG_SPEC) -validator = Validator() -result = config.validate(validator, copy=True) - -if result is False: - print "Config file validation failed" - sys.exit(1) - -# Write out default values -config.write() - -tellstick_api.set_config(config) -app.mount('/json', tellstick_api.app) - -@app.route('/') -def server_static(): - return static_file('index.html', root='.') - -@app.route('/static/') -def server_static(filepath='index.html'): - return static_file(filepath, root='./static') - -debug(config['debug']) -run(app, - host = config['host'], - port = config['port'], - reloader = config['debug']) \ No newline at end of file diff --git a/tellprox/__init__.py b/tellprox/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tellprox/__main__.py b/tellprox/__main__.py new file mode 100644 index 0000000..0f588b2 --- /dev/null +++ b/tellprox/__main__.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python + +import sys +if sys.version_info < (2, 5): + print "Sorry, requires Python 2.5, 2.6 or 2.7." + sys.exit(1) + +import tellstick_api +import json + +from bottle import * +from configobj import ConfigObj +from validate import Validator + +# Constants +CONFIG_PATH = 'config.ini' +CONFIG_SPEC = 'configspec.ini' + +app = Bottle() + +# TODO wrap using virtualenv / py2exe +def main(): + config = ConfigObj(CONFIG_PATH, configspec=CONFIG_SPEC) + validator = Validator() + result = config.validate(validator, copy=True) + + if result is False: + print "Config file validation failed" + sys.exit(1) + + # Write out default values + config.write() + + tellstick_api.set_config(config) + app.mount('/json', tellstick_api.app) + + debug(config['debug']) + run(app, + host = config['host'], + port = config['port'], + reloader = config['debug']) + +@app.route('/') +def server_static(): + return static_file('index.html', root='.') + +@app.route('/example.html') +def server_static(): + return static_file('example.html', root='.') + +@app.route('/static/') +def server_static(filepath='index.html'): + return static_file(filepath, root='./static') + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/index.html b/tellprox/example.html similarity index 100% rename from index.html rename to tellprox/example.html diff --git a/static/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/tellprox/static/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png similarity index 100% rename from static/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png rename to tellprox/static/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png diff --git a/static/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png b/tellprox/static/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png similarity index 100% rename from static/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png rename to tellprox/static/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png diff --git a/static/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png b/tellprox/static/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png similarity index 100% rename from static/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png rename to tellprox/static/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png diff --git a/static/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png b/tellprox/static/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png similarity index 100% rename from static/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png rename to tellprox/static/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png diff --git a/static/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png b/tellprox/static/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png similarity index 100% rename from static/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png rename to tellprox/static/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png diff --git a/static/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png b/tellprox/static/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png similarity index 100% rename from static/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png rename to tellprox/static/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png diff --git a/static/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/tellprox/static/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png similarity index 100% rename from static/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png rename to tellprox/static/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png diff --git a/static/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/tellprox/static/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png similarity index 100% rename from static/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png rename to tellprox/static/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png diff --git a/static/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png b/tellprox/static/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png similarity index 100% rename from static/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png rename to tellprox/static/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png diff --git a/static/css/ui-lightness/images/ui-icons_222222_256x240.png b/tellprox/static/css/ui-lightness/images/ui-icons_222222_256x240.png similarity index 100% rename from static/css/ui-lightness/images/ui-icons_222222_256x240.png rename to tellprox/static/css/ui-lightness/images/ui-icons_222222_256x240.png diff --git a/static/css/ui-lightness/images/ui-icons_228ef1_256x240.png b/tellprox/static/css/ui-lightness/images/ui-icons_228ef1_256x240.png similarity index 100% rename from static/css/ui-lightness/images/ui-icons_228ef1_256x240.png rename to tellprox/static/css/ui-lightness/images/ui-icons_228ef1_256x240.png diff --git a/static/css/ui-lightness/images/ui-icons_ef8c08_256x240.png b/tellprox/static/css/ui-lightness/images/ui-icons_ef8c08_256x240.png similarity index 100% rename from static/css/ui-lightness/images/ui-icons_ef8c08_256x240.png rename to tellprox/static/css/ui-lightness/images/ui-icons_ef8c08_256x240.png diff --git a/static/css/ui-lightness/images/ui-icons_ffd27a_256x240.png b/tellprox/static/css/ui-lightness/images/ui-icons_ffd27a_256x240.png similarity index 100% rename from static/css/ui-lightness/images/ui-icons_ffd27a_256x240.png rename to tellprox/static/css/ui-lightness/images/ui-icons_ffd27a_256x240.png diff --git a/static/css/ui-lightness/images/ui-icons_ffffff_256x240.png b/tellprox/static/css/ui-lightness/images/ui-icons_ffffff_256x240.png similarity index 100% rename from static/css/ui-lightness/images/ui-icons_ffffff_256x240.png rename to tellprox/static/css/ui-lightness/images/ui-icons_ffffff_256x240.png diff --git a/static/css/ui-lightness/jquery-ui-1.8.23.custom.css b/tellprox/static/css/ui-lightness/jquery-ui-1.8.23.custom.css similarity index 100% rename from static/css/ui-lightness/jquery-ui-1.8.23.custom.css rename to tellprox/static/css/ui-lightness/jquery-ui-1.8.23.custom.css diff --git a/static/js/jquery-1.8.0.min.js b/tellprox/static/js/jquery-1.8.0.min.js similarity index 100% rename from static/js/jquery-1.8.0.min.js rename to tellprox/static/js/jquery-1.8.0.min.js diff --git a/static/js/jquery-ui-1.8.23.custom.min.js b/tellprox/static/js/jquery-ui-1.8.23.custom.min.js similarity index 100% rename from static/js/jquery-ui-1.8.23.custom.min.js rename to tellprox/static/js/jquery-ui-1.8.23.custom.min.js diff --git a/tellstick.py b/tellprox/tellstick.py similarity index 98% rename from tellstick.py rename to tellprox/tellstick.py index 606aeec..d51e493 100644 --- a/tellstick.py +++ b/tellprox/tellstick.py @@ -66,7 +66,9 @@ def loadlibrary(self, dllpath): libraryname = "telldus-core" else: libraryname = "TelldusCore" + print "Looking for library: " + libraryname ret = util.find_library(libraryname) + print "Search: " + ret if ret == None: return (None, libraryname) @@ -78,6 +80,7 @@ def loadlibrary(self, dllpath): return None, libraryname else: libtelldus = cdll.LoadLibrary(ret) + print "Loading result: " + str(libtelldus) libtelldus.tdGetName.restype = c_char_p libtelldus.tdLastSentValue.restype = c_char_p diff --git a/tellstick_api.py b/tellprox/tellstick_api.py similarity index 85% rename from tellstick_api.py rename to tellprox/tellstick_api.py index 1488680..db9847f 100644 --- a/tellstick_api.py +++ b/tellprox/tellstick_api.py @@ -9,9 +9,6 @@ config = None INIT_LOCK = Lock() -# TODO wrap using virtualenv / py2exe -# TODO use CherryPy for Web UI - app = Bottle() def set_config(in_config): @@ -26,23 +23,6 @@ def initialise_tellstick(): TELLSTICK = TellStick() TELLSTICK.loadlibrary(config['dll_path']) -@app.route('/test') -def test(): - params = { - 'oauth_version': "1.0", - 'oauth_nonce': oauth.generate_nonce(), - 'oauth_timestamp': int(time.time()), - 'user': 'joestump', - 'photoid': 555555555555 - } - #token = oauth.Token(key="tok-test-key", secret="tok-test-secret") - consumer = oauth.Consumer(key="ZUXEVEGA9USTAZEWRETHAQUBUR69U6EF", secret="4e16fe3ecde3f79c2a47a9a8c754556b") - #params['oauth_token'] = token.key - params['oauth_consumer_key'] = consumer.key - url = "http://api.telldus.com" - req = oauth.Request(method="POST", url=url+'/oauth/requestToken', parameters=params) - return req - def get_int(key): num = request.query.get(key) or '' try: