diff --git a/bin/ascoltami2 b/bin/ascoltami2 --- a/bin/ascoltami2 +++ b/bin/ascoltami2 @@ -3,9 +3,6 @@ from run_local import log from twisted.internet import reactor import web, _thread, sys, optparse, logging from rdflib import URIRef -sys.path.append(".") -sys.path.append('/usr/lib/python2.7/dist-packages') # For gi - import gi gi.require_version('Gst', '1.0') gi.require_version('Gtk', '3.0') diff --git a/bin/captureDevice b/bin/captureDevice --- a/bin/captureDevice +++ b/bin/captureDevice @@ -13,7 +13,7 @@ import cyclone.web, cyclone.websocket, c from greplin import scales from run_local import log -from lib.cycloneerr import PrettyErrorHandler +from cycloneerr import PrettyErrorHandler from light9.namespaces import L9, RDF from light9 import networking, showconfig diff --git a/bin/collector b/bin/collector --- a/bin/collector +++ b/bin/collector @@ -20,7 +20,7 @@ import traceback import cyclone.web, cyclone.websocket from greplin import scales -from lib.cycloneerr import PrettyErrorHandler +from cycloneerr import PrettyErrorHandler from light9.collector.output import EnttecDmx, Udmx, DummyOutput from light9.collector.collector import Collector from light9.namespaces import L9 diff --git a/bin/effecteval b/bin/effecteval --- a/bin/effecteval +++ b/bin/effecteval @@ -19,7 +19,7 @@ from rdfdb.patch import Patch from rdfdb.syncedgraph import SyncedGraph from greplin import scales -from lib.cycloneerr import PrettyErrorHandler +from cycloneerr import PrettyErrorHandler class EffectEdit(PrettyErrorHandler, cyclone.web.RequestHandler): diff --git a/bin/paintserver b/bin/paintserver --- a/bin/paintserver +++ b/bin/paintserver @@ -12,7 +12,7 @@ import cyclone.web from rdflib import URIRef from light9 import clientsession import light9.paint.solve -from lib.cycloneerr import PrettyErrorHandler +from cycloneerr import PrettyErrorHandler from light9.namespaces import RDF, L9, DEV import imp diff --git a/bin/run_local.py b/bin/run_local.py --- a/bin/run_local.py +++ b/bin/run_local.py @@ -8,49 +8,21 @@ import sys, os, socket def fixSysPath(): root = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '..')) + '/' - - # this is site-packages/zope.interface-4.5.0-py2.7-nspkg.pth, - # slightly edited. - import types - has_mfs = sys.version_info > (3, 5) - p = root + 'env/local/lib/python2.7/site-packages/zope' - importlib = has_mfs and __import__('importlib.util') - has_mfs and __import__('importlib.machinery') - m = has_mfs and sys.modules.setdefault( - 'zope', - importlib.util.module_from_spec( - importlib.machinery.PathFinder.find_spec('zope', - [os.path.dirname(p)]))) - m = m or sys.modules.setdefault('zope', types.ModuleType('zope')) - mp = (m or []) and m.__dict__.setdefault('__path__', []) - (p not in mp) and mp.append(p) - - p = root + 'env/local/lib/python2.7/site-packages/greplin' - importlib = has_mfs and __import__('importlib.util') - has_mfs and __import__('importlib.machinery') - m = has_mfs and sys.modules.setdefault( - 'greplin', - importlib.util.module_from_spec( - importlib.machinery.PathFinder.find_spec('greplin', - [os.path.dirname(p)]))) - m = m or sys.modules.setdefault('greplin', types.ModuleType('greplin')) - mp = (m or []) and m.__dict__.setdefault('__path__', []) - (p not in mp) and mp.append(p) - sys.path = [ root, - root + 'env/lib/python2.7', - root + 'env/lib/python2.7/plat-x86_64-linux-gnu', - root + 'env/lib/python2.7/lib-tk', - root + 'env/lib/python2.7/lib-old', - root + 'env/lib/python2.7/lib-dynload', - '/usr/lib/python2.7', - '/usr/lib/python2.7/plat-x86_64-linux-gnu', - '/usr/lib/python2.7/lib-tk', - root + 'env/local/lib/python2.7/site-packages', - root + 'env/local/lib/python2.7/site-packages/gtk-2.0', - root + 'env/lib/python2.7/site-packages', - root + 'env/lib/python2.7/site-packages/gtk-2.0', + root + 'env/lib/python3.7', + root + 'env/lib/python3.7/plat-x86_64-linux-gnu', + root + 'env/lib/python3.7/lib-tk', + root + 'env/lib/python3.7/lib-old', + root + 'env/lib/python3.7/lib-dynload', + '/usr/lib/python3/dist-packages/', + '/usr/lib/python3.7', +# '/usr/lib/python3.7/plat-x86_64-linux-gnu', +# '/usr/lib/python3.7/lib-tk', +# root + 'env/local/lib/python3.7/site-packages', +# root + 'env/local/lib/python3.7/site-packages/gtk-2.0', + root + 'env/lib/python3.7/site-packages', +# root + 'env/lib/python3.7/site-packages/gtk-2.0', ] diff --git a/bin/subserver b/bin/subserver --- a/bin/subserver +++ b/bin/subserver @@ -15,7 +15,7 @@ from rdfdb.patch import Patch from light9.namespaces import L9, DCTERMS from light9 import networking, showconfig -from lib.cycloneerr import PrettyErrorHandler +from cycloneerr import PrettyErrorHandler class Static(PrettyErrorHandler, cyclone.web.StaticFileHandler): diff --git a/bin/vidrefsetup b/bin/vidrefsetup --- a/bin/vidrefsetup +++ b/bin/vidrefsetup @@ -14,7 +14,7 @@ from rdfdb.patch import Patch from light9.namespaces import L9, DCTERMS from light9 import networking, showconfig -from lib.cycloneerr import PrettyErrorHandler +from cycloneerr import PrettyErrorHandler class RedirToCamera(PrettyErrorHandler, cyclone.web.RequestHandler): diff --git a/lib/cycloneerr.py b/lib/cycloneerr.py deleted file mode 100644 --- a/lib/cycloneerr.py +++ /dev/null @@ -1,17 +0,0 @@ -import httplib, cgi - -class PrettyErrorHandler(object): - """ - mix-in to improve cyclone.web.RequestHandler - """ - def get_error_html(self, status_code, **kwargs): - try: - tb = kwargs['exception'].getTraceback() - except AttributeError: - tb = "" - return "%(code)d: %(message)s" \ - "%(code)d: %(message)s
%(tb)s
" % { - "code": status_code, - "message": httplib.responses[status_code], - "tb" : cgi.escape(tb), - } diff --git a/light9/ascoltami/player.py b/light9/ascoltami/player.py --- a/light9/ascoltami/player.py +++ b/light9/ascoltami/player.py @@ -131,7 +131,7 @@ class Player(object): log.info("preloading %s", songPath) assert songPath.startswith("file://"), songPath try: - open(songPath[len("file://"):]).read() + open(songPath[len("file://"):], 'rb').read() except IOError as e: log.error("couldn't preload %s, %r", songPath, e) raise diff --git a/light9/ascoltami/webapp.py b/light9/ascoltami/webapp.py --- a/light9/ascoltami/webapp.py +++ b/light9/ascoltami/webapp.py @@ -7,7 +7,7 @@ from rdflib import URIRef from web.contrib.template import render_genshi render = render_genshi([sibpath(__file__, ".")], auto_reload=True) -from lib.cycloneerr import PrettyErrorHandler +from cycloneerr import PrettyErrorHandler _songUris = {} # locationUri : song @@ -109,7 +109,7 @@ class songResource(PrettyErrorHandler, c graph = self.settings.app.graph self.settings.app.player.setSong( - songLocation(graph, URIRef(self.request.body))) + songLocation(graph, URIRef(self.request.body.decode('utf8')))) self.set_header("Content-Type", "text/plain") self.write("ok") diff --git a/light9/curvecalc/curveedit.py b/light9/curvecalc/curveedit.py --- a/light9/curvecalc/curveedit.py +++ b/light9/curvecalc/curveedit.py @@ -5,7 +5,7 @@ import cgi, time from twisted.internet import reactor import cyclone.web, cyclone.httpclient, cyclone.websocket from rdflib import URIRef -from lib.cycloneerr import PrettyErrorHandler +from cycloneerr import PrettyErrorHandler from run_local import log from louie import dispatcher diff --git a/light9/showconfig.py b/light9/showconfig.py --- a/light9/showconfig.py +++ b/light9/showconfig.py @@ -33,7 +33,7 @@ def showUri(): """Return the show URI associated with $LIGHT9_SHOW.""" global _showUri if _showUri is None: - _showUri = URIRef(file(path.join(root(), 'URI')).read().strip()) + _showUri = URIRef(open(path.join(root(), 'URI')).read().strip()) return _showUri def songOnDisk(song): diff --git a/light9/subcomposer/subcomposerweb.py b/light9/subcomposer/subcomposerweb.py --- a/light9/subcomposer/subcomposerweb.py +++ b/light9/subcomposer/subcomposerweb.py @@ -1,6 +1,6 @@ import logging import cyclone.web, cyclone.websocket, cyclone.httpclient -from lib.cycloneerr import PrettyErrorHandler +from cycloneerr import PrettyErrorHandler from light9 import networking from rdflib import URIRef, Literal from twisted.internet import reactor diff --git a/requirements.txt b/requirements.txt --- a/requirements.txt +++ b/requirements.txt @@ -35,6 +35,7 @@ git+http://github.com/11craft/louie.git@ git+http://github.com/webpy/webpy@ace0f8954c28311004b33c7a513c6e40a3c02470#egg=web https://github.com/drewp/cyclone/archive/python3.zip#egg=cyclone -rdfdb==0.8.0 +cycloneerr==0.3.0 +rdfdb==0.11.0