Changeset - 3b1a435a29b8
[Not reviewed]
default
0 2 1
Drew Perttula - 12 years ago 2013-06-08 08:22:39
drewp@bigasterisk.com
start fixing curvecalc data model; not done yet
Ignore-this: 9960bef2556cd57da749e921bcf3248
3 files changed with 28 insertions and 5 deletions:
0 comments (0 inline, 0 general)
bin/curvecalc
Show inline comments
 
@@ -35,6 +35,7 @@ from light9.curvecalc.subtermview import
 
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
 

	
 
@@ -157,13 +158,26 @@ class Main(object):
 
            self.makeSubterm(newname, withCurve=wc)
 
        dialog.hide()
 

	
 
    def currentSong(self):
 
        with self.graph.currentState() as current:
 
            return current.value(self.session, L9['currentSong'])
 

	
 
    def songSubtermsContext(self):
 
        return self.currentSong()
 

	
 
    def makeSubterm(self, newname, withCurve=False, expr=None):
 
        uri = L9['sub/%s' % newname]
 
        if (uri, RDF.type, L9.Subterm) in self.graph:
 
        with self.graph.currentState() as current:
 
            if (uri, RDF.type, L9.Subterm) in current:
 
            raise SubtermExists("already have a subterm named %r" % newname)
 
        self.graph.add((uri, RDF.type, L9.Subterm))
 
        self.graph.add((uri, RDFS.label, Literal(newname)))
 
        self.graph.add((self.song, L9['subterm'], uri))
 

	
 
        ctx = self.songSubtermsContext()
 
        self.graph.patch(Patch(addQuads=[
 
            (uri, RDF.type, L9.Subterm, ctx),
 
            (uri, RDFS.label, Literal(newname), ctx),
 
            (self.currentSong(), L9['subterm'], uri, ctx),
 
            ]))
 
            
 
        if withCurve:
 
            self.curveset.new_curve(newname)
 

	
doc/subterms
Show inline comments
 
new file 100644
 

	
 

	
 
song
 
  -- :subterm -->
 
    st
 
       -- rdfs:label --> "chase 1"
 
       -- :sub --> sub
 
       -- :expression --> "curve1(t)"
 
\ No newline at end of file
light9/curvecalc/subtermview.py
Show inline comments
 
import gtk, logging
 
from louie import dispatcher
 
from rdflib import RDF, RDFS, Literal
 
from rdflib import URIRef
 
from light9 import Submaster
 
from light9.namespaces import L9
 
from light9.curvecalc.subterm import Subterm, Subexpr
 
@@ -58,6 +58,7 @@ class Subtermview(object):
 
        self.exprView = sev.box
 

	
 
def add_one_subterm(graph, subUri, curveset, subterms, master, expr=None, show=False):
 
    assert isinstance(subUri, URIRef), subUri
 
    subname = graph.label(subUri)
 
    log.info("%s's label is %s" % (subUri, subname))
 
    if not subname: # fake sub, like for a chase
0 comments (0 inline, 0 general)