Changeset - 0dacbba70d06
[Not reviewed]
Drew Perttula - 12 years ago 2013-06-10 00:09:17
drewp@bigasterisk.com
remove some broken profiler attempts
Ignore-this: 3d50124a16807ee922e85911d510ce58
1 file changed with 5 insertions and 4 deletions:
0 comments (0 inline, 0 general)
bin/curvecalc
Show inline comments
 
#!bin/python
 

	
 
"""
 
now launches like this:
 
% bin/curvecalc http://light9.bigasterisk.com/show/dance2007/song1
 

	
 

	
 

	
 
todo: curveview should preserve more objects, for speed maybe
 

	
 
"""
 
from __future__ import division
 

	
 
from twisted.internet import gtk2reactor
 
gtk2reactor.install()
 
from twisted.internet import reactor
 

	
 
import time, textwrap, os, optparse, gtk, linecache, signal, traceback, json
 
from urlparse import parse_qsl
 
import louie as dispatcher 
 
from rdflib import URIRef, Literal, RDF, RDFS
 
import logging
 

	
 
from run_local import log
 
from light9 import showconfig, prof, networking
 
from light9 import showconfig, networking
 
from light9.rdfdb import clientsession
 
from light9.curvecalc.curve import Curveset
 
from light9.curvecalc import curveview 
 
from light9.curvecalc.musicaccess import Music
 
from light9.wavelength import wavelength
 
from light9.namespaces import L9
 
from light9.curvecalc.subterm import Subterm
 
from light9.curvecalc.subtermview import add_one_subterm
 
from light9.curvecalc.output import Output
 
from light9.gtkpyconsole import togglePyConsole
 
from light9.rdfdb.syncedgraph import SyncedGraph
 
from light9.rdfdb.patch import Patch
 
from light9.editchoicegtk import EditChoice
 
from light9.observable import Observable
 

	
 
class SubtermExists(ValueError):
 
    pass
 

	
 
class Main(object):
 
    def __init__(self, graph, opts, session, curveset, music):
 
        self.graph, self.opts, self.session = graph, opts, session
 
        self.curveset, self.music = curveset, music
 
        self.lastSeenInputTime = 0
 

	
 
@@ -218,48 +218,49 @@ class Main(object):
 
        song = self.graph.value(self.session, L9['currentSong'])
 
        
 
        for st in set(self.graph.objects(song, L9['subterm'])):
 
            log.info("song %s has subterm %s", song, st)
 
            term = Subterm(self.graph, st, self.songSubtermsContext(), self.curveset)
 
            add_one_subterm(term, self.curveset, master)
 

	
 
        master.show_all()
 
        log.info("%s table children showing" % len(master.get_children()))
 
        
 
    def refreshTheme(self):
 
        gtk.rc_reparse_all()
 
        reactor.callLater(1, self.refreshTheme)
 

	
 
    def onSubtermChildAdded(self, subtermsTable, *args):
 
        # this would probably work, but isn't getting called
 
        log.info("onSubtermChildAdded")
 
        v = subtermsTable.get_parent().props.vadjustment
 
        v.props.value = v.props.upper
 

	
 
    def onQuit(self, *args):
 
        reactor.crash()
 
        # there's a hang after this, maybe in sem_wait in two
 
        # threads. I don't know whose they are.
 
        # This fix affects profilers who want to write output at the end.
 
        os.kill(os.getpid(), signal.SIGKILL)
 

	
 
    def onCollapseAll(self, *args):
 
        self.curvesetView.collapseAll()
 

	
 
    def onCollapseNone(self, *args):
 
        self.curvesetView.collapseNone()
 

	
 
    def onDelete(self, *args):
 
        self.curvesetView.onDelete()
 

	
 
    def onPythonConsole(self, item):
 
        ns = dict()
 
        ns.update(globals())
 
        ns.update(self.__dict__)
 
        togglePyConsole(self, item, ns)
 
        
 
    def onSeeCurrentTime(self, item):
 
        dispatcher.send("see time")
 

	
 
    def onSeeTimeUntilEnd(self, item):
 
        dispatcher.send("see time until end")
 

	
 
    def onZoomAll(self, item):
 
@@ -434,29 +435,29 @@ def main():
 
                      help='use hardware sliders')
 
    parser.add_option("--skip-music", action='store_true',
 
                      help="ignore music and smooth_music curve files")
 
    parser.add_option("--debug", action="store_true",
 
                      help="log at DEBUG")
 
    parser.add_option("--reload", action="store_true",
 
                      help="live reload of themes and code")
 
    parser.add_option("--startup-only", action='store_true',
 
                      help="quit after loading everything (for timing tests)")
 
    clientsession.add_option(parser)
 
    opts, args = parser.parse_args()
 

	
 
    log.setLevel(logging.DEBUG if opts.debug else logging.INFO)
 

	
 
    log.debug("startup: music %s", time.time() - startTime)
 

	
 

	
 
    session = clientsession.getUri('curvecalc', opts)
 

	
 
    music = Music()
 
    graph = SyncedGraph("curvecalc")
 

	
 
    graph.initiallySynced.addCallback(
 
        lambda _: launch(args, graph, session, opts, startTime, music))
 
    
 
    prof.run(reactor.run, profile=False)
 

	
 
    reactor.run()
 

	
 
prof.run(main, profile=False)
 
main()
 

	
0 comments (0 inline, 0 general)