Exemplo n.º 1
0
    def test_label_object(self):
        mo = MuseumObject()
        mo.object_number = 'O73708'
        mo.save()

        #bind the object to the Digital Label
        rel = DigitalLabelObject(museumobject=mo, digitallabel=DigitalLabel.objects.get(id=1))
        rel.save()

        response = self.client.get('/digitallabel/1/')
        self.assertContains(response, '<div class="title"><h2>Washstand</h2></div>', 1, 200)
Exemplo n.º 2
0
    def test_gateway_object(self):
        mo = MuseumObject()
        mo.object_number = 'O59319'
        mo.save()

        #bind the object to the Digital Label
        rel = DigitalLabelObject(museumobject=mo, digitallabel=DigitalLabel.objects.get(id=1),
                                 gateway_object=True)
        rel.save()

        response = self.client.get('/digitallabel/1/')
        self.assertContains(response, """<li class="home txt obj">
                <div class="mask"></div>
                <div class="title"><h2>Armchair</h2></div>""", 1, 200)
Exemplo n.º 3
0
    def test_timeout_images(self):
        mo = MuseumObject()
        mo.object_number = 'O321535'
        mo.save()
        
        #bind the object to the Digital Label
        rel = DigitalLabelObject(museumobject=mo, digitallabel=DigitalLabel.objects.get(id=1),
                                 gateway_object=True)        
        rel.save()

        response = self.client.get('/digitallabel/1/')
        self.assertNotContains(response, '<img class="timeout"', 200)

        dl = DigitalLabel.objects.get(id=1)
        dl.timeout_images.add(Image.objects.get(id=1))
        dl.save()
        from django.conf import settings
        response = self.client.get('/digitallabel/1/')

        if settings.KIOSK_MODE:
            self.assertContains(response, '<img class="timeout"', 1, 200)
        else:
            self.assertNotContains(response, '<img class="timeout"', 200)
Exemplo n.º 4
0
    def handle(self, *args, **options):
        dls = {}
        identifiers = []
        if not args:
            chip_grp, cr = DigitalLabel.objects.get_or_create(
                                                        name="Chippendale")
            identifiers = RECORDS.split(' ')

            # load up label hash
            for i in identifiers:
                dls[i] = chip_grp

        elif len(args) == 1 and args[0].endswith('csv'):
            reader = csv.reader(open(args[0]))
            for row in reader:
                dl_name = row[0]
                dl_no = row[2]
                mus_no = row[1]

                if dl_name.lower().find('portal') > -1:
                    pl, cr = Portal.objects.get_or_create(
                                                name=dl_no + ' ' + dl_name)
                    dls[mus_no] = pl
                else:
                    dl, cr = DigitalLabel.objects.get_or_create(
                                                name=dl_no + ' ' + dl_name)
                    dls[mus_no] = dl
                identifiers.append(mus_no)

        else:
            chip_grp = None
            identifiers = args
            for i in identifiers:
                dls[i] = None

        for identifier in identifiers:

            if identifier.startswith('O'):
                object_number = identifier
            else:
                # this is a museum number, exchange for O number
                object_number = self.get_object_by_mn(identifier)

            if object_number:
                print 'Downloading', object_number, identifier
                mo, cr = MuseumObject.objects.get_or_create(
                                            object_number=object_number)
                dl = dls[identifier]
                if dl:
                    # create the relation to the Digital Label or the Portal
                    if dl._meta.object_name == 'DigitalLabel':
                        rel = DigitalLabelObject(museumobject=mo, digitallabel=dl)
                    else:
                        rel = PortalObject(museumobject=mo, portal=dl)

                    # save the relation
                    rel.save()

                mo.save()
            else:
                print 'Unable to find "O" number for %s' % (identifier)