Skip to content

Commit 3acdeb9

Browse files
authored
Merge branch 'main' into iiif-prezi-issue-122
2 parents c0f3ce3 + bbb4682 commit 3acdeb9

File tree

12 files changed

+737
-123
lines changed

12 files changed

+737
-123
lines changed

.github/workflows/deploy.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212

1313
steps:
14-
- uses: actions/checkout@v2
14+
- uses: actions/checkout@v4
1515
- name: docker login
1616
env:
1717
DOCKER_USER: ${{secrets.DOCKER_USER}}
@@ -33,15 +33,15 @@ jobs:
3333
run: docker logout
3434

3535
- name: Configure AWS credentials
36-
uses: aws-actions/configure-aws-credentials@v1
36+
uses: aws-actions/configure-aws-credentials@v4
3737
with:
3838
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
3939
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
4040
aws-region: us-east-1
4141

4242
- name: Login to Amazon ECR
4343
id: login-ecr
44-
uses: aws-actions/amazon-ecr-login@v1
44+
uses: aws-actions/amazon-ecr-login@v2
4545

4646
- name: Fill in the new image ID in the Amazon ECS task definition
4747
id: task-def
@@ -52,7 +52,7 @@ jobs:
5252
image: docker.io/glenrobson/iiif-presentation-validator:${{ github.sha }}
5353

5454
- name: Deploy Amazon ECS task definition
55-
uses: aws-actions/amazon-ecs-deploy-task-definition@v1
55+
uses: aws-actions/amazon-ecs-deploy-task-definition@v2
5656
with:
5757
task-definition: ${{ steps.task-def.outputs.task-definition }}
5858
service: PreziValidatorService

.github/workflows/test.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,31 @@ name: Run-tests
44

55
# Controls when the action will run. Triggers the workflow on push or pull request
66
# events but only for the master branch
7-
on: [push, pull_request]
7+
on: [push]
88

99
jobs:
1010
build:
1111
runs-on: ubuntu-latest
1212
strategy:
1313
matrix:
14-
python-version: [ '3.7', '3.8', '3.9' ]
14+
python-version: [ '3.9', '3.10', '3.11']
1515
name: Python ${{ matrix.python-version }} sample
1616
steps:
17-
- uses: actions/checkout@v2
17+
- uses: actions/checkout@v4
1818
- name: Setup python
19-
uses: actions/setup-python@v2
19+
uses: actions/setup-python@v5
2020
with:
2121
python-version: ${{ matrix.python-version }}
2222
architecture: x64
2323

24-
- uses: actions/cache@v2
24+
- uses: actions/cache@v4
2525
with:
2626
path: ${{ env.pythonLocation }}
2727
key: ${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ hashFiles('dev-requirements.txt') }}
2828

29+
- name: Install setup tools
30+
run: pip install setuptools
31+
2932
- name: Install
3033
run: python setup.py install
3134

fixtures/3/accompanyingCanvas.json

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
{
2+
"@context": "http://iiif.io/api/presentation/3/context.json",
3+
"id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/manifest.json",
4+
"type": "Manifest",
5+
"label": {
6+
"en": [
7+
"Partial audio recording of Gustav Mahler's _Symphony No. 3_"
8+
]
9+
},
10+
"items": [
11+
{
12+
"id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/p1",
13+
"type": "Canvas",
14+
"label": {
15+
"en": [
16+
"Gustav Mahler, Symphony No. 3, CD 1"
17+
]
18+
},
19+
"duration": 1985.024,
20+
"accompanyingCanvas": {
21+
"id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/accompanying",
22+
"type": "Canvas",
23+
"label": {
24+
"en": [
25+
"First page of score for Gustav Mahler, Symphony No. 3"
26+
]
27+
},
28+
"height": 998,
29+
"width": 772,
30+
"items": [
31+
{
32+
"id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/accompanying/annotation/page",
33+
"type": "AnnotationPage",
34+
"items": [
35+
{
36+
"id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/accompanying/annotation/image",
37+
"type": "Annotation",
38+
"motivation": "painting",
39+
"body": {
40+
"id": "https://iiif.io/api/image/3.0/example/reference/4b45bba3ea612ee46f5371ce84dbcd89-mahler-0/full/,998/0/default.jpg",
41+
"type": "Image",
42+
"format": "image/jpeg",
43+
"height": 998,
44+
"width": 772,
45+
"service": [
46+
{
47+
"id": "https://iiif.io/api/image/3.0/example/reference/4b45bba3ea612ee46f5371ce84dbcd89-mahler-0",
48+
"type": "ImageService3",
49+
"profile": "level1"
50+
}
51+
]
52+
},
53+
"target": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/accompanying"
54+
}
55+
]
56+
}
57+
]
58+
},
59+
"items": [
60+
{
61+
"id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/page/p1",
62+
"type": "AnnotationPage",
63+
"items": [
64+
{
65+
"id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/page/annotation/segment1-audio",
66+
"type": "Annotation",
67+
"motivation": "painting",
68+
"body": {
69+
"id": "https://fixtures.iiif.io/audio/indiana/mahler-symphony-3/CD1/medium/128Kbps.mp4",
70+
"type": "Sound",
71+
"duration": 1985.024,
72+
"format": "video/mp4"
73+
},
74+
"target": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/page/p1"
75+
}
76+
]
77+
}
78+
]
79+
}
80+
]
81+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"@context": "http://iiif.io/api/presentation/3/context.json",
3+
"id": "https://preview.iiif.io/cookbook/309-annotation-collections/recipe/0309-annotation-collection/anno_p1.json",
4+
"type": "AnnotationPage",
5+
"partOf": [{
6+
"id": "https://preview.iiif.io/cookbook/309-annotation-collections/recipe/0309-annotation-collection/anno_coll.json",
7+
"type": "AnnotationCollection"
8+
}],
9+
"next": {
10+
"id": "https://preview.iiif.io/cookbook/309-annotation-collections/recipe/0309-annotation-collection/anno_p2.json",
11+
"type": "AnnotationPage"
12+
},
13+
"items": [
14+
{
15+
"id": "https://preview.iiif.io/cookbook/309-annotation-collections/recipe/0309-annotation-collection/anno_p1.json-1",
16+
"type": "Annotation",
17+
"motivation": "tagging",
18+
"body": {
19+
"type": "TextualBody",
20+
"format": "text/plain",
21+
"value": "text-1-1"
22+
},
23+
"target": {
24+
"type": "SpecificResource",
25+
"source": {
26+
"id": "https://preview.iiif.io/cookbook/309-annotation-collections/recipe/0309-annotation-collection/canvas/p1",
27+
"type": "Canvas",
28+
"partOf": [{
29+
"id": "https://preview.iiif.io/cookbook/309-annotation-collections/recipe/0309-annotation-collection/manifest.json",
30+
"type": "Manifest"
31+
}]
32+
},
33+
"selector": {
34+
"type": "FragmentSelector",
35+
"conformsTo": "http://www.w3.org/TR/media-frags/",
36+
"value": "xywh=88,957,2768,248"
37+
}
38+
}
39+
}
40+
]
41+
}

fixtures/3/placeholderCanvas.json

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
{
2+
"@context": "http://iiif.io/api/presentation/3/context.json",
3+
"id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/manifest.json",
4+
"type": "Manifest",
5+
"label": {
6+
"en": [
7+
"Video recording of Donizetti's _The Elixer of Love_"
8+
]
9+
},
10+
"items": [
11+
{
12+
"id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/canvas/donizetti",
13+
"type": "Canvas",
14+
"duration": 7278.466,
15+
"width": 640,
16+
"height": 360,
17+
"placeholderCanvas": {
18+
"id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/canvas/donizetti/placeholder",
19+
"type": "Canvas",
20+
"width": 640,
21+
"height": 360,
22+
"items": [
23+
{
24+
"id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/canvas/donizetti/placeholder/1",
25+
"type": "AnnotationPage",
26+
"items": [
27+
{
28+
"id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/canvas/donizetti/placeholder/1-image",
29+
"type": "Annotation",
30+
"motivation": "painting",
31+
"body": {
32+
"id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png",
33+
"type": "Image",
34+
"format": "image/png",
35+
"width": 640,
36+
"height": 360
37+
},
38+
"target": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/canvas/donizetti/placeholder"
39+
}
40+
]
41+
}
42+
]
43+
},
44+
"items": [
45+
{
46+
"id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/donizetti/1",
47+
"type": "AnnotationPage",
48+
"items": [
49+
{
50+
"id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/donizetti/1-video",
51+
"type": "Annotation",
52+
"motivation": "painting",
53+
"body": {
54+
"id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4",
55+
"type": "Video",
56+
"duration": 7278.466,
57+
"width": 640,
58+
"height": 360,
59+
"format": "video/mp4"
60+
},
61+
"target": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/canvas/donizetti"
62+
}
63+
]
64+
}
65+
]
66+
}
67+
]
68+
}

fixtures/3/point_selector.json

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
{
2+
"@context": "http://iiif.io/api/presentation/3/context.json",
3+
"id": "http://localhost:4000/recipe/0135-annotating-point-in-canvas/manifest.json",
4+
"type": "Manifest",
5+
"label": {
6+
"en": [
7+
"Using a point selector for annotating a location on a map."
8+
]
9+
},
10+
"summary": {
11+
"en": [
12+
"A map containing an point with an annotation of the location."
13+
]
14+
},
15+
"items": [
16+
{
17+
"id": "http://localhost:4000/recipe/0135-annotating-point-in-canvas/canvas.json",
18+
"type": "Canvas",
19+
"label": {
20+
"en": [
21+
"Chesapeake and Ohio Canal Pamphlet"
22+
]
23+
},
24+
"height": 5212,
25+
"width": 7072,
26+
"items": [
27+
{
28+
"id": "http://localhost:4000/recipe/0135-annotating-point-in-canvas/contentPage.json",
29+
"type": "AnnotationPage",
30+
"items": [
31+
{
32+
"id": "http://localhost:4000/recipe/0135-annotating-point-in-canvas/content.json",
33+
"type": "Annotation",
34+
"motivation": "painting",
35+
"body": {
36+
"id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg",
37+
"type": "Image",
38+
"format": "image/jpeg",
39+
"height": 5212,
40+
"width": 7072,
41+
"service": [
42+
{
43+
"id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674",
44+
"type": "ImageService3",
45+
"profile": "level1"
46+
}
47+
]
48+
},
49+
"target": "http://localhost:4000/recipe/0135-annotating-point-in-canvas/canvas.json"
50+
}
51+
]
52+
}
53+
],
54+
"annotations": [
55+
{
56+
"id": "http://localhost:4000/recipe/0135-annotating-point-in-canvas/page/p2/1",
57+
"type": "AnnotationPage",
58+
"items": [
59+
{
60+
"id": "http://localhost:4000/recipe/0135-annotating-point-in-canvas/annotation/p0002-tag",
61+
"type": "Annotation",
62+
"label": {
63+
"en": [
64+
"Annotation containing the name of the place annotated using the PointSelector."
65+
]
66+
},
67+
"motivation": "tagging",
68+
"body": {
69+
"type": "TextualBody",
70+
"value": "Town Creek Aqueduct",
71+
"language": "en",
72+
"format": "text/plain"
73+
},
74+
"target": {
75+
"type": "SpecificResource",
76+
"source": "http://localhost:4000/recipe/0135-annotating-point-in-canvas/canvas.json",
77+
"selector": {
78+
"type": "PointSelector",
79+
"x": 3385,
80+
"y": 1464
81+
}
82+
}
83+
}
84+
]
85+
}
86+
]
87+
}
88+
]
89+
}

0 commit comments

Comments
 (0)