Skip to content

Commit

Permalink
Merge pull request #230 from lyu4321/issue-176
Browse files Browse the repository at this point in the history
  • Loading branch information
zackkrida committed Oct 11, 2021
2 parents b044229 + da7c7f0 commit 926e6d4
Show file tree
Hide file tree
Showing 4 changed files with 129 additions and 97 deletions.
76 changes: 0 additions & 76 deletions .github/ISSUE_TEMPLATE/image_provider_api_integration_request.md

This file was deleted.

93 changes: 93 additions & 0 deletions .github/ISSUE_TEMPLATE/image_provider_api_integration_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: Image Provider API Integration Request
description: Tell us about an API providing CC-licensed images
title: "[API Integration] Provider name here"
labels:
- "🚦 status: awaiting triage"
- "✨ goal: improvement"
- "🧹 status: ticket work required"
- "☁️ provider: images"
body:
- type: input
id: provider
attributes:
label: Provider API Endpoint / Documentation
description: Please provide links to the API endpoint, and any known documentation
validations:
required: true
- type: textarea
id: description
attributes:
label: Provider description
description: Please provide a clear and concise description of the image provider
validations:
required: true
- type: input
id: licenses
attributes:
label: Licenses Provided
description: Which licenses does the provider use for images (if known)
validations:
required: true
- type: textarea
id: technical-info
attributes:
label: Provider API Technical info
description: Please provide any technical details that might be useful for implementation, e.g., rate limits, filtering options, overall volume, etc.
validations:
required: true
- type: checkboxes
id: checklist
attributes:
label: Checklist to complete before beginning development
description: |
Please do not modify this section. No development should be done on a Provider API Script until the following info is gathered:
options:
- label: Verify there is a way to retrieve the entire relevant portion of the provider's collection in a systematic way via their API.
required: false
- label: Verify the API provides license info (license type and version; license URL provides both, and is preferred)
required: false
- label: Verify the API provides stable direct links to individual works.
required: false
- label: Verify the API provides a stable landing page URL to individual works.
required: false
- label: Note other info the API provides, such as thumbnails, dimensions, attribution info (required if non-CC0 licenses will be kept), title, description, other meta data, tags, etc.
required: false
- label: Attach example responses to API queries that have the relevant info.
required: false
- type: markdown
attributes:
value: |
## General Recommendations for implementation
Modify this section if necessary
- The script should be in the `openverse_catalog/dags/provider_api_scripts/` directory.
- The script should have a test suite in the same directory.
- The script must use the `ImageStore` class (Import this from `openverse_catalog/dags/provider_api_scripts/common/storage/image.py`).
- The script should use the `DelayedRequester` class (Import this from `openverse_catalog/dags/provider_api_scripts/common/requester.py`).
- The script must not use anything from `openverse_catalog/dags/provider_api_scripts/modules/etlMods.py`, since that module is deprecated.
- If the provider API has can be queried by 'upload date' or something similar, the script should take a `--date` parameter when run as a script, giving the date for which we should collect images. The form should be `YYYY-MM-DD` (so, the script can be run via `python my_favorite_provider.py --date 2018-01-01`).
- The script must provide a main function that takes the same parameters as from the CLI. In our example from above, we'd then have a main function `my_favorite_provider.main(date)`. The main should do the same thing calling from the CLI would do.
- The script *must* conform to [PEP8][pep8]. Please use `pycodestyle` (available via `pip install pycodestyle`) to check for compliance.
- The script should use small, testable functions.
- The test suite for the script may break PEP8 rules regarding long lines where appropriate (e.g., long strings for testing).
[pep8]: https://www.python.org/dev/peps/pep-0008/
- type: markdown
attributes:
value: |
## Examples of other Provider API Scripts
It's unlikely this section needs to be modified
For example Provider API Scripts and accompanying test suites, please see
- `openverse_catalog/dags/provider_api_scripts/flickr.py` and
- `openverse_catalog/dags/provider_api_scripts/test_flickr.py`, or
- `openverse_catalog/dags/provider_api_scripts/wikimedia_commons.py` and
- `openverse_catalog/dags/provider_api_scripts/test_wikimedia_commons.py`.
- type: checkboxes
id: implementation
attributes:
label: Implementation
options:
- label: 🙋 I would be interested in implementing this feature.
required: false
21 changes: 0 additions & 21 deletions .github/ISSUE_TEMPLATE/new_source_suggestion.md

This file was deleted.

36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/new_source_suggestion.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: New Source Suggestion for Openverse
description: Tell us about a website or platform with CC-licensed content
title: "[Source Suggestion] Insert source name here"
labels:
- "🚦 status: awaiting triage"
- "🧹 status: ticket work required"
- "☁️ provider: any"
body:
- type: input
id: source
attributes:
label: Source Site
description: Please provide a link to the Source site that you'd like considered for inclusion on Openverse
validations:
required: true
- type: input
id: value
attributes:
label: Value Provided
description: Please explain why it would be valuable to include this source on Openverse
validations:
required: true
- type: input
id: licenses
attributes:
label: Licenses Provided
description: Which CC licenses or Public Domain tools are in use by the source (if known)
validations:
required: true
- type: checkboxes
id: implementation
attributes:
label: Implementation
options:
- label: 🙋 I would be interested in implementing this feature.
required: false

0 comments on commit 926e6d4

Please sign in to comment.