[Checkins] SVN: Sandbox/ocql-foliage/trunk/src/te those got moved

Adam Groszer agroszer at gmail.com
Thu May 29 05:35:01 EDT 2008


Log message for revision 87008:
  those got moved

Changed:
  D   Sandbox/ocql-foliage/trunk/src/temp.py
  D   Sandbox/ocql-foliage/trunk/src/test.py
  D   Sandbox/ocql-foliage/trunk/src/test2.py
  D   Sandbox/ocql-foliage/trunk/src/test_parser.py
  D   Sandbox/ocql-foliage/trunk/src/testalgebra.py
  D   Sandbox/ocql-foliage/trunk/src/testdb.py

-=-
Deleted: Sandbox/ocql-foliage/trunk/src/temp.py
===================================================================
--- Sandbox/ocql-foliage/trunk/src/temp.py	2008-05-29 04:14:05 UTC (rev 87007)
+++ Sandbox/ocql-foliage/trunk/src/temp.py	2008-05-29 09:34:59 UTC (rev 87008)
@@ -1,90 +0,0 @@
-# -*- coding: UTF-8 -*-
-
-from testdb import TestMetadata
-import operator
-
-metadata = TestMetadata(None)
-
-#reduce(set.union,
-#    map(lambda c: reduce(set.union,
-#        map(lambda d: (
-#            (d.name=="Computing Science") and
-#            (((d==set(filter(lambda i: i.runBy,c))) and
-#                (((c.credits<=3) and (((1<=c.credits) and
-#                    (set([c])) or (set()))) or (set()))) or
-#                (set()))) or (set())),
-#            set(metadata.getAll("IDepartments"))) ,
-#        set()),set(metadata.getAll("ICurses"))) ,
-#    set())
-
-
-#map(lambda c: reduce(set.union,
-#    map(lambda d: ((d.name=="Computing Science")),
-#        set(metadata.getAll("IDepartments"))), set()),set(metadata.getAll("ICurses")))
-
-#x = reduce(set.union,
-#    map(lambda c: reduce(set.union,
-#        map(lambda d: (
-#            (d.name=="Computing Science")
-#            and (d==set(filter(lambda i: i.runBy,c)))
-#            and (set([c]))
-#            or (set())) ,
-#            set(metadata.getAll("IDepartments"))) ,
-#        set()),set(metadata.getAll("ICurses"))) ,
-#    set())
-
-#x = reduce(set.union,
-#    map(lambda c: reduce(set.union,
-#        map(lambda d: (
-#            (d.name=="Computing Science")
-#            and (set([c]))
-#            or (set())) ,
-#            set(metadata.getAll("IDepartments"))) ,
-#        set()),set(metadata.getAll("ICurses"))) ,
-#    set())
-
-#x=reduce(set.union,
-#    map(lambda c: reduce(set.union,
-#        map(lambda d: (
-#            (d.name=="Computing Science") and
-#            (((d==set(filter(lambda i: i.runBy,[c]))) and
-#                (
-#                    (
-#                        (c.credits<=3)
-#                        and (
-#                                (
-#                                    (1<=c.credits)
-#                                    and
-#                                    (set([c]))
-#                                    or (set())
-#                                )
-#                            ) or (set())
-#                    )
-#                ) or
-#                (set()))) or (set())),
-#            set(metadata.getAll("IDepartments"))) ,
-#        set()),set(metadata.getAll("ICurses"))) ,
-#    set())
-#
-#
-#x = reduce(set.union,
-#    map(lambda c: reduce(set.union,
-#        map(lambda d: (
-#            (d.name=="Computing Science") and
-#            ((((reduce(operator.or_, map(lambda i: i==d, c.runBy), False))) and
-#                ((((
-#                    (set([c])) or (set()))) or (set()))) or
-#                (set()))) or (set())),
-#            set(metadata.getAll("IDepartments"))) ,
-#        set()),set(metadata.getAll("ICurses"))) ,
-#    set())
-
-x = reduce(set.union, map(lambda c: reduce(set.union, map(lambda d:
-    ((d.name=="Computing Science") and (((reduce(operator.or_,map(lambda i:
-        i==d,c.runBy),False)) and (((c.credits<=3) and (((1<=c.credits) and
-            (set([c])) or (set()))) or (set()))) or (set()))) or
-        (set())),set(metadata.getAll("IDepartments"))) ,
-    set()),set(metadata.getAll("ICurses"))) , set())
-
-for i in x:
-    print i.name

Deleted: Sandbox/ocql-foliage/trunk/src/test.py
===================================================================
--- Sandbox/ocql-foliage/trunk/src/test.py	2008-05-29 04:14:05 UTC (rev 87007)
+++ Sandbox/ocql-foliage/trunk/src/test.py	2008-05-29 09:34:59 UTC (rev 87008)
@@ -1,30 +0,0 @@
-from ocql import OCQLEngine
-engine = OCQLEngine()
-
-query = engine.compile("""set [ c in ICurses; d in IDepartments; d.name="Computing Science"; d = some c.runBy; 1<=c.credits; c.credits <= 3 | c ]""") 
-res = query.execute()
-
-for i in res:
-    print i.code
-
-#q=Iter(set, Lambda('d', 
-#        If(Eq(Identifier('d.name'),Identifier('"Computing Science"')),
-#            Single(set,Identifier('x')),
-#            Empty(set,None)
-#        )
-#    ), Collection('IDepartments'))
-#
-#q=Iter(set,
-#    If('d.name="Computing Science"',
-#        Select(set, Lambda('c',
-#            And(Reduce(set, 'False', Lambda('d','d=i'), Or, 'c.runBy'),
-#                '1<=c.credits',
-#                'c.credits<=3')),
-#            ICurses),
-#        Empty(set,None)), 
-#    Collection('IDepartments'))
-#
-#m = q.compile()
-#print m
-#c = compile(m,'','eval')
-#print eval(c)

Deleted: Sandbox/ocql-foliage/trunk/src/test2.py
===================================================================
--- Sandbox/ocql-foliage/trunk/src/test2.py	2008-05-29 04:14:05 UTC (rev 87007)
+++ Sandbox/ocql-foliage/trunk/src/test2.py	2008-05-29 09:34:59 UTC (rev 87008)
@@ -1,455 +0,0 @@
-import testdb
-from ocql.engine.queryobject import *
-from ocql.engine.queryparser import SymbolContainer
-import operator
-import testalgebra
-from ocql.ocqlengine import OCQLEngine
-from ocql.engine.runnablequery import RunnableQuery
-
-engine = OCQLEngine()
-
-def doone(query, qo, expected):
-    print "==============="
-    print "query:",query
-    
-    algebra=qo.rewrite(testalgebra)
-    
-    print "algebra:",algebra
-
-    code=algebra.compile();
-    compile(code,'<string>','eval')
-    q = RunnableQuery(engine,algebra,code)
-    
-    print "code:",code
-    print "---------------"
-    print "got:     ", q.execute()
-    print "expected:", expected
-
-
-def test2():
-    metadata = engine.metadata
-    metadata.symbols = SymbolContainer()
-    
-    #
-    # Simple empty query
-    #
-    # set [ ]
-    #
-    query = "set [ ]"
-    qo=Query(metadata,
-             set,
-             [] ,
-             Identifier(metadata,
-                        '') )
-    
-    doone(query, qo, set([]))
-        
-    
-    metadata.symbols = SymbolContainer()
-    #
-    # Simple SELECT ALL
-    #
-    # set [ c in ICurses | c ]
-    #
-    query = "[ c in ICurses | c ]"
-    qo=Query(
-        metadata,
-        set,
-        [
-            In(
-                metadata,
-                Identifier(metadata,'c'),
-                Identifier(metadata,'ICurses')),
-        ] ,Identifier(metadata,'c') )
-    
-    doone(query, qo, set([ "C1" , "C2", "C3" ]))
-    
-    
-    metadata.symbols = SymbolContainer()
-    #
-    # Selecting a property
-    #
-    # set [ c in ICurses | c.code ]
-    #
-    query = "[ c in ICurses | c.code ]"
-    qo=Query(
-        metadata,
-        set,
-        [
-            In(
-                metadata,
-                Identifier(metadata,'c'),
-                Identifier(metadata,'ICurses')),
-        ] ,Identifier(metadata,'c.code') )
-    
-    doone(query, qo, set([ "C1" , "C2", "C3"  ]))
-    
-    
-    metadata.symbols = SymbolContainer()
-    #
-    # Filtering -- empty result
-    #
-    # set [ c in ICurses , c.credits>3 | c.code ]
-    #
-    query = "[ c in ICurses, c.credits>3 | c.code ]"
-    qo=Query(
-        metadata,
-        set,
-        [
-            In(
-                metadata,
-                Identifier(metadata,'c'),
-                Identifier(metadata,'ICurses')),
-            Gt(
-                metadata,
-                Identifier(metadata,'c.credits'),
-                Constant(metadata,'3')),
-        ] ,Identifier(metadata, 'c.code') )
-    
-    doone(query, qo, set([]))
-    
-    
-    metadata.symbols = SymbolContainer()
-    #
-    # Filtering -- full result
-    #
-    # set [ c in ICurses , c.credits<=3 | c.code ]
-    #
-    query = "[ c in ICurses, c.credits<=3 | c.code ]"
-    qo=Query(
-        metadata,
-        set, [
-            In(
-                metadata,
-                Identifier(metadata,'c'),
-                Identifier(metadata,'ICurses')),
-            Le(metadata,
-                Identifier(metadata,'c.credits'),
-                Constant(metadata,'3')),
-        ] ,Identifier(metadata,'c.code'))
-    
-    doone(query, qo, set([ "C1" , "C2", "C3" ]))
-    
-    
-    metadata.symbols = SymbolContainer()
-    #
-    # Filtering -- one result
-    #
-    # set [ c in ICurses , c.credits=3 | c.code ]
-    #
-    query = "[ c in ICurses, c.credits=3 | c.code ]"
-    qo=Query(
-        metadata,
-        set,
-        [
-            In(
-                metadata,
-                Identifier(metadata,'c'),
-                Identifier(metadata,'ICurses')),
-            Eq(
-                metadata,
-                Identifier(metadata,'c.credits'),
-                Constant(metadata,'3')),
-        ] ,Identifier(metadata,'c.code'))
-    
-    doone(query, qo, set([ "C2", "C3" ]))
-    
-    
-    metadata.symbols = SymbolContainer()
-    #
-    # Two filters -- full results
-    #
-    # set [ c in ICurses , c.credits<5, c.credits >=1  | c.code ]
-    #
-    query = "[ c in ICurses, c.credits<3, c.credits>=1 | c.code ]"
-    qo=Query(
-        metadata,
-        set,
-        [
-            In(
-                metadata,
-                Identifier(metadata,'c'),
-                Identifier(metadata,'ICurses')),
-            Lt(
-                metadata,
-                Identifier(metadata,'c.credits'),
-                Constant(metadata,'5')),
-            Ge(
-                metadata,
-                Identifier(metadata,'c.credits'),
-                Constant(metadata,'1')),
-        ] ,Identifier(metadata, 'c.code'))
-    
-    doone(query, qo, set([ "C1", "C2", "C3" ]))
-    
-    
-    metadata.symbols = SymbolContainer()
-    #
-    # Two filters -- one result
-    #
-    # set [ c in ICurses , c.credits<=2, 2<=c.credits  | c.code ]
-    #
-    query = "[ c in ICurses, c.credits<=2, 2<=c.credits | c.code ]"
-    qo=Query(
-        metadata,
-        set, [
-            In(
-                metadata,
-                Identifier(metadata,'c'),
-                Identifier(metadata,'ICurses')),
-            Le(
-                metadata,
-                Identifier(metadata,'c.credits'),
-                Constant(metadata,'2')),
-            Le(
-                metadata,
-                Constant(metadata,'2'),
-                Identifier(metadata,'c.credits')),
-        ] ,Identifier(metadata,'c.code'))
-    
-    doone(query, qo, set([ "C1" ]))
-    
-    
-    metadata.symbols = SymbolContainer()
-    #
-    # Two filters -- one result
-    #
-    # set [ c in ICurses , c.credits>=2, 2>=c.credits  | c.code ]
-    #
-    query = "[ c in ICurses, c.credits>=2, 2>=c.credits | c.code ]"
-    qo=Query(
-        metadata,
-        set, [
-            In(
-                metadata,
-                Identifier(metadata,'c'),
-                Identifier(metadata,'ICurses')),
-            Ge(
-                metadata,
-                Identifier(metadata,'c.credits'),
-                Constant(metadata,'2')),
-            Ge(
-                metadata,
-                Constant(metadata,'2'),
-                Identifier(metadata,'c.credits')),
-        ] ,Identifier(metadata,'c.code'))
-    
-    doone(query, qo, set([ "C1" ]))
-    
-    
-    metadata.symbols = SymbolContainer()
-    #
-    # Two filters -- no result
-    #
-    # set [ c in ICurses , c.credits=3, c.credits!=3  | c.code ]
-    #
-    query = "[ c in ICurses, c.credits=3, c.credits!=3 | c.code ]"
-    qo=Query(
-        metadata,
-        set, [
-            In(
-                metadata,
-                Identifier(metadata,'c'),
-                Identifier(metadata,'ICurses')),
-            Eq(
-                metadata,
-                Identifier(metadata,'c.credits'),
-                Constant(metadata,'3')),
-            Ne(
-                metadata,
-                Identifier(metadata,'c.credits'),
-                Constant(metadata,'3')),
-        ] ,Identifier(metadata,'c.code'))
-    
-    doone(query, qo, set([]))
-    
-    
-    metadata.symbols = SymbolContainer()
-    #
-    # join -- Departments running curses
-    #
-    # set [ c in ICurses d, in IDepartments ,
-    # some c.runBy = d  | d.name ]
-    #
-    query = "[ c in ICurses, d in IDepartments, d = some c.runBy | d.name  ]"
-    qo=Query(
-        metadata,
-        set, [
-            In(
-                metadata,
-                Identifier(metadata,'c'),
-                Identifier(metadata,'ICurses')),
-            In(
-                metadata,
-                Identifier(metadata,'d'),
-                Identifier(metadata,'IDepartments')),
-            Eq(
-                metadata,
-                Identifier(metadata,'d'),
-                Quanted(metadata,
-                        Some(metadata),
-                        Property(metadata, 
-                                Identifier(metadata, 'c'),
-                                Identifier(metadata, 'runBy'))
-                            )),
-        ] ,Identifier(metadata,'d.name'))
-    
-    doone(query, qo, set(['Computing Science', 'Other Department']))
-    
-    
-    metadata.symbols = SymbolContainer()
-    #
-    # join -- Departments running some 3 credits curses
-    #
-    # set [ d in ICurses, c in ICurses, c.credits=3, some c.runBy = d | d.name ]
-    #
-    query = "[ c in ICurses, d in IDepartments, c.credits=3, d = some c.runBy | d.name  ]"
-    qo=Query(
-        metadata,
-        set,
-        [
-            In(
-                metadata,
-                Identifier(metadata,'c'),
-                Identifier(metadata,'ICurses')),
-            In(
-                metadata,
-                Identifier(metadata,'d'),
-                Identifier(metadata,'IDepartments')),
-            Eq(
-                metadata,
-                Identifier(metadata,'c.credits'),
-                Constant(metadata,'3')),
-            Eq(
-                metadata,
-                Identifier(metadata,'d'),
-                Quanted(
-                    metadata,
-                    Some(metadata),
-                    Property(metadata, 
-                                Identifier(metadata, 'c'),
-                                Identifier(metadata, 'runBy'))
-                            )),
-        ] ,Identifier(metadata, 'd.name'))
-    
-    doone(query, qo, set(['Computing Science']))
-    
-    
-    metadata.symbols = SymbolContainer()
-    # join -- Departments running some not 3 credits curses
-    #
-    # [ d in IDepartments, c in ICurses, some c.runBy = d, some c.credits != 3| d.name ]
-    #
-    query = """[ d in IDepartments,
-    c in ICurses,
-    some c.runBy = d, c.credits != 3| d.name ]"""
-    qo=Query(
-        metadata,
-        set,
-        [
-            In(
-                metadata,
-                Identifier(metadata,'d'),
-                Identifier(metadata,'IDepartments')),
-            In(
-                metadata,
-                Identifier(metadata,'c'),
-                Identifier(metadata,'ICurses')),
-            Eq(
-                metadata,
-                Identifier(metadata,'d'),
-                Quanted(
-                    metadata,
-                    Some(metadata),
-                    Property(metadata, 
-                                Identifier(metadata, 'c'),
-                                Identifier(metadata, 'runBy'))
-                            )),
-            Ne(
-                metadata,
-                Constant(metadata,'3'),
-                Identifier(metadata,'c.credits')),
-        ] ,Identifier(metadata,'d.name'))
-    
-    doone(query, qo, set(['Other department','Computing Science']))
-    
-    
-    metadata.symbols = SymbolContainer()
-    #
-    #
-    # join -- Departments running just 2 credits curses
-    #
-    # set [ d in IDepartments, every set [ c in ICurses, some c.runBy = d | c.credits ] = 3  | d.name ]
-    #
-    query = """set [ d in IDepartments,
-        every
-        set [ c in ICurses, some c.runBy = d | c.credits ] = 2
-        | d.name ]"""
-    qo=Query(
-        metadata,
-        set, 
-        [
-            In(
-                metadata,
-                Identifier(metadata,'d'),
-                Identifier(metadata,'IDepartments')),
-            Eq(
-                metadata,
-                Quanted(
-                    metadata,
-                    Every(metadata),
-                    Query(
-                        metadata,
-                        set,
-                        [
-                            In(
-                                metadata,
-                                Identifier(metadata,'c'),
-                                Identifier(metadata,'ICurses')),
-                            Eq(
-                                metadata,
-                                Identifier(metadata,'d'),
-                                Quanted(
-                                    metadata,
-                                    Some(metadata),
-                                    Property(metadata, 
-                                        Identifier(metadata, 'c'),
-                                        Identifier(metadata, 'runBy'))
-                                    )),
-                        ], Identifier(metadata, 'c.credits')
-                        )
-                ),Constant(metadata,'2')),
-        ] ,Identifier(metadata,'d.name'))
-    
-    doone(query, qo, set(['Other department']))
-    
-    
-    #metadata.symbols = SymbolContainer()
-    ##
-    ##
-    ## alias
-    ##
-    ## set [ c in ICurses, a as c.code  | a ]
-    ##
-    #query = """set [ c in ICurses, a as c.code  | a ]"""
-    #
-    #qo=Query(
-    #    metadata,
-    #    set,
-    #    [
-    #        In(
-    #            metadata,
-    #            Identifier(metadata,'c'),
-    #            Identifier(metadata,'ICurses')),
-    #        Alias(
-    #            metadata,
-    #            Identifier(metadata,'a'),
-    #            Property(metadata, 
-    #                 Identifier(metadata, 'c'),
-    #                 Identifier(metadata, 'code')))
-    #    ] ,Identifier(metadata,'c') )
-    #
-    #doone(qo, set(['C1','C2','C3']))
-
-if __name__ == "__main__":
-    test2()

Deleted: Sandbox/ocql-foliage/trunk/src/test_parser.py
===================================================================
--- Sandbox/ocql-foliage/trunk/src/test_parser.py	2008-05-29 04:14:05 UTC (rev 87007)
+++ Sandbox/ocql-foliage/trunk/src/test_parser.py	2008-05-29 09:34:59 UTC (rev 87008)
@@ -1,52 +0,0 @@
-import unittest
-
-from ocql.ocqlengine import OCQLEngine
-
-class ElementTest(unittest.TestCase):
-    engine = OCQLEngine()
-
-    def generic_test(self, query, result):
-        print "Running query: `%s'"%query
-        q = self.engine.compile(query)
-        self.assertEqual(q.execute(), result)
-    
-    def generic_testl(self, query, result):
-        print "Running query: `%s'"%query
-        q = self.engine.compile(query)
-        self.assertEqual(len(q.execute()), result)
-
-    def test_set(self):
-        self.generic_test("set [ | 1 ]", set([1]))
-    
-#    def test_bag(self):
-#        self.generic_test("bag [ | 1 ]", bag([1]))
-
-#    def test_list(self):
-#        self.generic_test("list [ | 1 ]", [1])
-
-    def test_union(self):
-        self.generic_test("set [ | 1 ] union set [|2]", set([1, 2]))
-
-    def test_differ(self):
-        self.generic_test("set [ | 1 ] differ set [|2]", set([]))
-
-    def test_in(self):
-        self.generic_testl("set [ i in ICurses | i ]", 3)
-
-    def test_count(self):
-        self.generic_test("size set [ i in ICurses | i ]", 3)
-
-def test_suite():
-    tests=[]
-
-    tests.append(unittest.makeSuite(ElementTest))
-
-    return unittest.TestSuite(tests)
-
-if __name__=='__main__':
-    unittest.main(defaultTest='test_suite')
-    #engine = OCQLEngine()
-    #query="set [|1]"
-    #q = engine.compile(query)
-    #print q.execute()
-

Deleted: Sandbox/ocql-foliage/trunk/src/testalgebra.py
===================================================================
--- Sandbox/ocql-foliage/trunk/src/testalgebra.py	2008-05-29 04:14:05 UTC (rev 87007)
+++ Sandbox/ocql-foliage/trunk/src/testalgebra.py	2008-05-29 09:34:59 UTC (rev 87008)
@@ -1,397 +0,0 @@
-#
-# Algebra operators
-#
-# decided to let these depend on the database
-# so this is the implementation
-# interface goes to ocql/engine/algebra.py
-#
-from ocql.engine.algebra import Algebra
-
-class BaseAlgebra(Algebra):
-    pass
-
-class Empty(BaseAlgebra):
-    """
-    >>> Empty(set,None).compile()
-    'set()'
-    >>> Empty(list,None).compile()
-    '[]'
-    """
-    def __init__(self, klass, expr):
-        self.klass = klass
-
-    def compile(self):
-        if self.klass==set:
-            return 'set()'
-        elif self.klass==list:
-            return '[]'
-
-    def __repr__(self):
-        return 'Empty(%s)'%(self.klass)
-    
-    def walk(self):
-        yield self
-    
-class Single(BaseAlgebra):
-    """
-    >>> Single(set,Constant('c')).compile()
-    'set(c)'
-    >>> Single(list,Constant('c')).compile()
-    '[c]'
-    """
-
-    def __init__(self, klass, expr):
-        self.klass = klass
-        self.expr = expr
-
-    def compile(self):
-        if self.klass==set:
-            return 'set(['+self.expr.compile()+'])'
-        elif self.klass==list:
-            return '['+self.expr.compile()+']'
-
-    def __repr__(self):
-        return 'Single(%s,%s)'%(self.klass, self.expr)
-
-    def walk(self):
-        yield self
-        for t in self.expr.walk():
-            yield t
-    
-class Union(BaseAlgebra):
-    """
-    >>> Union(set,Empty(set,None),Single(set,Identifier('c'))).compile()
-    'set.union(set(),set(c))'
-    >>> Union(list,Empty(list,None),Single(list,Identifier('c'))).compile()
-    '([])+([c])'
-    """
-    def __init__(self, klass, coll1, coll2):
-        self.klass=klass
-        self.coll1=coll1
-        self.coll2=coll2
-
-    def compile(self):
-        if self.klass==set:
-            return 'set.union(%s,%s)' % (
-                self.coll1.compile(),
-                self.coll2.compile())
-        elif self.klass==list:
-            return '(%s)+(%s)'%(
-                self.coll1.compile(),
-                self.coll2.compile())
-
-    def __repr__(self):
-        return 'Union(%s,%s,%s)'%(self.klass, self.coll1, self.coll2)
-
-    def walk(self):
-        yield self
-        for t in self.coll1.walk():
-            yield t
-        for t in self.coll2.walk():
-            yield t
-
-#class Differ:
-#    def __init__(self, klass, start, enf):
-#        self.klass = klass
-#        self.start = start
-#        self.end = end
-#    
-#    def compile(self):
-#        if self.klass == set:
-#            return 'set(range(%s,%s))' % (self.start.compile(),self.end.compile())
-#        if self.klass == list:
-#            return 'range(%s,%s)' % (self.start.compile(),self.end.compile())
-        
-
-class Iter(BaseAlgebra):
-    def __init__(self, klass, func, coll):
-        self.klass = klass
-        self.func = func
-        self.coll = coll
-
-    def compile(self):
-        if self.func is Lambda and \
-            self.coll is Collection and \
-            self.func.expr is If:
-            
-            # You can place here some specialized code...
-            if self.klass == set:
-                return 'reduce(set.union, map(%s,%s) , set())' % \
-                    (self.func.compile(), self.coll.compile())
-            if self.klass == list:
-                return 'reduce(operator.add, map(%s,%s) , [])' % \
-                    (self.func.compile(), self.coll.compile())
-        else:
-            if self.klass == set:
-                return 'reduce(set.union, map(%s,%s) , set())' % \
-                    (self.func.compile(), self.coll.compile())
-            if self.klass == list:
-                return 'reduce(operator.add, map(%s,%s) , [])' % \
-                    (self.func.compile(), self.coll.compile())
-
-    def __repr__(self):
-        return "Iter(%s,%s,%s)"%(self.klass, self.func, self.coll)
-
-    def walk(self):
-        yield self
-        for t in self.func.walk():
-            yield t
-        for t in self.coll.walk():
-            yield t
-    
-class Select(BaseAlgebra):
-    def __init__(self, klass, func, coll):
-        self.klass = klass
-        self.func = func
-        self.coll = coll
-
-    def compile(self):
-        if self.klass == set:
-            return 'set(filter(%s,%s))' % (
-                self.func.compile(),
-                self.coll.compile())
-        if self.klass == list:
-            return 'filter(%s,%s)' % (
-                self.func.compile(),
-                self.coll.compile())
-
-    def __repr__(self):
-        return "Select(%s,%s,%s)"%(self.klass, self.func, self.coll)
-
-    def walk(self):
-        yield self
-        for t in self.func.walk():
-            yield t
-        for t in self.coll.walk():
-            yield t
-        
-class Reduce(BaseAlgebra):
-    def __init__(self, klass, expr, func, aggreg, coll):
-        self.klass = klass
-        self.expr = expr
-        self.func = func
-        self.aggreg = aggreg
-        self.coll = coll
-
-    def compile(self):
-        if self.klass == set:
-            return 'reduce(%s,map(%s,%s),%s)' % (
-                self.aggreg.compile(),
-                self.func.compile(),
-                self.coll.compile(),
-                self.expr.compile())
-        if self.klass == list:
-            return 'reduce(%s,map(%s,%s),%s)' % (
-                self.aggreg.compile(),
-                self.func.compile(),
-                self.coll.compile(),
-                self.expr.compile())
-
-    def __repr__(self):
-        return "Reduce(%s,%s,%s,%s,%s)"%(self.klass, self.expr, self.func, self.aggreg, self.coll)
-
-    def walk(self):
-        yield self
-        for t in self.expr.walk():
-            yield t
-        for t in self.func.walk():
-            yield t
-        for t in self.aggreg.walk():
-            yield t
-        for t in self.coll.walk():
-            yield t
-
-#class Equal:
-#    def __init__(self, klass, coll1, coll2):
-#        self.klass = klass
-#        self.coll1 = coll1
-#        self.coll2 = coll2
-#    
-#    def compile(self):
-#        if self.klass == set:
-#            return 'set(filter(%s,%s))' % (self.coll1.compile(),self.coll1.compile())
-#        if self.klass == list:
-#            return 'filter(%s,%s)' % (self.coll1.compile(),self.coll2.compile())
-#
-class Range(BaseAlgebra):
-    def __init__(self, klass, start, enf):
-        self.klass = klass
-        self.start = start
-        self.end = end
-    
-    def compile(self):
-        if self.klass == set:
-            return 'set(range(%s,%s))' % (
-                self.start.compile(),
-                self.end.compile())
-        if self.klass == list:
-            return 'range(%s,%s)' % (
-                self.start.compile(),
-                self.end.compile())
-        
-    def walk(self):
-        yield self
-        for t in self.start.walk():
-            yield t
-        for t in self.end.walk():
-            yield t
-    
-
-#class Index
-
-class Make(BaseAlgebra):
-    def __init__(self, coll1, coll2, expr):
-        self.expr = expr
-        self.coll1 = coll1
-        self.coll2 = coll2
-
-    def compile(self):
-        #TODO: no conversion??? or you just didn't know the from-to?
-        return '%s(metadata.getAll("%s"))' % (
-            self.coll1.__name__,
-            self.expr.compile())
-    
-    def __repr__(self):
-        return "Make(%s,%s,%s)" %(self.coll1, self.coll2, self.expr)
-
-    def walk(self):
-        yield self
-        for t in self.expr.walk():
-            yield t
-    
-#class And:
-#class Being:
-
-class If(BaseAlgebra):
-    def __init__(self, cond, expr1, expr2):
-        self.cond = cond
-        self.expr1 = expr1
-        self.expr2 = expr2
-    
-    def compile(self):
-        #TODO: is this 100%?
-        return '((%s) and (%s) or (%s))' % (
-            self.cond.compile(),
-            self.expr1.compile(),
-            self.expr2.compile())
-    
-    def __repr__(self):
-        return "If(%s,%s,%s)" % (self.cond, self.expr1, self.expr2)
-
-    def walk(self):
-        yield self
-        for t in self.cond.walk():
-            yield t
-        for t in self.expr1.walk():
-            yield t
-        for t in self.expr2.walk():
-            yield t
-
-#
-# 
-#
-class Lambda(BaseAlgebra):
-    def __init__(self, var, expr):
-        self.var = var
-        self.expr = expr
-
-    def compile(self):
-        return 'lambda %s: %s'%(
-            self.var,
-            self.expr.compile())
-
-    def __repr__(self):
-        return "Lambda %s: %s" %(self.var, self.expr)
-
-    def walk(self):
-        yield self
-        for t in self.expr.walk():
-            yield t
-        
-class Constant(BaseAlgebra):
-    def __init__(self, value):
-        self.value = value
-
-    def compile(self):
-        return '%s'%(self.value)
-
-    def __repr__(self):
-        return "`%s`" %(self.value)
-
-    def walk(self):
-        yield self
-    
-class Identifier(BaseAlgebra):
-    def __init__(self, name):
-        self.name=name
-    
-    def compile(self):
-        return self.name
-    
-    def __repr__(self):
-        return "%s" % self.name
-
-    def walk(self):
-        yield self
-    
-class Binary(BaseAlgebra):
-    def __init__(self, left, op, right):
-        self.left = left
-        self.op = op
-        self.right = right
-
-    def compile(self):
-        return '%s%s%s' % (self.left.compile(),
-                           self.op.op,
-                           self.right.compile())
-
-    def __repr__(self):
-        return "%s%s%s" % (self.left, self.op.op, self.right)
-
-    def walk(self):
-        yield self
-        for t in self.left.walk():
-            yield t
-        for t in self.right.walk():
-            yield t
-    
-class Operator(BaseAlgebra):
-    ops = { 
-            'or': 'operator.or_',
-            'and': 'operator.and_',
-            'not': 'operator.not_',
-            '+': 'operator.add', '-': 'operator.sub',
-            '*': 'operator.mul', '/': 'operator.div',
-            '<': 'operator.lt', '>': 'operator.gt',
-            '<=': 'operator.le', '>=': 'operator.ge',
-            '==': 'operator.eq', '~=': 'operator.ne',
-            }
-    def __init__(self, op):
-        self.op = op
-        
-    def compile(self):
-        return self.ops[self.op]
-    
-    def __repr__(self):
-        return self.op
-
-    def walk(self):
-        yield self
-#class Property:
-#   def __init__(self, left, right):
-#        self.left = left
-#        self.right = right
-#    
-#    def compile(self):
-#        return '%s.%s' (self.left.compile(),self.right.compile())
-#    
-#    def __repr__(self):
-#        return '%s.%s' (self.left,self.right)
-
-def _test():
-    import doctest
-    doctest.testmod()
-
-if __name__ == "__main__":
-    _test()
-

Deleted: Sandbox/ocql-foliage/trunk/src/testdb.py
===================================================================
--- Sandbox/ocql-foliage/trunk/src/testdb.py	2008-05-29 04:14:05 UTC (rev 87007)
+++ Sandbox/ocql-foliage/trunk/src/testdb.py	2008-05-29 09:34:59 UTC (rev 87008)
@@ -1,112 +0,0 @@
-from zope.interface import Interface, implements
-from zope.schema import TextLine, Set, Choice, Int, List
-from ocql.engine import metadata
-
-# schema
-class ICurses(Interface):
-    code = TextLine(
-        title=u"Course code",
-        required=True
-        )
-    runBy = List(
-        title=u"Run by",
-        value_type = Choice(
-            title=u"Department",
-            vocabulary="vocab_of_IDepartment",
-            )
-        )
-    credits = Int(
-        title=u"Credits",
-        )
-
-class IDepartments(Interface):
-    name = TextLine(
-        title=u"name",
-        required=True
-        )
-    address = Choice(
-        title=u"Street address",
-        vocabulary="vocab_of_IAddress",
-        required=True
-        )
-
-class MClass(metadata.MetaType):
-    #interface suspect thing
-    def __init__(self, klass):
-        self.klass = klass
-
-    def is_collection(self):
-        return True
-
-    def get_collection_type(self):
-        return set
-    
-    def get_contained(self):
-        return self.klass
-    
-    def __getitem__(self, name):
-        x = self.klass[name]._type
-        try:
-            return x[-1]
-        except TypeError:
-            return x
-    
-class MType(metadata.MetaType):
-    def __init__(self, klass, collection_type=None):
-        self.klass = klass
-        self.collection_type = collection_type
-
-    def is_collection(self):
-        return (self.collection_type is not None)
-
-    def get_collection_type(self):
-        return self.collection_type
-    
-    def get_contained(self):
-        return self.klass
-
-class Department(object):
-    implements(IDepartments)
-    
-    def __init__(self, name):
-        self.name = name
-
-class Curses(object):
-    implements(ICurses)
-    
-    def __init__(self, code, runBy, credits):
-        self.code = code
-        self.runBy = runBy
-        self.credits = credits
-
-D1 = Department("Computing Science")
-D2 = Department("Other department")
-D3 = Department("Department without curse")
-
-C1 = Curses("C1", runBy = set([D1, D2]), credits=2)
-C2 = Curses("C2", runBy = set(), credits=3)
-C3 = Curses("C3", runBy = set([D1]), credits=3)
-
-
-# metadata
-class TestMetadata(metadata.Metadata):
-    db = {
-            'IDepartments': [D1, D2],
-            'ICurses': [C1, C2, C3]
-        }
-    classes = {
-            'IDepartments': MClass(IDepartments),
-            'ICurses': MClass(ICurses),
-            }
-    
-    def getAll(self, klass):
-        x=self.db[klass]
-        return x
-    
-    def get_class(self, name):
-        return self.classes[name]
-    
-    def get_collection_type(self, name):
-        klass = self.get_class(name)
-        rv = klass.get_collection_type()
-        return rv
\ No newline at end of file



More information about the Checkins mailing list