Changeset - b50e4d43dd3e
[Not reviewed]
default
0 2 0
drewp@bigasterisk.com - 15 years ago 2010-06-20 21:09:45
drewp@bigasterisk.com
curvecalc would make multiple subterms with the same empty name, and this would lose expressions
Ignore-this: 73e9d0274e6af88d39dc70e91c1e7699
2 files changed with 10 insertions and 4 deletions:
0 comments (0 inline, 0 general)
bin/curvecalc
Show inline comments
 
@@ -240,14 +240,13 @@ class Subterm:
 
        return "<Subterm %s %s>" % (self.submaster, self.subexpr)
 

	
 
class Subtermview(tk.Frame):
 
    def __init__(self, master, graph, st, **kw):
 
        self.subterm = st
 
        tk.Frame.__init__(self,master,bd=1,relief='raised',**kw)
 
        l = tk.Label(self,
 
                     text="sub %s" % graph.label(self.subterm.submaster.uri))
 
        l = tk.Label(self, text="sub %s" % self.subterm.submaster.name)
 
        l.pack(side='left')
 
        sev=Subexprview(self,self.subterm.subexpr)
 
        sev.pack(side='left',fill='both',exp=1)
 

	
 
class Output:
 
    lastsendtime=0
 
@@ -323,16 +322,22 @@ def makeStatusLines(master):
 
        dispatcher.connect(lambda val,l=l,sn=signame,tf=textfilter:
 
                           l.config(text=sn+": "+tf(val)),
 
                           signame, weak=False)
 

	
 
def add_one_subterm(graph, subUri, curveset, subterms, master, expr=None):
 
    subname = graph.label(subUri)
 
    print "%s's label is %s" % (subUri, subname)
 
    if not subname: # fake sub, like for a chase
 
        st = graph.subjects(L9['sub'], subUri).next()
 
        subname = graph.label(st)
 
        print "using parent subterm's name instead. parent %r, name %r" % (st, subname)
 
    assert subname, "%s has no name" % subUri
 
    if expr is None:
 
        expr = '%s(t)' % subname
 

	
 
    term = Subterm(Submaster.Submaster(graph=graph, sub=subUri),
 
    term = Subterm(Submaster.Submaster(graph=graph, name=subname, sub=subUri),
 
                   Subexpr(curveset,expr))
 
    subterms.append(term)
 

	
 
    stv=Subtermview(master, graph, term)
 
    stv.pack(side='top',fill='x')
 

	
 
@@ -381,12 +386,13 @@ def savesubterms(filename,subterms):
 
    file(filename,'w').write(s)
 

	
 
def createSubtermGraph(song, subterms):
 
    """rdf graph describing the subterms, readable by add_subterms_for_song"""
 
    graph = Graph()
 
    for subterm in subterms:
 
        assert subterm.submaster.name, "submaster has no name"
 
        uri = URIRef(song + "/subterm/" + subterm.submaster.name)
 
        graph.add((song, L9['subterm'], uri))
 
        graph.add((uri, RDF.type, L9['Subterm']))
 
        graph.add((uri, RDFS.label, Literal(subterm.submaster.name)))
 
        graph.add((uri, L9['sub'], L9['sub/%s' % subterm.submaster.name]))
 
        graph.add((uri, L9['expression'], Literal(subterm.subexpr.expr)))
light9/Submaster.py
Show inline comments
 
@@ -37,13 +37,13 @@ class Submaster:
 
          sub - n
 
          name, sub - new 
 
        
 
        """
 
        if name is sub is leveldict is None:
 
            raise TypeError("more args are needed")
 
        if sub is not None:
 
        if sub is not None and name is None:
 
            name = graph.label(sub)
 
        if graph is not None:
 
            # old code was passing leveldict as second positional arg
 
            assert isinstance(graph, Graph)
 
        self.name = name
 
        self.uri = sub
0 comments (0 inline, 0 general)