Esempio n. 1
0
 def setUp(self):
     fd1, self.filename1 = mkstemp(suffix=".czp",
                                   prefix="advene2_utest_serpar_")
     fdopen(fd1).close()
     self.url1 = "file:" + pathname2url(self.filename1)
     p1 = CamPackage(self.url1, create=True)
     p1.save()
     p1.close()
Esempio n. 2
0
class TestBookkeeping(TestCase):
    def setUp(self):
        session.user = "******"
        self.origin = datetime.now()
        self.p = Package("file:/tmp/p", create=True)

    def tearDown(self):
        self.p.close()

    def testPackageCreationMD(self):
        p = self.p
        # NB: only 10's of seconds are considered to compare dates
        assert p.creator == "first_user"
        assert p.created[:18] == self.origin.isoformat()[:18]
        assert p.contributor == "first_user"
        assert p.modified == p.created

    def testPackageModificationMD(self):
        p = self.p
        session.user = "******"
        p.set_meta("http://example.org/prop", "foo")
        assert p.creator == "first_user"
        assert p.created[:18] == self.origin.isoformat()[:18]
        assert p.contributor == "second_user"
        assert p.modified > p.created
        
    def testElementCreationMD(self):
        p = self.p
        session.user = "******"
        r_created = datetime.now()
        r = p.create_resource("r1", "text/plain")
        assert p.creator == "first_user"
        assert p.created[:18] == self.origin.isoformat()[:18]
        assert p.contributor == "second_user"
        assert p.modified[:18] == r_created.isoformat()[:18]
        assert r.creator == "second_user"
        assert r.created[:18] == r_created.isoformat()[:18]
        assert r.contributor == "second_user"
        assert r.modified == r.created

    def testElementModificationMD(self):
        p = self.p
        session.user = "******"
        r_created = datetime.now()
        r = p.create_resource("r1", "text/plain")
        session.user = "******"
        r.content_data = "bla bla bla"
        assert p.creator == "first_user"
        assert p.created[:18] == self.origin.isoformat()[:18]
        assert p.contributor == "third_user"
        assert p.modified == r.modified
        assert r.creator == "second_user"
        assert r.created[:18] == r_created.isoformat()[:18]
        assert r.contributor == "third_user"
        assert r.modified > r.created
Esempio n. 3
0
#! /usr/bin/python

# Script de creation du fichier example.cxp

ns_advene = 'http://www.advene.org/ns/advene/'

import os
import libadvene
import libadvene.model.cam.consts
ns_cinelab = libadvene.model.cam.consts.CAM_NS_PREFIX
from libadvene.model.cam.package import Package

p = Package('', create=True)

p.description = "Example Cinelab package"
p.title = "Nosferatu analysis"
p.meta[ns_advene + 'default_utbv'] = 'start_view'

m = p.create_media('m1', '/data/video/Nosferatu.avi')
m.meta[ns_cinelab + 'uri'] = 'http://liris.cnrs.fr/advene/videos/baz.avi'

todo = p.create_user_tag('todo')
todo.title = 'TODO'
todo.description = 'Things to work on'
todo.color = '#ff4444'

important = p.create_user_tag('important')
important.title = 'Important'
important.description = 'Important things to note'
important.color = '#00ff00'
Esempio n. 4
0
_t = 0

def measure_time(label=None):
    global _t
    nt = time()
    if label:
        print >> sys.stderr, "%s: %0.3fs" % (label, nt-_t)
    _t = nt

if __name__ == "__main__":

    p = None

    measure_time() # take origin
    p = Package("file:examples/nosferatu.czp")
    measure_time("loading time")

    session.package = p

    def the_test():
        #global p
        #p = Package("file:examples/nosferatu.czp"
        [len(a.relations) for a in p.all.annotations]
        pass

    measure_time() # take origin
    the_test()
    measure_time("the test took")

    measure_time() # take origin
Esempio n. 5
0
            raise Exception(_("File %s is not an Advene zip package.") % fname)
        if typ != 'foo': # FIXME libadvene.model.zippackage.MIMETYPE:
            raise Exception(_("File %s is not an Advene zip package.") % fname)

        try:
            st=z.read('META-INF/statistics.xml')
        except KeyError:
            st=None

        z.close()

    if not st:
        # If we are here, it is that we could not get the statistics.xml.
        # Generate it (it can take some time)
        try:
            p=Package(uri=fname)
        except Exception, e:
            raise(_("Error:\n%s") % unicode(e))
        st=p.generate_statistics()
        p.close()

    # We have the statistics in XML format. Render it.
    s=StringIO.StringIO(st)
    #h=libadvene.model.package.StatisticsHandler()
    #data=h.parse_file(s)
    data={}
    s.close()

    m=_("""Package %(title)s:
%(schema)s
%(annotation)s in %(annotation_type)s
Esempio n. 6
0
 def testCzp(self):
     p = CamPackage(self.filename1)
     p.close()
Esempio n. 7
0
def main():
    if exists (package_url1[5:]): unlink (package_url1[5:])
    if exists (package_url2[5:]): unlink (package_url2[5:])

    p1 = Package(package_url1, create=True)
    p1.dc_creator = "pchampin"

    at1 = p1.create_annotation_type("at1")
    at2 = p1.create_annotation_type("at2")
    rt1 = p1.create_relation_type("rt1")
    rt2 = p1.create_relation_type("rt2")
    sc1 = p1.create_schema("sc1", (at1, rt1))
    li1 = p1.create_user_list("li1", (at1, at2, rt2))
    t1 = p1.create_user_tag("t1")
    t2 = p1.create_user_tag("t2")

    m1 = p1.create_media("m1", "http://example.com/foo.avi")
    a1 = p1.create_annotation("a1", m1, 0, 100, "text/plain", type=at1)
    a2 = p1.create_annotation("a2", m1, 10, 20, "text/plain", type=at1)
    a3 = p1.create_annotation("a3", m1, 20, 30, "text/plain", type=at2)
    r1 = p1.create_relation("r1", members=(a1, a2), type=rt1)
    r2 = p1.create_relation("r2", members=(a3, a2), type=rt2)

    p1.associate_user_tag(m1, t1)
    p1.associate_user_tag(a1, t1)

    for i in p1.own:
        i.dc_creator = "pchampin"

    p2 = Package(package_url2, create=True)
    p2.dc_creator = "oaubert"

    i1 = p2.create_import("i1", p1)
    a4 = p2.create_annotation("a4", m1, 30, 40, "text/plain", type=at2)
    r3 = p2.create_relation("r3", members=(a4, a1), type=rt1)
    m2 = p2.create_media("m2", "http://example.com/bar.avi")
    a5 = p2.create_annotation("a5", m1, 40, 50, "text/plain", type=at2)
    r4 = p2.create_relation("r4", members=(a5, a2), type=rt2)

    t3 = p2.create_user_tag("t3")
    p2.associate_user_tag(a1, t3)
    p2.associate_user_tag(a2, t3)
    p2.associate_user_tag(a5, t1)
    p2.associate_user_tag(a5, t2)

    print [ i.id for i in p1.own ]
Esempio n. 8
0
 def setUp(self):
     session.user = "******"
     self.origin = datetime.now()
     self.p = Package("file:/tmp/p", create=True)