-
Notifications
You must be signed in to change notification settings - Fork 170
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #230 from lyu4321/issue-176
- Loading branch information
Showing
4 changed files
with
129 additions
and
97 deletions.
There are no files selected for viewing
76 changes: 0 additions & 76 deletions
76
.github/ISSUE_TEMPLATE/image_provider_api_integration_request.md
This file was deleted.
Oops, something went wrong.
93 changes: 93 additions & 0 deletions
93
.github/ISSUE_TEMPLATE/image_provider_api_integration_request.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |