diff --git a/homeassistant/components/feedreader/event.py b/homeassistant/components/feedreader/event.py index 578b5b1e175..95476071c19 100644 --- a/homeassistant/components/feedreader/event.py +++ b/homeassistant/components/feedreader/event.py @@ -19,6 +19,9 @@ from .coordinator import FeedReaderCoordinator LOGGER = logging.getLogger(__name__) +# Coordinator is used to centralize the data updates +PARALLEL_UPDATES = 0 + ATTR_CONTENT = "content" ATTR_DESCRIPTION = "description" ATTR_LINK = "link" diff --git a/homeassistant/components/feedreader/manifest.json b/homeassistant/components/feedreader/manifest.json index 088b116d167..ca4f902538d 100644 --- a/homeassistant/components/feedreader/manifest.json +++ b/homeassistant/components/feedreader/manifest.json @@ -6,5 +6,6 @@ "documentation": "https://www.home-assistant.io/integrations/feedreader", "iot_class": "cloud_polling", "loggers": ["feedparser", "sgmllib3k"], + "quality_scale": "silver", "requirements": ["feedparser==6.0.11"] } diff --git a/homeassistant/components/feedreader/quality_scale.yaml b/homeassistant/components/feedreader/quality_scale.yaml new file mode 100644 index 00000000000..046a309d797 --- /dev/null +++ b/homeassistant/components/feedreader/quality_scale.yaml @@ -0,0 +1,88 @@ +rules: + # Bronze + action-setup: + status: exempt + comment: No custom actions are defined. + appropriate-polling: done + brands: done + common-modules: done + config-flow-test-coverage: done + config-flow: done + dependency-transparency: done + docs-actions: + status: exempt + comment: No custom actions are defined. + docs-high-level-description: done + docs-installation-instructions: done + docs-removal-instructions: done + entity-event-setup: done + entity-unique-id: done + has-entity-name: done + runtime-data: done + test-before-configure: done + test-before-setup: done + unique-config-entry: done + + # Silver + action-exceptions: + status: exempt + comment: No custom actions are defined. + config-entry-unloading: done + docs-configuration-parameters: done + docs-installation-parameters: done + entity-unavailable: done + integration-owner: done + log-when-unavailable: done + parallel-updates: done + reauthentication-flow: + status: exempt + comment: No authentication support. + test-coverage: done + + # Gold + devices: done + diagnostics: todo + discovery-update-info: + status: exempt + comment: No discovery support. + discovery: + status: exempt + comment: No discovery support. + docs-data-update: done + docs-examples: done + docs-known-limitations: todo + docs-supported-devices: todo + docs-supported-functions: todo + docs-troubleshooting: todo + docs-use-cases: done + dynamic-devices: + status: exempt + comment: Each config entry, represents one service. + entity-category: done + entity-device-class: + status: exempt + comment: Matches no available event entity class. + entity-disabled-by-default: + status: exempt + comment: Only one entity per config entry.. + entity-translations: todo + exception-translations: todo + icon-translations: done + reconfiguration-flow: done + repair-issues: + status: done + comment: Only one repair-issue for yaml-import defined. + stale-devices: + status: exempt + comment: Each config entry, represents one service. + + # Platinum + async-dependency: + status: todo + comment: feedparser lib is not async. + inject-websession: + status: todo + comment: feedparser lib doesn't take a session as argument. + strict-typing: + status: todo + comment: feedparser lib is not fully typed. diff --git a/script/hassfest/quality_scale.py b/script/hassfest/quality_scale.py index 5885b4acb1f..e9bb93b521f 100644 --- a/script/hassfest/quality_scale.py +++ b/script/hassfest/quality_scale.py @@ -373,7 +373,6 @@ INTEGRATIONS_WITHOUT_QUALITY_SCALE_FILE = [ "fail2ban", "familyhub", "fastdotcom", - "feedreader", "ffmpeg_motion", "ffmpeg_noise", "fibaro", @@ -1421,7 +1420,6 @@ INTEGRATIONS_WITHOUT_SCALE = [ "fail2ban", "familyhub", "fastdotcom", - "feedreader", "ffmpeg_motion", "ffmpeg_noise", "fibaro",