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)
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)
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)
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)