hacs / integration

HACS gives you a powerful UI to handle downloads of all your custom needs.
https://hacs.xyz
MIT License
4.92k stars 1.23k forks source link

Update issue with 1.3.1 on Windows #1431

Closed FredericMa closed 3 years ago

FredericMa commented 3 years ago

Installation details

Description Value
HACS version 1.3.1
Home Assistant version 0.113.3
Installation method for HA HA Core on Windows

Checklist

Describe the issue

After upgrading from 1.2.2 I get see the stack trace below in the log files and HACS is not available:

2020-08-03 13:30:52 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry  for hacs
Traceback (most recent call last):
  File "d:\homeassistant\lib\site-packages\homeassistant\config_entries.py", line 219, in async_setup
    result = await component.async_setup_entry(  # type: ignore
  File "D:\HomeAssistant\Config\custom_components\hacs\__init__.py", line 30, in async_setup_entry
    return await hacs_ui_setup(hass, config_entry)
  File "D:\HomeAssistant\Config\custom_components\hacs\operational\setup.py", line 61, in async_setup_entry
    return await async_startup_wrapper_for_config_entry()
  File "D:\HomeAssistant\Config\custom_components\hacs\operational\setup.py", line 86, in async_startup_wrapper_for_config_entry
    startup_result = await async_hacs_startup()
  File "D:\HomeAssistant\Config\custom_components\hacs\operational\setup.py", line 165, in async_hacs_startup
    if not await async_load_hacs_repository():
  File "D:\HomeAssistant\Config\custom_components\hacs\operational\setup_actions\load_hacs_repository.py", line 17, in async_load_hacs_repository
    await register_repository("hacs/integration", "integration")
  File "D:\HomeAssistant\Config\custom_components\hacs\helpers\functions\register_repository.py", line 29, in register_repository
    await repository.async_registration(ref)
  File "D:\HomeAssistant\Config\custom_components\hacs\helpers\methods\registration.py", line 37, in async_registration
    await self.async_post_registration()
  File "D:\HomeAssistant\Config\custom_components\hacs\helpers\methods\registration.py", line 42, in async_post_registration
    await async_run_repository_checks(self)
  File "D:\HomeAssistant\Config\custom_components\hacs\validate\__init__.py", line 24, in async_run_repository_checks
    await async_initialize_rules()
  File "D:\HomeAssistant\Config\custom_components\hacs\validate\__init__.py", line 18, in async_initialize_rules
    await hass.async_add_executor_job(_initialize_rules)
  File "c:\Python3\lib\concurrent\futures\thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "D:\HomeAssistant\Config\custom_components\hacs\validate\__init__.py", line 13, in _initialize_rules
    importlib.import_module(rule)
  File "c:\Python3\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'custom_components.hacsD:\\HomeAssistant\\Config\\custom_components\\hacs\\validate\\common\\hacs_manifest'

Steps to reproduce

I clicked the update button in the UI and restarted HA.

Debug logs

Logs ```text 2020-08-03 13:46:36 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant. 2020-08-03 13:46:36 WARNING (Recorder) [homeassistant.components.recorder] Ended unfinished session (id=420 from 2020-08-03 11:30:46) 2020-08-03 13:46:36 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for programmable_thermostat which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant. 2020-08-03 13:46:38 DEBUG (MainThread) [custom_components.hacs] Configuration type: flow 2020-08-03 13:46:38 INFO (MainThread) [custom_components.hacs] ------------------------------------------------------------------- HACS (Home Assistant Community Store) Version: 1.3.1 This is a custom integration If you have any issues with this you need to open an issue here: https://github.com/hacs/integration/issues ------------------------------------------------------------------- 2020-08-03 13:46:39 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for afvalbeheer which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant. 2020-08-03 13:46:40 DEBUG (MainThread) [AIOGitHubAPI] 2020-08-03 13:46:40 DEBUG (MainThread) [AIOGitHubAPI] {'resources': {'core': {'limit': 5000, 'remaining': 4990, 'reset': 1596457562}, 'search': {'limit': 30, 'remaining': 30, 'reset': 1596455260}, 'graphql': {'limit': 5000, 'remaining': 5000, 'reset': 1596458800}, 'integration_manifest': {'limit': 5000, 'remaining': 5000, 'reset': 1596458800}, 'source_import': {'limit': 100, 'remaining': 100, 'reset': 1596455260}}, 'rate': {'limit': 5000, 'remaining': 4990, 'reset': 1596457562}} 2020-08-03 13:46:40 DEBUG (MainThread) [custom_components.hacs] Can update 489 repositories 2020-08-03 13:46:41 DEBUG (MainThread) [custom_components.hacs.repository.integration.hacs.integration] Checking repository. 2020-08-03 13:46:41 DEBUG (MainThread) [AIOGitHubAPI] 2020-08-03 13:46:41 DEBUG (MainThread) [AIOGitHubAPI] {'id': 172733314, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNzI3MzMzMTQ=', 'name': 'integration', 'full_name': 'hacs/integration', 'private': False, 'owner': {'login': 'hacs', 'id': 56713226, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjU2NzEzMjI2', 'avatar_url': 'https://avatars0.githubusercontent.com/u/56713226?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hacs', 'html_url': 'https://github.com/hacs', 'followers_url': 'https://api.github.com/users/hacs/followers', 'following_url': 'https://api.github.com/users/hacs/following{/other_user}', 'gists_url': 'https://api.github.com/users/hacs/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hacs/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hacs/subscriptions', 'organizations_url': 'https://api.github.com/users/hacs/orgs', 'repos_url': 'https://api.github.com/users/hacs/repos', 'events_url': 'https://api.github.com/users/hacs/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hacs/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/hacs/integration', 'description': 'HACS gives you a powerful UI to handle downloads of all your custom needs.', 'fork': False, 'url': 'https://api.github.com/repos/hacs/integration', 'forks_url': 'https://api.github.com/repos/hacs/integration/forks', 'keys_url': 'https://api.github.com/repos/hacs/integration/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/hacs/integration/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/hacs/integration/teams', 'hooks_url': 'https://api.github.com/repos/hacs/integration/hooks', 'issue_events_url': 'https://api.github.com/repos/hacs/integration/issues/events{/number}', 'events_url': 'https://api.github.com/repos/hacs/integration/events', 'assignees_url': 'https://api.github.com/repos/hacs/integration/assignees{/user}', 'branches_url': 'https://api.github.com/repos/hacs/integration/branches{/branch}', 'tags_url': 'https://api.github.com/repos/hacs/integration/tags', 'blobs_url': 'https://api.github.com/repos/hacs/integration/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/hacs/integration/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/hacs/integration/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/hacs/integration/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/hacs/integration/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/hacs/integration/languages', 'stargazers_url': 'https://api.github.com/repos/hacs/integration/stargazers', 'contributors_url': 'https://api.github.com/repos/hacs/integration/contributors', 'subscribers_url': 'https://api.github.com/repos/hacs/integration/subscribers', 'subscription_url': 'https://api.github.com/repos/hacs/integration/subscription', 'commits_url': 'https://api.github.com/repos/hacs/integration/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/hacs/integration/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/hacs/integration/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/hacs/integration/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/hacs/integration/contents/{+path}', 'compare_url': 'https://api.github.com/repos/hacs/integration/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/hacs/integration/merges', 'archive_url': 'https://api.github.com/repos/hacs/integration/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/hacs/integration/downloads', 'issues_url': 'https://api.github.com/repos/hacs/integration/issues{/number}', 'pulls_url': 'https://api.github.com/repos/hacs/integration/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/hacs/integration/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/hacs/integration/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/hacs/integration/labels{/name}', 'releases_url': 'https://api.github.com/repos/hacs/integration/releases{/id}', 'deployments_url': 'https://api.github.com/repos/hacs/integration/deployments', 'created_at': '2019-02-26T15:01:10Z', 'updated_at': '2020-08-03T11:33:29Z', 'pushed_at': '2020-08-02T17:11:50Z', 'git_url': 'git://github.com/hacs/integration.git', 'ssh_url': 'git@github.com:hacs/integration.git', 'clone_url': 'https://github.com/hacs/integration.git', 'svn_url': 'https://github.com/hacs/integration', 'homepage': 'https://hacs.xyz/', 'size': 9163, 'stargazers_count': 1183, 'watchers_count': 1183, 'language': 'Python', 'has_issues': True, 'has_projects': False, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'forks_count': 304, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 12, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'topics': ['community', 'hacs', 'home-assistant', 'integration', 'package-manager', 'python'], 'forks': 304, 'open_issues': 12, 'watchers': 1183, 'default_branch': 'main', 'permissions': {'admin': False, 'push': False, 'pull': True}, 'temp_clone_token': '', 'organization': {'login': 'hacs', 'id': 56713226, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjU2NzEzMjI2', 'avatar_url': 'https://avatars0.githubusercontent.com/u/56713226?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hacs', 'html_url': 'https://github.com/hacs', 'followers_url': 'https://api.github.com/users/hacs/followers', 'following_url': 'https://api.github.com/users/hacs/following{/other_user}', 'gists_url': 'https://api.github.com/users/hacs/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hacs/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hacs/subscriptions', 'organizations_url': 'https://api.github.com/users/hacs/orgs', 'repos_url': 'https://api.github.com/users/hacs/repos', 'events_url': 'https://api.github.com/users/hacs/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hacs/received_events', 'type': 'Organization', 'site_admin': False}, 'network_count': 304, 'subscribers_count': 42} 2020-08-03 13:46:41 DEBUG (MainThread) [AIOGitHubAPI] ; rel="next", ; rel="last"', 'Access-Control-Expose-Headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset', 'Access-Control-Allow-Origin': '*', 'Strict-Transport-Security': 'max-age=31536000; includeSubdomains; preload', 'X-Frame-Options': 'deny', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '1; mode=block', 'Referrer-Policy': 'origin-when-cross-origin, strict-origin-when-cross-origin', 'Content-Security-Policy': "default-src 'none'", 'Vary': 'Accept-Encoding, Accept, X-Requested-With', 'Content-Encoding': 'gzip', 'Vary': 'Accept-Encoding', 'X-GitHub-Request-Id': 'E952:E25D:8C26E24:AADBDF3:5F27F921')> 2020-08-03 13:46:41 DEBUG (MainThread) [custom_components.hacs.repository.integration.hacs.integration] Running checks against 1.3.1 2020-08-03 13:46:41 DEBUG (MainThread) [AIOGitHubAPI] 2020-08-03 13:46:41 DEBUG (MainThread) [AIOGitHubAPI] {'sha': 'b189c33071261de3d3df5376627bf7573c952657', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/b189c33071261de3d3df5376627bf7573c952657', 'tree': [{'path': '.bellybutton.yml', 'mode': '100644', 'type': 'blob', 'sha': 'd4aa40cda4e94ccc7fa80fbfba10e67569a15c5e', 'size': 390, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/d4aa40cda4e94ccc7fa80fbfba10e67569a15c5e'}, {'path': '.codeclimate.yml', 'mode': '100644', 'type': 'blob', 'sha': '0d4af573c316b255534ccfee6cf2c2d558230027', 'size': 227, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/0d4af573c316b255534ccfee6cf2c2d558230027'}, {'path': '.codecov.yml', 'mode': '100644', 'type': 'blob', 'sha': '0bd8d32d11ca39b6c052019c96a86817656528ab', 'size': 507, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/0bd8d32d11ca39b6c052019c96a86817656528ab'}, {'path': '.coveragerc', 'mode': '100644', 'type': 'blob', 'sha': '5a8b73d20b82b32d6bf729611cca95946d95944a', 'size': 623, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/5a8b73d20b82b32d6bf729611cca95946d95944a'}, {'path': '.devcontainer', 'mode': '040000', 'type': 'tree', 'sha': '51066226d3e452679fb3c5b983cc7d7bde793f19', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/51066226d3e452679fb3c5b983cc7d7bde793f19'}, {'path': '.devcontainer/devcontainer.json', 'mode': '100644', 'type': 'blob', 'sha': 'b71ceffd8c65e53d1e4c34b9d13b8f8ebfc4d47e', 'size': 896, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/b71ceffd8c65e53d1e4c34b9d13b8f8ebfc4d47e'}, {'path': '.devcontainer/sample_configuration.yaml', 'mode': '100644', 'type': 'blob', 'sha': '953911d57d67a8cecf07adf0683dc13ac460f61e', 'size': 372, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/953911d57d67a8cecf07adf0683dc13ac460f61e'}, {'path': '.github', 'mode': '040000', 'type': 'tree', 'sha': '46a7a817422cfab0d976806aa4ba6a8f102258ec', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/46a7a817422cfab0d976806aa4ba6a8f102258ec'}, {'path': '.github/ISSUE_TEMPLATE', 'mode': '040000', 'type': 'tree', 'sha': '591e2140eb4cc9b9387e5284de5d08dd0475dcfd', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/591e2140eb4cc9b9387e5284de5d08dd0475dcfd'}, {'path': '.github/ISSUE_TEMPLATE/config,yml', 'mode': '100644', 'type': 'blob', 'sha': 'd76b19a542624a3bc07636825c7a08c69c997f66', 'size': 390, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/d76b19a542624a3bc07636825c7a08c69c997f66'}, {'path': '.github/ISSUE_TEMPLATE/feature_request.md', 'mode': '100644', 'type': 'blob', 'sha': 'a31f70e372e283a11fffe49f6465d6f94c88eb7d', 'size': 710, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/a31f70e372e283a11fffe49f6465d6f94c88eb7d'}, {'path': '.github/ISSUE_TEMPLATE/flag.md', 'mode': '100644', 'type': 'blob', 'sha': '535ac7dbab7433548c7654976cf54f13e8a7d655', 'size': 421, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/535ac7dbab7433548c7654976cf54f13e8a7d655'}, {'path': '.github/ISSUE_TEMPLATE/issue_backend.md', 'mode': '100644', 'type': 'blob', 'sha': '0d1cdab8ded5328ffd701e341f895dcee4dd1d3a', 'size': 1654, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/0d1cdab8ded5328ffd701e341f895dcee4dd1d3a'}, {'path': '.github/ISSUE_TEMPLATE/issue_bot.md', 'mode': '100644', 'type': 'blob', 'sha': 'c7a3561a01f2279a939234fc26e74bf37c9cc4a8', 'size': 218, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/c7a3561a01f2279a939234fc26e74bf37c9cc4a8'}, {'path': '.github/ISSUE_TEMPLATE/issue_documentation.md', 'mode': '100644', 'type': 'blob', 'sha': 'f84c8e0d1af673cf53556f48dd9824f37f058326', 'size': 338, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/f84c8e0d1af673cf53556f48dd9824f37f058326'}, {'path': '.github/ISSUE_TEMPLATE/issue_frondend.md', 'mode': '100644', 'type': 'blob', 'sha': '2f049a5f69783eb50738605e26cf70dc89ab3e8c', 'size': 1707, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/2f049a5f69783eb50738605e26cf70dc89ab3e8c'}, {'path': '.github/matchers', 'mode': '040000', 'type': 'tree', 'sha': 'e36d3a4ec6fa407dd6a3d92b8afa5d58cabd892b', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/e36d3a4ec6fa407dd6a3d92b8afa5d58cabd892b'}, {'path': '.github/matchers/bellybutton.json', 'mode': '100644', 'type': 'blob', 'sha': 'cfb30615294375987fb55b5c5e4bc9f35b5d4f0e', 'size': 316, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/cfb30615294375987fb55b5c5e4bc9f35b5d4f0e'}, {'path': '.github/pre-commit-config.yaml', 'mode': '100644', 'type': 'blob', 'sha': 'dd1f5f1a44649b4f2a5b7a3ed922df02d909fb56', 'size': 1014, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/dd1f5f1a44649b4f2a5b7a3ed922df02d909fb56'}, {'path': '.github/workflows', 'mode': '040000', 'type': 'tree', 'sha': '4ad92b4aac6df8190e6c3a7c29711e9fcba0ccab', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/4ad92b4aac6df8190e6c3a7c29711e9fcba0ccab'}, {'path': '.github/workflows/codecov.yml', 'mode': '100644', 'type': 'blob', 'sha': '39355f7db41ad14273e5ebb3e94f69537701aef2', 'size': 715, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/39355f7db41ad14273e5ebb3e94f69537701aef2'}, {'path': '.github/workflows/cron.yml', 'mode': '100644', 'type': 'blob', 'sha': '4d027c81f2bbecf46a1c0f0ab31a8bc12d9a1d60', 'size': 1299, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/4d027c81f2bbecf46a1c0f0ab31a8bc12d9a1d60'}, {'path': '.github/workflows/homeassistant.yml', 'mode': '100644', 'type': 'blob', 'sha': 'ea29e462214bd12be8566f0bca4aa4db8b390eb3', 'size': 1090, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/ea29e462214bd12be8566f0bca4aa4db8b390eb3'}, {'path': '.github/workflows/lint.yaml', 'mode': '100644', 'type': 'blob', 'sha': 'f1074ccbdab9f7be3d331f0515cf27f596a20fdb', 'size': 1462, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/f1074ccbdab9f7be3d331f0515cf27f596a20fdb'}, {'path': '.github/workflows/release.yml', 'mode': '100644', 'type': 'blob', 'sha': '45ed3f5b6d11f3bede97abe7910d555a6ad96a53', 'size': 2768, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/45ed3f5b6d11f3bede97abe7910d555a6ad96a53'}, {'path': '.github/workflows/validate.yml', 'mode': '100644', 'type': 'blob', 'sha': 'c333c6974fab818bf37f59b14caa4a16bd873ea6', 'size': 623, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/c333c6974fab818bf37f59b14caa4a16bd873ea6'}, {'path': '.gitignore', 'mode': '100644', 'type': 'blob', 'sha': '3cec709cb7c255efaca4cbb40f0eca213bbb295b', 'size': 245, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/3cec709cb7c255efaca4cbb40f0eca213bbb295b'}, {'path': '.vscode', 'mode': '040000', 'type': 'tree', 'sha': 'fab5d7a2e7be691a1461e0dfd3f1652126198b36', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/fab5d7a2e7be691a1461e0dfd3f1652126198b36'}, {'path': '.vscode/tasks.json', 'mode': '100644', 'type': 'blob', 'sha': 'd9de476538784db1c2701a47bfbb39efc1b042c3', 'size': 862, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/d9de476538784db1c2701a47bfbb39efc1b042c3'}, {'path': 'LICENSE', 'mode': '100644', 'type': 'blob', 'sha': '3c7e5ad567c28598dab7c798cd71c82f9cc595e0', 'size': 1082, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/3c7e5ad567c28598dab7c798cd71c82f9cc595e0'}, {'path': 'Makefile', 'mode': '100644', 'type': 'blob', 'sha': '949fe02fbf6906c1657d135b8af454450f4a0e80', 'size': 1867, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/949fe02fbf6906c1657d135b8af454450f4a0e80'}, {'path': 'README.md', 'mode': '100644', 'type': 'blob', 'sha': 'a0394f49b18b16bc6c60c8db424d87c2fd36c94a', 'size': 1657, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/a0394f49b18b16bc6c60c8db424d87c2fd36c94a'}, {'path': 'action', 'mode': '040000', 'type': 'tree', 'sha': '1d9d3174d1c3dce5792c81a75ef504ce9f006f85', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/1d9d3174d1c3dce5792c81a75ef504ce9f006f85'}, {'path': 'action/Dockerfile', 'mode': '100644', 'type': 'blob', 'sha': 'bb8f224120601b58586d9eb83dba8a46dceceec1', 'size': 169, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/bb8f224120601b58586d9eb83dba8a46dceceec1'}, {'path': 'action/action.py', 'mode': '100644', 'type': 'blob', 'sha': 'd8081c5ac85460f3c8efeddf6615772932422e75', 'size': 4146, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/d8081c5ac85460f3c8efeddf6615772932422e75'}, {'path': 'action/action.yaml', 'mode': '100644', 'type': 'blob', 'sha': '9a399589c4ff3b19bd16617238553b17bd7d65a6', 'size': 324, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/9a399589c4ff3b19bd16617238553b17bd7d65a6'}, {'path': 'custom_components', 'mode': '040000', 'type': 'tree', 'sha': '456b4fba7a8db156931fe9bcd003c144dd847572', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/456b4fba7a8db156931fe9bcd003c144dd847572'}, {'path': 'custom_components/hacs', 'mode': '040000', 'type': 'tree', 'sha': 'b4e4c1741908a87d98d125a5a7ad908b5b3faac3', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/b4e4c1741908a87d98d125a5a7ad908b5b3faac3'}, {'path': 'custom_components/hacs/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': '839a2f37f3632b6d4333d99925880bb4e276d800', 'size': 920, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/839a2f37f3632b6d4333d99925880bb4e276d800'}, {'path': 'custom_components/hacs/api', 'mode': '040000', 'type': 'tree', 'sha': 'c4345fe497113b855dd877eaaeb39051199d0797', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/c4345fe497113b855dd877eaaeb39051199d0797'}, {'path': 'custom_components/hacs/api/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': 'f8017b365e29d871007562ef89bece2673d4667a', 'size': 26, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/f8017b365e29d871007562ef89bece2673d4667a'}, {'path': 'custom_components/hacs/api/acknowledge_critical_repository.py', 'mode': '100644', 'type': 'blob', 'sha': '02235b21d00fd0a9793364e083c2d3dbe158cf5e', 'size': 910, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/02235b21d00fd0a9793364e083c2d3dbe158cf5e'}, {'path': 'custom_components/hacs/api/check_local_path.py', 'mode': '100644', 'type': 'blob', 'sha': '7857c850d6160dc50c62cfd8e335181671de9e2a', 'size': 738, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/7857c850d6160dc50c62cfd8e335181671de9e2a'}, {'path': 'custom_components/hacs/api/get_critical_repositories.py', 'mode': '100644', 'type': 'blob', 'sha': '35f2c9462f1e36b109a0ae5b5748a8d027328068', 'size': 608, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/35f2c9462f1e36b109a0ae5b5748a8d027328068'}, {'path': 'custom_components/hacs/api/hacs_config.py', 'mode': '100644', 'type': 'blob', 'sha': 'd3efdd044a3f82f3a96c2e3a6c296c8e5ca39683', 'size': 1054, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/d3efdd044a3f82f3a96c2e3a6c296c8e5ca39683'}, {'path': 'custom_components/hacs/api/hacs_removed.py', 'mode': '100644', 'type': 'blob', 'sha': 'b9bae8b8fc682fe4b8de7ced6fbc8d63ac9449cb', 'size': 564, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/b9bae8b8fc682fe4b8de7ced6fbc8d63ac9449cb'}, {'path': 'custom_components/hacs/api/hacs_repositories.py', 'mode': '100644', 'type': 'blob', 'sha': 'a2993756d58ab652ece01b3e1f7d3986b1b5c147', 'size': 2797, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/a2993756d58ab652ece01b3e1f7d3986b1b5c147'}, {'path': 'custom_components/hacs/api/hacs_repository.py', 'mode': '100644', 'type': 'blob', 'sha': 'f04b31dc195e8087c14eafa3a8e0c1954522628f', 'size': 3520, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/f04b31dc195e8087c14eafa3a8e0c1954522628f'}, {'path': 'custom_components/hacs/api/hacs_repository_data.py', 'mode': '100644', 'type': 'blob', 'sha': 'da923870234f000092d37b338b8355fbadad3497', 'size': 3874, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/da923870234f000092d37b338b8355fbadad3497'}, {'path': 'custom_components/hacs/api/hacs_settings.py', 'mode': '100644', 'type': 'blob', 'sha': '8e80a14a4897ed1de6c7a6024884cdf281bbb284', 'size': 1676, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/8e80a14a4897ed1de6c7a6024884cdf281bbb284'}, {'path': 'custom_components/hacs/api/hacs_status.py', 'mode': '100644', 'type': 'blob', 'sha': 'f2cdf61332cf8339edfd0f2a7186358f6cd1279d', 'size': 865, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/f2cdf61332cf8339edfd0f2a7186358f6cd1279d'}, {'path': 'custom_components/hacs/config_flow.py', 'mode': '100644', 'type': 'blob', 'sha': '9e6d6cd2b39e7c5cfaf6cab1d32c81bca5b71ae5', 'size': 3516, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/9e6d6cd2b39e7c5cfaf6cab1d32c81bca5b71ae5'}, {'path': 'custom_components/hacs/const.py', 'mode': '100644', 'type': 'blob', 'sha': 'ea96d6a8ea833afcc17371c5ddd6a1fa9631220c', 'size': 3705, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/ea96d6a8ea833afcc17371c5ddd6a1fa9631220c'}, {'path': 'custom_components/hacs/hacsbase', 'mode': '040000', 'type': 'tree', 'sha': '696e79281fe4afe3fd5f258df356caeb66f3ba08', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/696e79281fe4afe3fd5f258df356caeb66f3ba08'}, {'path': 'custom_components/hacs/hacsbase/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': 'e69de29bb2d1d6434b8b29ae775ad8c2e48c5391', 'size': 0, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/e69de29bb2d1d6434b8b29ae775ad8c2e48c5391'}, {'path': 'custom_components/hacs/hacsbase/configuration.py', 'mode': '100644', 'type': 'blob', 'sha': 'abbfc6174c2812d1b6b05e16c42e9e8aca70323f', 'size': 2256, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/abbfc6174c2812d1b6b05e16c42e9e8aca70323f'}, {'path': 'custom_components/hacs/hacsbase/data.py', 'mode': '100644', 'type': 'blob', 'sha': '0ac50219366a033bd1b11424525f4cfab58418ed', 'size': 7390, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/0ac50219366a033bd1b11424525f4cfab58418ed'}, {'path': 'custom_components/hacs/hacsbase/hacs.py', 'mode': '100644', 'type': 'blob', 'sha': '39e5680d5a4c24abba7774ebdec788f9ca155a97', 'size': 12553, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/39e5680d5a4c24abba7774ebdec788f9ca155a97'}, {'path': 'custom_components/hacs/helpers', 'mode': '040000', 'type': 'tree', 'sha': 'aabd8b52128ae7d8c0a316634c12c1143dfa966a', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/aabd8b52128ae7d8c0a316634c12c1143dfa966a'}, {'path': 'custom_components/hacs/helpers/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': '63504188f0e7c78909afcb22a58248611b6058d5', 'size': 491, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/63504188f0e7c78909afcb22a58248611b6058d5'}, {'path': 'custom_components/hacs/helpers/classes', 'mode': '040000', 'type': 'tree', 'sha': '7e1aeec979d2c80475503c20df142befc41f819c', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/7e1aeec979d2c80475503c20df142befc41f819c'}, {'path': 'custom_components/hacs/helpers/classes/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': 'e69de29bb2d1d6434b8b29ae775ad8c2e48c5391', 'size': 0, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/e69de29bb2d1d6434b8b29ae775ad8c2e48c5391'}, {'path': 'custom_components/hacs/helpers/classes/exceptions.py', 'mode': '100644', 'type': 'blob', 'sha': 'ee6f832ab1205882e25f32adf779b4ab0f4894a6', 'size': 167, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/ee6f832ab1205882e25f32adf779b4ab0f4894a6'}, {'path': 'custom_components/hacs/helpers/classes/frontend_view.py', 'mode': '100644', 'type': 'blob', 'sha': '9815f2182991c68079829af99176e9535b71df4c', 'size': 1256, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/9815f2182991c68079829af99176e9535b71df4c'}, {'path': 'custom_components/hacs/helpers/classes/manifest.py', 'mode': '100644', 'type': 'blob', 'sha': 'f303010036cd67474870a1d06302c132bed0f9ac', 'size': 1035, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/f303010036cd67474870a1d06302c132bed0f9ac'}, {'path': 'custom_components/hacs/helpers/classes/removed.py', 'mode': '100644', 'type': 'blob', 'sha': 'c8a45bad5c15e0c03812c8324184a125aa5f95eb', 'size': 588, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/c8a45bad5c15e0c03812c8324184a125aa5f95eb'}, {'path': 'custom_components/hacs/helpers/classes/repository.py', 'mode': '100644', 'type': 'blob', 'sha': 'a49d9be716d871601671ac7b0739b9fa16d13903', 'size': 13814, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/a49d9be716d871601671ac7b0739b9fa16d13903'}, {'path': 'custom_components/hacs/helpers/classes/repositorydata.py', 'mode': '100644', 'type': 'blob', 'sha': 'bf848e89669c7dcb6428f58ad6d09f996e7e7ba6', 'size': 4069, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/bf848e89669c7dcb6428f58ad6d09f996e7e7ba6'}, {'path': 'custom_components/hacs/helpers/classes/validate.py', 'mode': '100644', 'type': 'blob', 'sha': '716da9c4af2b8430bd5dbea04638c7d08cdc5184', 'size': 219, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/716da9c4af2b8430bd5dbea04638c7d08cdc5184'}, {'path': 'custom_components/hacs/helpers/functions', 'mode': '040000', 'type': 'tree', 'sha': '7b2ce15213f8bb041dfbad985899c511ffb2d10a', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/7b2ce15213f8bb041dfbad985899c511ffb2d10a'}, {'path': 'custom_components/hacs/helpers/functions/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': 'e69de29bb2d1d6434b8b29ae775ad8c2e48c5391', 'size': 0, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/e69de29bb2d1d6434b8b29ae775ad8c2e48c5391'}, {'path': 'custom_components/hacs/helpers/functions/configuration_schema.py', 'mode': '100644', 'type': 'blob', 'sha': 'dfe632be9b9461703242b86db155beebbe3d7ce8', 'size': 2303, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/dfe632be9b9461703242b86db155beebbe3d7ce8'}, {'path': 'custom_components/hacs/helpers/functions/constrains.py', 'mode': '100644', 'type': 'blob', 'sha': 'b9c049e9b9d477b3e12ab38a73fdea4ae011f02d', 'size': 1294, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/b9c049e9b9d477b3e12ab38a73fdea4ae011f02d'}, {'path': 'custom_components/hacs/helpers/functions/download.py', 'mode': '100644', 'type': 'blob', 'sha': '10faa03c06850c1e99646c860c4d27a2777ca6cb', 'size': 8185, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/10faa03c06850c1e99646c860c4d27a2777ca6cb'}, {'path': 'custom_components/hacs/helpers/functions/filters.py', 'mode': '100644', 'type': 'blob', 'sha': '4f9849119708e408d3b3fa0a453bfb0b055d072c', 'size': 1875, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/4f9849119708e408d3b3fa0a453bfb0b055d072c'}, {'path': 'custom_components/hacs/helpers/functions/get_list_from_default.py', 'mode': '100644', 'type': 'blob', 'sha': '682f6be827b11e53646032c098ef304339069430', 'size': 1134, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/682f6be827b11e53646032c098ef304339069430'}, {'path': 'custom_components/hacs/helpers/functions/information.py', 'mode': '100644', 'type': 'blob', 'sha': '2c2b52370e49b538faeeedd635ff6ea22e3d85ec', 'size': 7734, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/2c2b52370e49b538faeeedd635ff6ea22e3d85ec'}, {'path': 'custom_components/hacs/helpers/functions/logger.py', 'mode': '100644', 'type': 'blob', 'sha': '12b72fd3a676fdc9ebdaa7576db7a83aee551d93', 'size': 402, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/12b72fd3a676fdc9ebdaa7576db7a83aee551d93'}, {'path': 'custom_components/hacs/helpers/functions/misc.py', 'mode': '100644', 'type': 'blob', 'sha': 'aeb19ed83574b4b3d2b3455f365b27299901f535', 'size': 994, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/aeb19ed83574b4b3d2b3455f365b27299901f535'}, {'path': 'custom_components/hacs/helpers/functions/path_exsist.py', 'mode': '100644', 'type': 'blob', 'sha': '5e941d6df4fc1237b5d5d7b8c2ca802e90210ee1', 'size': 366, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/5e941d6df4fc1237b5d5d7b8c2ca802e90210ee1'}, {'path': 'custom_components/hacs/helpers/functions/register_repository.py', 'mode': '100644', 'type': 'blob', 'sha': '3111d95bf0aea3fe93008b5e95d8bc3f6893d522', 'size': 2549, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/3111d95bf0aea3fe93008b5e95d8bc3f6893d522'}, {'path': 'custom_components/hacs/helpers/functions/remaining_github_calls.py', 'mode': '100644', 'type': 'blob', 'sha': '6a9f4c173c03dad1eba8866b92b2099161417ef4', 'size': 943, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/6a9f4c173c03dad1eba8866b92b2099161417ef4'}, {'path': 'custom_components/hacs/helpers/functions/save.py', 'mode': '100644', 'type': 'blob', 'sha': '989081eddc3860c15776a029b117b1d6f94515d0', 'size': 1581, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/989081eddc3860c15776a029b117b1d6f94515d0'}, {'path': 'custom_components/hacs/helpers/functions/store.py', 'mode': '100644', 'type': 'blob', 'sha': 'd1b0b783dd413511a53cb0ce99513d85f4d07dbb', 'size': 1029, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/d1b0b783dd413511a53cb0ce99513d85f4d07dbb'}, {'path': 'custom_components/hacs/helpers/functions/template.py', 'mode': '100644', 'type': 'blob', 'sha': 'efeab8595fb9f6cba15837911a14c36d3e7e52fb', 'size': 1011, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/efeab8595fb9f6cba15837911a14c36d3e7e52fb'}, {'path': 'custom_components/hacs/helpers/functions/validate_repository.py', 'mode': '100644', 'type': 'blob', 'sha': '00b6252985ecdcb19f43c189c835dec71a42f6d3', 'size': 3673, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/00b6252985ecdcb19f43c189c835dec71a42f6d3'}, {'path': 'custom_components/hacs/helpers/functions/version_to_install.py', 'mode': '100644', 'type': 'blob', 'sha': '75dd4baf560f8b44e4084c67b92a535f0335ad47', 'size': 906, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/75dd4baf560f8b44e4084c67b92a535f0335ad47'}, {'path': 'custom_components/hacs/helpers/methods', 'mode': '040000', 'type': 'tree', 'sha': '66a55925050a2f58d83d2ff69eb1fd3e32a4c195', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/66a55925050a2f58d83d2ff69eb1fd3e32a4c195'}, {'path': 'custom_components/hacs/helpers/methods/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': '26d94227f2dd89e80e14740c742763e7aee54e72', 'size': 982, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/26d94227f2dd89e80e14740c742763e7aee54e72'}, {'path': 'custom_components/hacs/helpers/methods/installation.py', 'mode': '100644', 'type': 'blob', 'sha': 'fc96aa8daae67ed8a69e016ac8e25cadbcfc2ceb', 'size': 4236, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/fc96aa8daae67ed8a69e016ac8e25cadbcfc2ceb'}, {'path': 'custom_components/hacs/helpers/methods/registration.py', 'mode': '100644', 'type': 'blob', 'sha': 'ed576970debdd2733279ccd8050e4f334996a2b1', 'size': 1338, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/ed576970debdd2733279ccd8050e4f334996a2b1'}, {'path': 'custom_components/hacs/helpers/methods/reinstall_if_needed.py', 'mode': '100644', 'type': 'blob', 'sha': 'a83353bb0ac909a8b43f516e0bf0304498c1e601', 'size': 540, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/a83353bb0ac909a8b43f516e0bf0304498c1e601'}, {'path': 'custom_components/hacs/helpers/properties', 'mode': '040000', 'type': 'tree', 'sha': 'ba006eb1663d6aca3b2f44f0bec6a306a98befd8', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/ba006eb1663d6aca3b2f44f0bec6a306a98befd8'}, {'path': 'custom_components/hacs/helpers/properties/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': '4267caf1c9111bc7227999a49219dbd20e63b60d', 'size': 566, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/4267caf1c9111bc7227999a49219dbd20e63b60d'}, {'path': 'custom_components/hacs/helpers/properties/can_be_installed.py', 'mode': '100644', 'type': 'blob', 'sha': 'df6b4d64257cfb240dedf5b85d7b298dead00a8b', 'size': 721, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/df6b4d64257cfb240dedf5b85d7b298dead00a8b'}, {'path': 'custom_components/hacs/helpers/properties/custom.py', 'mode': '100644', 'type': 'blob', 'sha': '12954de34d7e72dacc0c30e2f3ea416a47a2e82d', 'size': 454, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/12954de34d7e72dacc0c30e2f3ea416a47a2e82d'}, {'path': 'custom_components/hacs/helpers/properties/pending_update.py', 'mode': '100644', 'type': 'blob', 'sha': '083930e868e2a9995e35fd4e34814e30f8474ddc', 'size': 842, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/083930e868e2a9995e35fd4e34814e30f8474ddc'}, {'path': 'custom_components/hacs/manifest.json', 'mode': '100644', 'type': 'blob', 'sha': 'd875a05bfc9ecd2b92135937f93e2928660c8483', 'size': 540, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/d875a05bfc9ecd2b92135937f93e2928660c8483'}, {'path': 'custom_components/hacs/operational', 'mode': '040000', 'type': 'tree', 'sha': '7eec630fa3ad90f5214442c467b482ba8329a40f', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/7eec630fa3ad90f5214442c467b482ba8329a40f'}, {'path': 'custom_components/hacs/operational/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': 'e69de29bb2d1d6434b8b29ae775ad8c2e48c5391', 'size': 0, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/e69de29bb2d1d6434b8b29ae775ad8c2e48c5391'}, {'path': 'custom_components/hacs/operational/backup.py', 'mode': '100644', 'type': 'blob', 'sha': 'f4c849b5861816c7367766a8d357bb92cea7e7e6', 'size': 4258, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/f4c849b5861816c7367766a8d357bb92cea7e7e6'}, {'path': 'custom_components/hacs/operational/factory.py', 'mode': '100644', 'type': 'blob', 'sha': '76835e933bbcb640646177e9357c2f2683c55380', 'size': 1809, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/76835e933bbcb640646177e9357c2f2683c55380'}, {'path': 'custom_components/hacs/operational/relaod.py', 'mode': '100644', 'type': 'blob', 'sha': '037887e6857afae21bd6d5d02560f3e55c3df491', 'size': 343, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/037887e6857afae21bd6d5d02560f3e55c3df491'}, {'path': 'custom_components/hacs/operational/remove.py', 'mode': '100644', 'type': 'blob', 'sha': '7c24f13b313f12e5d371c5a39f4b8bb6223c0fe2', 'size': 779, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/7c24f13b313f12e5d371c5a39f4b8bb6223c0fe2'}, {'path': 'custom_components/hacs/operational/runtime.py', 'mode': '100644', 'type': 'blob', 'sha': '95f5985b1d966f19df179a3812fc302c33dec82f', 'size': 17, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/95f5985b1d966f19df179a3812fc302c33dec82f'}, {'path': 'custom_components/hacs/operational/setup.py', 'mode': '100644', 'type': 'blob', 'sha': 'c8623fc1fdd14aba925f4805ec4e857b4448e85e', 'size': 6890, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/c8623fc1fdd14aba925f4805ec4e857b4448e85e'}, {'path': 'custom_components/hacs/operational/setup_actions', 'mode': '040000', 'type': 'tree', 'sha': '27cc68ae9757cf531d76125372913739923f421b', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/27cc68ae9757cf531d76125372913739923f421b'}, {'path': 'custom_components/hacs/operational/setup_actions/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': 'e69de29bb2d1d6434b8b29ae775ad8c2e48c5391', 'size': 0, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/e69de29bb2d1d6434b8b29ae775ad8c2e48c5391'}, {'path': 'custom_components/hacs/operational/setup_actions/categories.py', 'mode': '100644', 'type': 'blob', 'sha': '31e90187c54fd4a976856ee6fa6569be4d818dcc', 'size': 730, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/31e90187c54fd4a976856ee6fa6569be4d818dcc'}, {'path': 'custom_components/hacs/operational/setup_actions/clear_storage.py', 'mode': '100644', 'type': 'blob', 'sha': '1ede5a7e469e6cbf35035cbc003818cc5fd8847e', 'size': 664, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/1ede5a7e469e6cbf35035cbc003818cc5fd8847e'}, {'path': 'custom_components/hacs/operational/setup_actions/frontend.py', 'mode': '100644', 'type': 'blob', 'sha': '4f234ad82082a3e5728c616beeae7484c85d1f2f', 'size': 1424, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/4f234ad82082a3e5728c616beeae7484c85d1f2f'}, {'path': 'custom_components/hacs/operational/setup_actions/load_hacs_repository.py', 'mode': '100644', 'type': 'blob', 'sha': '31873401fd74a2b5aa0343994e454e7a05bed6d4', 'size': 1355, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/31873401fd74a2b5aa0343994e454e7a05bed6d4'}, {'path': 'custom_components/hacs/operational/setup_actions/sensor.py', 'mode': '100644', 'type': 'blob', 'sha': 'ef3a9c181d12c406c05e542af3fb1d3d6b298add', 'size': 775, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/ef3a9c181d12c406c05e542af3fb1d3d6b298add'}, {'path': 'custom_components/hacs/operational/setup_actions/websocket_api.py', 'mode': '100644', 'type': 'blob', 'sha': '77e4421b3369ac02173453c77f4de50235f8adcb', 'size': 1681, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/77e4421b3369ac02173453c77f4de50235f8adcb'}, {'path': 'custom_components/hacs/repositories', 'mode': '040000', 'type': 'tree', 'sha': 'df49d80d1e883c5d1a729fe29158db8e4e80af67', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/df49d80d1e883c5d1a729fe29158db8e4e80af67'}, {'path': 'custom_components/hacs/repositories/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': '91d89c4268dbe68860dc0f758c1885872dd665d2', 'size': 676, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/91d89c4268dbe68860dc0f758c1885872dd665d2'}, {'path': 'custom_components/hacs/repositories/appdaemon.py', 'mode': '100644', 'type': 'blob', 'sha': '9e10e58b2c5164a6b4e4cce56a1813e2bf064b40', 'size': 2630, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/9e10e58b2c5164a6b4e4cce56a1813e2bf064b40'}, {'path': 'custom_components/hacs/repositories/integration.py', 'mode': '100644', 'type': 'blob', 'sha': '20256777d8ae544e0e64d2e25505a5a193b230a6', 'size': 3649, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/20256777d8ae544e0e64d2e25505a5a193b230a6'}, {'path': 'custom_components/hacs/repositories/netdaemon.py', 'mode': '100644', 'type': 'blob', 'sha': '67806bbdcfca1ecbe39028d6058d36f003607bbd', 'size': 3115, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/67806bbdcfca1ecbe39028d6058d36f003607bbd'}, {'path': 'custom_components/hacs/repositories/plugin.py', 'mode': '100644', 'type': 'blob', 'sha': 'e344d5f76217e5fa6f120fcd932084272f41e529', 'size': 2667, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/e344d5f76217e5fa6f120fcd932084272f41e529'}, {'path': 'custom_components/hacs/repositories/python_script.py', 'mode': '100644', 'type': 'blob', 'sha': 'dde771b50c837a68630bad96a783a338f3b5542d', 'size': 2800, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/dde771b50c837a68630bad96a783a338f3b5542d'}, {'path': 'custom_components/hacs/repositories/theme.py', 'mode': '100644', 'type': 'blob', 'sha': 'fd2acf9c51199a0e33606f4bf01eaebb58b0afaf', 'size': 2675, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/fd2acf9c51199a0e33606f4bf01eaebb58b0afaf'}, {'path': 'custom_components/hacs/sensor.py', 'mode': '100644', 'type': 'blob', 'sha': '40a589b99bb640fac8ec339badaa60790109d875', 'size': 2821, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/40a589b99bb640fac8ec339badaa60790109d875'}, {'path': 'custom_components/hacs/share.py', 'mode': '100644', 'type': 'blob', 'sha': '6b12e119e49be520be22648ba0a2afe0edc5bf2e', 'size': 1456, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/6b12e119e49be520be22648ba0a2afe0edc5bf2e'}, {'path': 'custom_components/hacs/translations', 'mode': '040000', 'type': 'tree', 'sha': '3cabca49b13a0ff9e36fbb6b7ed4c63d94499317', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/3cabca49b13a0ff9e36fbb6b7ed4c63d94499317'}, {'path': 'custom_components/hacs/translations/en.json', 'mode': '100644', 'type': 'blob', 'sha': 'cd14eb99728bbcbb8ac20d60875e815db1106408', 'size': 1553, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/cd14eb99728bbcbb8ac20d60875e815db1106408'}, {'path': 'custom_components/hacs/validate', 'mode': '040000', 'type': 'tree', 'sha': 'c2b7d2053755d8fc68d56a2ee0c392bc9c6cd7b7', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/c2b7d2053755d8fc68d56a2ee0c392bc9c6cd7b7'}, {'path': 'custom_components/hacs/validate/README.md', 'mode': '100644', 'type': 'blob', 'sha': 'e0a7fd32a1b4d6371588905be08029ccebea94af', 'size': 1443, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/e0a7fd32a1b4d6371588905be08029ccebea94af'}, {'path': 'custom_components/hacs/validate/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': 'a076be66061d07fe10e2c686b30f2a7aef6b802c', 'size': 1444, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/a076be66061d07fe10e2c686b30f2a7aef6b802c'}, {'path': 'custom_components/hacs/validate/base.py', 'mode': '100644', 'type': 'blob', 'sha': '3d41d16822be9dd436ed4e44f9b257715379cca5', 'size': 1355, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/3d41d16822be9dd436ed4e44f9b257715379cca5'}, {'path': 'custom_components/hacs/validate/common', 'mode': '040000', 'type': 'tree', 'sha': '0f81f707f52e5d9dd3f8819400119c2defa03c68', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/0f81f707f52e5d9dd3f8819400119c2defa03c68'}, {'path': 'custom_components/hacs/validate/common/hacs_manifest.py', 'mode': '100644', 'type': 'blob', 'sha': '6701c1215ea4a1a929d4b94e37531592e0c08a4a', 'size': 323, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/6701c1215ea4a1a929d4b94e37531592e0c08a4a'}, {'path': 'custom_components/hacs/validate/common/repository_description.py', 'mode': '100644', 'type': 'blob', 'sha': '100de02763ce11ced65cf1aa73cc4f001fac2b3c', 'size': 302, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/100de02763ce11ced65cf1aa73cc4f001fac2b3c'}, {'path': 'custom_components/hacs/validate/common/repository_information_file.py', 'mode': '100644', 'type': 'blob', 'sha': '04479882def1b226e3a8a1939c876ce219dae250', 'size': 649, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/04479882def1b226e3a8a1939c876ce219dae250'}, {'path': 'custom_components/hacs/validate/common/repository_topics.py', 'mode': '100644', 'type': 'blob', 'sha': 'f6c5a22f13acc83870e823059200539adefa1daa', 'size': 292, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/f6c5a22f13acc83870e823059200539adefa1daa'}, {'path': 'custom_components/hacs/validate/integration', 'mode': '040000', 'type': 'tree', 'sha': 'ddf0a4e039ce097a0118a53eef743a9caef76daa', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/ddf0a4e039ce097a0118a53eef743a9caef76daa'}, {'path': 'custom_components/hacs/validate/integration/integration_manifest.py', 'mode': '100644', 'type': 'blob', 'sha': '41b1c971b384d55902eff0a46d1f85c7d463c4bc', 'size': 358, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/41b1c971b384d55902eff0a46d1f85c7d463c4bc'}, {'path': 'custom_components/hacs/webresponses', 'mode': '040000', 'type': 'tree', 'sha': '400fbccf57f26f20e0e45aadb017b0a0fd7936a8', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/400fbccf57f26f20e0e45aadb017b0a0fd7936a8'}, {'path': 'custom_components/hacs/webresponses/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': '4b9a8ba93f8f60e46f62f611e43434a005f1b5cd', 'size': 36, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/4b9a8ba93f8f60e46f62f611e43434a005f1b5cd'}, {'path': 'custom_components/hacs/webresponses/category.py', 'mode': '100644', 'type': 'blob', 'sha': '3102db32c5496cb3b2adc244f06a02f39a0165d4', 'size': 1279, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/3102db32c5496cb3b2adc244f06a02f39a0165d4'}, {'path': 'custom_components/hacs/webresponses/frontend.py', 'mode': '100644', 'type': 'blob', 'sha': '9e477e3096ed8d8a471a0358683c66c099b2609a', 'size': 1692, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/9e477e3096ed8d8a471a0358683c66c099b2609a'}, {'path': 'custom_components/hacs/webresponses/iconset.py', 'mode': '100644', 'type': 'blob', 'sha': '4e6f37cacc3e8be1420afcfa9470582265fb7c94', 'size': 3643, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/4e6f37cacc3e8be1420afcfa9470582265fb7c94'}, {'path': 'hacs.json', 'mode': '100644', 'type': 'blob', 'sha': 'd72efc82b19dabf17e53ff08a2c50c36768c2cce', 'size': 151, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/d72efc82b19dabf17e53ff08a2c50c36768c2cce'}, {'path': 'info.md', 'mode': '100644', 'type': 'blob', 'sha': '93dbea7127af147130e2195e8ac4cbcd9b1015fc', 'size': 659, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/93dbea7127af147130e2195e8ac4cbcd9b1015fc'}, {'path': 'manage', 'mode': '040000', 'type': 'tree', 'sha': '232fbe9e7443f39264fedfde135d7290e84aa542', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/232fbe9e7443f39264fedfde135d7290e84aa542'}, {'path': 'manage/generate_releasenotes.py', 'mode': '100644', 'type': 'blob', 'sha': 'ee1ecd93883044b1629cf3f86f6928bc2448b093', 'size': 5661, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/ee1ecd93883044b1629cf3f86f6928bc2448b093'}, {'path': 'manage/hacs', 'mode': '100644', 'type': 'blob', 'sha': 'fb9b6469e5891b9ed5b40c97cde591a27501fc83', 'size': 254, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/fb9b6469e5891b9ed5b40c97cde591a27501fc83'}, {'path': 'manage/integration_start', 'mode': '100644', 'type': 'blob', 'sha': '27dc67001e2e1a9731898d26f99bc734c7218f9a', 'size': 545, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/27dc67001e2e1a9731898d26f99bc734c7218f9a'}, {'path': 'manage/update_requirements.py', 'mode': '100644', 'type': 'blob', 'sha': '5f79a9937b536ef6921fbc555241bff961a78b4a', 'size': 1455, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/5f79a9937b536ef6921fbc555241bff961a78b4a'}, {'path': 'pytest.ini', 'mode': '100644', 'type': 'blob', 'sha': '379c18a9743ad69bd984018e3b44d0f686ccf2e4', 'size': 127, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/379c18a9743ad69bd984018e3b44d0f686ccf2e4'}, {'path': 'requirements.txt', 'mode': '100644', 'type': 'blob', 'sha': '5c5cd940c2dac4d9d8fdbfd29b8b97dd4085c7a2', 'size': 332, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/5c5cd940c2dac4d9d8fdbfd29b8b97dd4085c7a2'}, {'path': 'tests', 'mode': '040000', 'type': 'tree', 'sha': '89a38ed02afd901927312b1914479f076c84d568', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/89a38ed02afd901927312b1914479f076c84d568'}, {'path': 'tests/api', 'mode': '040000', 'type': 'tree', 'sha': '3fbf4eb2f61be68ec0dc6fe08fd5cfa693817817', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/3fbf4eb2f61be68ec0dc6fe08fd5cfa693817817'}, {'path': 'tests/api/test_api.py', 'mode': '100644', 'type': 'blob', 'sha': 'bdc95c5daa1fb4987f5bea17d211ad5469cac2d1', 'size': 1823, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/bdc95c5daa1fb4987f5bea17d211ad5469cac2d1'}, {'path': 'tests/common.py', 'mode': '100644', 'type': 'blob', 'sha': '7c52d0df0cb7a4ad3171dae0f7364f9e390dc239', 'size': 84, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/7c52d0df0cb7a4ad3171dae0f7364f9e390dc239'}, {'path': 'tests/dummy_repository.py', 'mode': '100644', 'type': 'blob', 'sha': '47c32ab29ff5cf69b0af99b162cfb096d04d6aa8', 'size': 2121, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/47c32ab29ff5cf69b0af99b162cfb096d04d6aa8'}, {'path': 'tests/hacsbase', 'mode': '040000', 'type': 'tree', 'sha': '1efc1c33b121d6e58a76f5851627d4db92694d29', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/1efc1c33b121d6e58a76f5851627d4db92694d29'}, {'path': 'tests/hacsbase/test_backup.py', 'mode': '100644', 'type': 'blob', 'sha': '6341be74186f821b4d31e66c9df1abe907e78fa4', 'size': 2362, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/6341be74186f821b4d31e66c9df1abe907e78fa4'}, {'path': 'tests/hacsbase/test_configuration.py', 'mode': '100644', 'type': 'blob', 'sha': '53bae3c3f01b75475e730a462715d712edc15c53', 'size': 1899, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/53bae3c3f01b75475e730a462715d712edc15c53'}, {'path': 'tests/hacsbase/test_hacs.py', 'mode': '100644', 'type': 'blob', 'sha': '8e2fe8ead8702ea9bbbf5d7ae90570ac9c5ea2ac', 'size': 953, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/8e2fe8ead8702ea9bbbf5d7ae90570ac9c5ea2ac'}, {'path': 'tests/hacsbase/test_hacsbase_data.py', 'mode': '100644', 'type': 'blob', 'sha': '6a40e4db387ff19b81d94d3c6d3164793744fc01', 'size': 1411, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/6a40e4db387ff19b81d94d3c6d3164793744fc01'}, {'path': 'tests/handler', 'mode': '040000', 'type': 'tree', 'sha': 'b1d98f38e1147563d020ed6f18de050e369a2e47', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/b1d98f38e1147563d020ed6f18de050e369a2e47'}, {'path': 'tests/handler/test_template.py', 'mode': '100644', 'type': 'blob', 'sha': '392ca54bb8219f929dba76aca42a30ef04ba0d92', 'size': 469, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/392ca54bb8219f929dba76aca42a30ef04ba0d92'}, {'path': 'tests/helpers', 'mode': '040000', 'type': 'tree', 'sha': '984fa2dd79866e393e95ecea898aa5452145ce9b', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/984fa2dd79866e393e95ecea898aa5452145ce9b'}, {'path': 'tests/helpers/classes', 'mode': '040000', 'type': 'tree', 'sha': '6c30644f5b6adcd3daba4f6232bfc5d25f66d56f', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/6c30644f5b6adcd3daba4f6232bfc5d25f66d56f'}, {'path': 'tests/helpers/classes/test_frontend_view_class.py', 'mode': '100644', 'type': 'blob', 'sha': 'ee383c17fc57b16d5fc10a979c4fd36be09b6853', 'size': 612, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/ee383c17fc57b16d5fc10a979c4fd36be09b6853'}, {'path': 'tests/helpers/classes/test_removed_class.py', 'mode': '100644', 'type': 'blob', 'sha': 'c95c90c6789e8e0d35b114990f76de2f32c2c3c4', 'size': 180, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/c95c90c6789e8e0d35b114990f76de2f32c2c3c4'}, {'path': 'tests/helpers/classes/test_validate_class.py', 'mode': '100644', 'type': 'blob', 'sha': '6ce063744ef7f37daf5c4d80c412e1c1263c0710', 'size': 213, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/6ce063744ef7f37daf5c4d80c412e1c1263c0710'}, {'path': 'tests/helpers/download', 'mode': '040000', 'type': 'tree', 'sha': '1478ef28effd01f93dd567ab8e299f318b52609f', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/1478ef28effd01f93dd567ab8e299f318b52609f'}, {'path': 'tests/helpers/download/test_download_content.py', 'mode': '100644', 'type': 'blob', 'sha': 'af39fc80a81f217d58bbfaefe7d8c319b2af5c8b', 'size': 3140, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/af39fc80a81f217d58bbfaefe7d8c319b2af5c8b'}, {'path': 'tests/helpers/download/test_gather_files_to_download.py', 'mode': '100644', 'type': 'blob', 'sha': 'b04788259e1efe950c53d90f8360fbe47c4e3525', 'size': 11231, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/b04788259e1efe950c53d90f8360fbe47c4e3525'}, {'path': 'tests/helpers/download/test_should_try_releases.py', 'mode': '100644', 'type': 'blob', 'sha': '5d16f6422152309a3247a1bb989bd58e676c2d3c', 'size': 1426, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/5d16f6422152309a3247a1bb989bd58e676c2d3c'}, {'path': 'tests/helpers/filters', 'mode': '040000', 'type': 'tree', 'sha': 'f568707bc34a87e68eed488fa158a4e794d6298e', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/f568707bc34a87e68eed488fa158a4e794d6298e'}, {'path': 'tests/helpers/filters/test_filter_content_return_one_of_type.py', 'mode': '100644', 'type': 'blob', 'sha': 'aff2e87da3844f744eedb717970eae9acdbf62be', 'size': 1231, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/aff2e87da3844f744eedb717970eae9acdbf62be'}, {'path': 'tests/helpers/filters/test_find_first_of_filetype.py', 'mode': '100644', 'type': 'blob', 'sha': '16f3be04790a1f09b221b6e3fe70d2a7c9bca6cb', 'size': 1174, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/16f3be04790a1f09b221b6e3fe70d2a7c9bca6cb'}, {'path': 'tests/helpers/filters/test_get_first_directory_in_directory.py', 'mode': '100644', 'type': 'blob', 'sha': 'bcfb0db5a157b67d94316b24dfef0dee747d563e', 'size': 1011, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/bcfb0db5a157b67d94316b24dfef0dee747d563e'}, {'path': 'tests/helpers/functions', 'mode': '040000', 'type': 'tree', 'sha': 'd2a2d87c0076bd3dc4397f60a256a2f6babc5de2', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/d2a2d87c0076bd3dc4397f60a256a2f6babc5de2'}, {'path': 'tests/helpers/functions/test_logger.py', 'mode': '100644', 'type': 'blob', 'sha': '18475df82ccd5787cd4dacb0242fb83362f3fffc', 'size': 195, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/18475df82ccd5787cd4dacb0242fb83362f3fffc'}, {'path': 'tests/helpers/information', 'mode': '040000', 'type': 'tree', 'sha': '337d138b10f55addd3ee5f2494ab8b2364792e5d', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/337d138b10f55addd3ee5f2494ab8b2364792e5d'}, {'path': 'tests/helpers/information/test_find_file_name.py', 'mode': '100644', 'type': 'blob', 'sha': '58aadd26e8d598764bb55b7e18aadc204df47bb0', 'size': 3591, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/58aadd26e8d598764bb55b7e18aadc204df47bb0'}, {'path': 'tests/helpers/information/test_get_frontend_version.py', 'mode': '100644', 'type': 'blob', 'sha': '1083acc259c626701360b73bf459ad54e8e27eff', 'size': 1038, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/1083acc259c626701360b73bf459ad54e8e27eff'}, {'path': 'tests/helpers/information/test_get_integration_manifest.py', 'mode': '100644', 'type': 'blob', 'sha': 'c94393771a3b1b0ffd050ca6a33cbd7c89091045', 'size': 6363, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/c94393771a3b1b0ffd050ca6a33cbd7c89091045'}, {'path': 'tests/helpers/information/test_get_releases.py', 'mode': '100644', 'type': 'blob', 'sha': '55c10443033f9d35fb526bb1024e74c8063b33e4', 'size': 2776, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/55c10443033f9d35fb526bb1024e74c8063b33e4'}, {'path': 'tests/helpers/information/test_get_repository.py', 'mode': '100644', 'type': 'blob', 'sha': 'fbedc97e183046e63fcaffca62cc2e8f00c91429', 'size': 1839, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/fbedc97e183046e63fcaffca62cc2e8f00c91429'}, {'path': 'tests/helpers/information/test_get_tree.py', 'mode': '100644', 'type': 'blob', 'sha': 'f2c570dde2328f45a3cae5b949ba887fa7ede224', 'size': 2873, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/f2c570dde2328f45a3cae5b949ba887fa7ede224'}, {'path': 'tests/helpers/information/test_info_file.py', 'mode': '100644', 'type': 'blob', 'sha': 'beef41f8b812d576030298d435d141db2dbf8184', 'size': 1710, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/beef41f8b812d576030298d435d141db2dbf8184'}, {'path': 'tests/helpers/information/test_read_hacs_manifest.py', 'mode': '100644', 'type': 'blob', 'sha': 'c4d06705bc583b21e2502fb5ef2e395b64121841', 'size': 971, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/c4d06705bc583b21e2502fb5ef2e395b64121841'}, {'path': 'tests/helpers/information/tree', 'mode': '040000', 'type': 'tree', 'sha': '86e214cc9739f726ee9bd3310f21f0436c12740d', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/86e214cc9739f726ee9bd3310f21f0436c12740d'}, {'path': 'tests/helpers/information/tree/test_base.py', 'mode': '100644', 'type': 'blob', 'sha': '9c1cbfe736d731ab7a1d1c52fe815ed299bd0b24', 'size': 1483, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/9c1cbfe736d731ab7a1d1c52fe815ed299bd0b24'}, {'path': 'tests/helpers/information/tree/test_integration.py', 'mode': '100644', 'type': 'blob', 'sha': 'ca0e3d4e9220ba4267bc942c4cf240ed69c1395b', 'size': 1751, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/ca0e3d4e9220ba4267bc942c4cf240ed69c1395b'}, {'path': 'tests/helpers/install', 'mode': '040000', 'type': 'tree', 'sha': '0523a4023890781fcf172a9ab236f42c380ba12e', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/0523a4023890781fcf172a9ab236f42c380ba12e'}, {'path': 'tests/helpers/install/test_version_to_install.py', 'mode': '100644', 'type': 'blob', 'sha': 'cb1c693c5ed92288564e4da115d83ced556cbc2e', 'size': 1995, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/cb1c693c5ed92288564e4da115d83ced556cbc2e'}, {'path': 'tests/helpers/methods', 'mode': '040000', 'type': 'tree', 'sha': 'a1c4f011868db5420b32a1f31bd19a298504d4b0', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/a1c4f011868db5420b32a1f31bd19a298504d4b0'}, {'path': 'tests/helpers/methods/test_installation_method.py', 'mode': '100644', 'type': 'blob', 'sha': 'eb2f0bfbccfcbefdee1fdc1cc45ea6de3877ae39', 'size': 1470, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/eb2f0bfbccfcbefdee1fdc1cc45ea6de3877ae39'}, {'path': 'tests/helpers/misc', 'mode': '040000', 'type': 'tree', 'sha': '6f26c9e96a1403b954c172e3f8203ed60d3879ba', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/6f26c9e96a1403b954c172e3f8203ed60d3879ba'}, {'path': 'tests/helpers/misc/test_get_repository_name.py', 'mode': '100644', 'type': 'blob', 'sha': 'e021d0e5642c47d977bb971c35874be663b40f9e', 'size': 1773, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/e021d0e5642c47d977bb971c35874be663b40f9e'}, {'path': 'tests/helpers/misc/test_version_is_newer_than_version.py', 'mode': '100644', 'type': 'blob', 'sha': '774fb02ce1bd2cc20cd7cbe9f43a88034d6aac01', 'size': 1368, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/774fb02ce1bd2cc20cd7cbe9f43a88034d6aac01'}, {'path': 'tests/helpers/validate_repository', 'mode': '040000', 'type': 'tree', 'sha': '53f2f7c6a1b14347ddefe41b55d3d34351ea3cc2', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/53f2f7c6a1b14347ddefe41b55d3d34351ea3cc2'}, {'path': 'tests/helpers/validate_repository/test_common_validate.py', 'mode': '100644', 'type': 'blob', 'sha': '0b23f4a13c009ef978fc7774c65134ddacd1a730', 'size': 9272, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/0b23f4a13c009ef978fc7774c65134ddacd1a730'}, {'path': 'tests/operational', 'mode': '040000', 'type': 'tree', 'sha': '7e8506745e7a0ee9bbd12dc15cc556e111452374', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/7e8506745e7a0ee9bbd12dc15cc556e111452374'}, {'path': 'tests/operational/setup_actions', 'mode': '040000', 'type': 'tree', 'sha': '0ff22c9388d88e7d60de787d2613732296cca2af', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/0ff22c9388d88e7d60de787d2613732296cca2af'}, {'path': 'tests/operational/setup_actions/test_categories_setup.py', 'mode': '100644', 'type': 'blob', 'sha': '012deb2ccced1a886f638e238fdfaef1da015188', 'size': 1097, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/012deb2ccced1a886f638e238fdfaef1da015188'}, {'path': 'tests/operational/setup_actions/test_frontend_setup.py', 'mode': '100644', 'type': 'blob', 'sha': 'f1720b1170c0833042a7a43460d3db0ce7991359', 'size': 1046, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/f1720b1170c0833042a7a43460d3db0ce7991359'}, {'path': 'tests/operational/setup_actions/test_sensor_setup.py', 'mode': '100644', 'type': 'blob', 'sha': 'b76a21c2316838c6046c3b9befbe6f17e9da6be1', 'size': 624, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/b76a21c2316838c6046c3b9befbe6f17e9da6be1'}, {'path': 'tests/operational/setup_actions/test_websocket_setup.py', 'mode': '100644', 'type': 'blob', 'sha': '83b3848dfd3cc801258dd3b59e4104216525a7a9', 'size': 241, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/83b3848dfd3cc801258dd3b59e4104216525a7a9'}, {'path': 'tests/repositories', 'mode': '040000', 'type': 'tree', 'sha': 'dffe73355880393b6e4be4a2a2ae43fdd02179aa', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/dffe73355880393b6e4be4a2a2ae43fdd02179aa'}, {'path': 'tests/repositories/helpers', 'mode': '040000', 'type': 'tree', 'sha': '6417202ed471790168a7225b14ca45a7c4ed028b', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/6417202ed471790168a7225b14ca45a7c4ed028b'}, {'path': 'tests/repositories/helpers/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': 'e69de29bb2d1d6434b8b29ae775ad8c2e48c5391', 'size': 0, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/e69de29bb2d1d6434b8b29ae775ad8c2e48c5391'}, {'path': 'tests/repositories/helpers/methods', 'mode': '040000', 'type': 'tree', 'sha': '254f117bb19ba08eed4d2e28fdcd61d31a02bc3e', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/254f117bb19ba08eed4d2e28fdcd61d31a02bc3e'}, {'path': 'tests/repositories/helpers/methods/__init__.py', 'mode': '100644', 'type': 'blob', 'sha': 'e69de29bb2d1d6434b8b29ae775ad8c2e48c5391', 'size': 0, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/e69de29bb2d1d6434b8b29ae775ad8c2e48c5391'}, {'path': 'tests/repositories/helpers/methods/test_exsist_on_local_fs.py', 'mode': '100644', 'type': 'blob', 'sha': '475bfc44dc70bad2b53b57aee9240ec6b64b1103', 'size': 371, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/475bfc44dc70bad2b53b57aee9240ec6b64b1103'}, {'path': 'tests/repositories/helpers/methods/test_installation.py', 'mode': '100644', 'type': 'blob', 'sha': 'ef550858e5c6ecb794effdf8a2f72c6e3d3c46fe', 'size': 291, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/ef550858e5c6ecb794effdf8a2f72c6e3d3c46fe'}, {'path': 'tests/repositories/helpers/methods/test_registration.py', 'mode': '100644', 'type': 'blob', 'sha': 'b1785508e17f8c3c052c63c4e95d30c94be58c0f', 'size': 296, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/b1785508e17f8c3c052c63c4e95d30c94be58c0f'}, {'path': 'tests/repositories/helpers/methods/test_reinstall_if_needed.py', 'mode': '100644', 'type': 'blob', 'sha': '566d6c30856bed90ab9326fb7c91fef9ee93fdb9', 'size': 316, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/566d6c30856bed90ab9326fb7c91fef9ee93fdb9'}, {'path': 'tests/repositories/helpers/test_properties.py', 'mode': '100644', 'type': 'blob', 'sha': '8271af5f5580fe98168ab4928f5e1a025b615880', 'size': 1419, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/8271af5f5580fe98168ab4928f5e1a025b615880'}, {'path': 'tests/repositories/test_appdaemon_class.py', 'mode': '100644', 'type': 'blob', 'sha': 'de12ca03fbeb52981ebfb3eea5c8d9499a6c7e82', 'size': 1015, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/de12ca03fbeb52981ebfb3eea5c8d9499a6c7e82'}, {'path': 'tests/repositories/test_can_install.py', 'mode': '100644', 'type': 'blob', 'sha': 'd3b97b4706f30cbf924dc78c02f1a7129b45f505', 'size': 865, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/d3b97b4706f30cbf924dc78c02f1a7129b45f505'}, {'path': 'tests/repositories/test_core.py', 'mode': '100644', 'type': 'blob', 'sha': 'c93e01acb6104eb2ed77b9d29cf7cd449f0fc1b4', 'size': 1804, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/c93e01acb6104eb2ed77b9d29cf7cd449f0fc1b4'}, {'path': 'tests/repositories/test_data.py', 'mode': '100644', 'type': 'blob', 'sha': 'f031b36ad819035b689833dbf742d33bcee8ef97', 'size': 935, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/f031b36ad819035b689833dbf742d33bcee8ef97'}, {'path': 'tests/repositories/test_hacs_manifest.py', 'mode': '100644', 'type': 'blob', 'sha': '982aac2857922f86f15d1c3eb83017ac1b7869d0', 'size': 1607, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/982aac2857922f86f15d1c3eb83017ac1b7869d0'}, {'path': 'tests/repositories/test_integration_class.py', 'mode': '100644', 'type': 'blob', 'sha': 'aa191fceae45b95f07e204270913fab0d7f26e4f', 'size': 1736, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/aa191fceae45b95f07e204270913fab0d7f26e4f'}, {'path': 'tests/repositories/test_netdaemon_class.py', 'mode': '100644', 'type': 'blob', 'sha': '208e31bf273a4cef2baf805f2842ec17d32d4a4b', 'size': 1030, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/208e31bf273a4cef2baf805f2842ec17d32d4a4b'}, {'path': 'tests/repositories/test_plugin_class.py', 'mode': '100644', 'type': 'blob', 'sha': 'be7f80e544ec97fb1d8c780f86b05f9b482caab2', 'size': 1279, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/be7f80e544ec97fb1d8c780f86b05f9b482caab2'}, {'path': 'tests/repositories/test_python_script.py', 'mode': '100644', 'type': 'blob', 'sha': '8ba1546dbe318834ecab1c34e6f0a5b7f4653310', 'size': 1042, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/8ba1546dbe318834ecab1c34e6f0a5b7f4653310'}, {'path': 'tests/repositories/test_removed.py', 'mode': '100644', 'type': 'blob', 'sha': '5911e041da1b602234e3bf00bed094531762603d', 'size': 301, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/5911e041da1b602234e3bf00bed094531762603d'}, {'path': 'tests/repositories/test_theme_class.py', 'mode': '100644', 'type': 'blob', 'sha': 'c58b84ce4913dd87cdc7c31362f60050aedaa1d9', 'size': 1247, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/c58b84ce4913dd87cdc7c31362f60050aedaa1d9'}, {'path': 'tests/sample_data.py', 'mode': '100644', 'type': 'blob', 'sha': 'cdef28a41dfd994a18b6126571dc79a8c41cfee9', 'size': 2286, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/cdef28a41dfd994a18b6126571dc79a8c41cfee9'}, {'path': 'tests/test_configuration_schema.py', 'mode': '100644', 'type': 'blob', 'sha': 'a979b080123549d84209e524e5d19787f7c3916c', 'size': 259, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/a979b080123549d84209e524e5d19787f7c3916c'}, {'path': 'tests/test_confiig_flow.py', 'mode': '100644', 'type': 'blob', 'sha': 'd5834d71ab472da3ea986d6a890efc4ac7b5bcad', 'size': 166, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/d5834d71ab472da3ea986d6a890efc4ac7b5bcad'}, {'path': 'tests/test_constrains.py', 'mode': '100644', 'type': 'blob', 'sha': '998806a4d9aab1bc3aaf993cb9bfe1acc41a0089', 'size': 2494, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/998806a4d9aab1bc3aaf993cb9bfe1acc41a0089'}, {'path': 'tests/test_globals.py', 'mode': '100644', 'type': 'blob', 'sha': '5f29c99816b323a48dd2982726e48f549d7f6fb8', 'size': 542, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/5f29c99816b323a48dd2982726e48f549d7f6fb8'}, {'path': 'tests/test_requirements.py', 'mode': '100644', 'type': 'blob', 'sha': 'ed35ee4b35035bce65432a7fd2540c04e2487262', 'size': 1930, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/ed35ee4b35035bce65432a7fd2540c04e2487262'}, {'path': 'tests/test_sensor.py', 'mode': '100644', 'type': 'blob', 'sha': 'b0fa99470372df36dc4666ebef4f824b9bcc000b', 'size': 2064, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/b0fa99470372df36dc4666ebef4f824b9bcc000b'}, {'path': 'tests/test_setup.py', 'mode': '100644', 'type': 'blob', 'sha': 'c79ec8a5a97eb338cad4fbba7601e9ba8dcaeac2', 'size': 3214, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/c79ec8a5a97eb338cad4fbba7601e9ba8dcaeac2'}, {'path': 'tests/test_share.py', 'mode': '100644', 'type': 'blob', 'sha': '513ef3b2fc5a669e5fd99920dfe84ae9ff442083', 'size': 459, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/513ef3b2fc5a669e5fd99920dfe84ae9ff442083'}, {'path': 'tests/test_store.py', 'mode': '100644', 'type': 'blob', 'sha': '7e99183da8bfa4ee6b347bcaa6e65e1d73408e65', 'size': 850, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/7e99183da8bfa4ee6b347bcaa6e65e1d73408e65'}, {'path': 'tests/validate', 'mode': '040000', 'type': 'tree', 'sha': 'e908b4046f2e02d8a3112a9bf198d716c61f903d', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/e908b4046f2e02d8a3112a9bf198d716c61f903d'}, {'path': 'tests/validate/common', 'mode': '040000', 'type': 'tree', 'sha': 'a199e59e2d7fccf3582c47370bd58ec179611634', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/a199e59e2d7fccf3582c47370bd58ec179611634'}, {'path': 'tests/validate/common/test_hacs_manifest_check.py', 'mode': '100644', 'type': 'blob', 'sha': '8814a14a96d9628e6175a5dcdab3f65905b4ac91', 'size': 804, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/8814a14a96d9628e6175a5dcdab3f65905b4ac91'}, {'path': 'tests/validate/common/test_repository_description_check.py', 'mode': '100644', 'type': 'blob', 'sha': '511f5188fef94a7e55393749be57762aaad9f82e', 'size': 646, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/511f5188fef94a7e55393749be57762aaad9f82e'}, {'path': 'tests/validate/common/test_repository_information_file_check.py', 'mode': '100644', 'type': 'blob', 'sha': '859ba19df6021a1bb2f328ecc9ef8a6f91c45e1e', 'size': 2216, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/859ba19df6021a1bb2f328ecc9ef8a6f91c45e1e'}, {'path': 'tests/validate/common/test_repository_topics_check.py', 'mode': '100644', 'type': 'blob', 'sha': 'e47140aaa51b5ae65b9296da5fee9b66a67aabbf', 'size': 640, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/e47140aaa51b5ae65b9296da5fee9b66a67aabbf'}, {'path': 'tests/validate/integration', 'mode': '040000', 'type': 'tree', 'sha': '10106e0d3d9f0443bad6b1aaa52f0cbdac7f3055', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/10106e0d3d9f0443bad6b1aaa52f0cbdac7f3055'}, {'path': 'tests/validate/integration/test_integration_manifest_check.py', 'mode': '100644', 'type': 'blob', 'sha': '0f5386a202a4f28dab9de01c9108aca65d2fcfb2', 'size': 871, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/0f5386a202a4f28dab9de01c9108aca65d2fcfb2'}, {'path': 'tests/validate/test_async_run_repository_checks.py', 'mode': '100644', 'type': 'blob', 'sha': '9e96821b3648fd2fa6992df2ef24fa8246e23055', 'size': 933, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/9e96821b3648fd2fa6992df2ef24fa8246e23055'}, {'path': 'tests/validate/test_base_valiadte_classes.py', 'mode': '100644', 'type': 'blob', 'sha': 'd87d7d71fb1c14bfc057f04444b6570ee7dc010e', 'size': 391, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/d87d7d71fb1c14bfc057f04444b6570ee7dc010e'}, {'path': 'tests/webresponses', 'mode': '040000', 'type': 'tree', 'sha': '680e7b87f126dc10281b0f2149469326a68db39d', 'url': 'https://api.github.com/repos/hacs/integration/git/trees/680e7b87f126dc10281b0f2149469326a68db39d'}, {'path': 'tests/webresponses/test_category.py', 'mode': '100644', 'type': 'blob', 'sha': '4d11511e9d70809fdd697a9a3169378ecc3212fd', 'size': 865, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/4d11511e9d70809fdd697a9a3169378ecc3212fd'}, {'path': 'tests/webresponses/test_frontend.py', 'mode': '100644', 'type': 'blob', 'sha': '349c40897352b1d1538aae0a97114545a27cd811', 'size': 1676, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/349c40897352b1d1538aae0a97114545a27cd811'}, {'path': 'tests/webresponses/test_iconset.py', 'mode': '100644', 'type': 'blob', 'sha': 'd99e3074ec0acefb815a4fb237e7b21d64f65500', 'size': 203, 'url': 'https://api.github.com/repos/hacs/integration/git/blobs/d99e3074ec0acefb815a4fb237e7b21d64f65500'}], 'truncated': False} 2020-08-03 13:46:42 DEBUG (MainThread) [AIOGitHubAPI] 2020-08-03 13:46:42 DEBUG (MainThread) [AIOGitHubAPI] {'name': 'hacs.json', 'path': 'hacs.json', 'sha': 'd72efc82b19dabf17e53ff08a2c50c36768c2cce', 'size': 151, 'url': 'https://api.github.com/repos/hacs/integration/contents/hacs.json?ref=1.3.1', 'html_url': 'https://github.com/hacs/integration/blob/1.3.1/hacs.json', 'git_url': 'https://api.github.com/repos/hacs/integration/git/blobs/d72efc82b19dabf17e53ff08a2c50c36768c2cce', 'download_url': 'https://raw.githubusercontent.com/hacs/integration/1.3.1/hacs.json', 'type': 'file', 'content': 'ewogICJuYW1lIjogIkhBQ1MiLAogICJ6aXBfcmVsZWFzZSI6IHRydWUsCiAg\nImhpZGVfZGVmYXVsdF9icmFuY2giOiB0cnVlLAogICJob21lYXNzaXN0YW50\nIjogIjAuMTEwLjAiLAogICJoYWNzIjogIjAuMTkuMCIsCiAgImZpbGVuYW1l\nIjogImhhY3MuemlwIgp9Cg==\n', 'encoding': 'base64', '_links': {'self': 'https://api.github.com/repos/hacs/integration/contents/hacs.json?ref=1.3.1', 'git': 'https://api.github.com/repos/hacs/integration/git/blobs/d72efc82b19dabf17e53ff08a2c50c36768c2cce', 'html': 'https://github.com/hacs/integration/blob/1.3.1/hacs.json'}} 2020-08-03 13:46:42 DEBUG (MainThread) [AIOGitHubAPI] 2020-08-03 13:46:42 DEBUG (MainThread) [AIOGitHubAPI] {'name': 'manifest.json', 'path': 'custom_components/hacs/manifest.json', 'sha': 'd875a05bfc9ecd2b92135937f93e2928660c8483', 'size': 540, 'url': 'https://api.github.com/repos/hacs/integration/contents/custom_components/hacs/manifest.json?ref=1.3.1', 'html_url': 'https://github.com/hacs/integration/blob/1.3.1/custom_components/hacs/manifest.json', 'git_url': 'https://api.github.com/repos/hacs/integration/git/blobs/d875a05bfc9ecd2b92135937f93e2928660c8483', 'download_url': 'https://raw.githubusercontent.com/hacs/integration/1.3.1/custom_components/hacs/manifest.json', 'type': 'file', 'content': 'ewogICJjb2Rlb3duZXJzIjogWwogICAgIkBsdWRlZXVzIgogIF0sCiAgImNv\nbmZpZ19mbG93IjogdHJ1ZSwKICAiZGVwZW5kZW5jaWVzIjogWwogICAgImh0\ndHAiLAogICAgIndlYnNvY2tldF9hcGkiLAogICAgImZyb250ZW5kIiwKICAg\nICJwZXJzaXN0ZW50X25vdGlmaWNhdGlvbiIsCiAgICAibG92ZWxhY2UiCiAg\nXSwKICAiZG9jdW1lbnRhdGlvbiI6ICJodHRwczovL2hhY3MueHl6L2RvY3Mv\nY29uZmlndXJhdGlvbi9zdGFydCIsCiAgImlzc3VlX3RyYWNrZXIiOiAiaHR0\ncHM6Ly9naXRodWIuY29tL2hhY3MvaW50ZWdyYXRpb24vaXNzdWVzIiwKICAi\nZG9tYWluIjogImhhY3MiLAogICJuYW1lIjogIkhBQ1MiLAogICJyZXF1aXJl\nbWVudHMiOiBbCiAgICAiYWlvZmlsZXM9PTAuNS4wIiwKICAgICJhaW9naXRo\ndWJhcGk+PTEuMS4yPDIuMC4wIiwKICAgICJiYWNrb2ZmPT0xLjEwLjAiLAog\nICAgImhhY3NfZnJvbnRlbmQ9PTIwMjAwODAyMTkwOCIsCiAgICAic2VtYW50\naWNfdmVyc2lvbj49Mi44LjUiLAogICAgInF1ZXVlbWFuPT0wLjUiCiAgXQp9\n', 'encoding': 'base64', '_links': {'self': 'https://api.github.com/repos/hacs/integration/contents/custom_components/hacs/manifest.json?ref=1.3.1', 'git': 'https://api.github.com/repos/hacs/integration/git/blobs/d875a05bfc9ecd2b92135937f93e2928660c8483', 'html': 'https://github.com/hacs/integration/blob/1.3.1/custom_components/hacs/manifest.json'}} 2020-08-03 13:46:42 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry for hacs Traceback (most recent call last): File "d:\homeassistant\lib\site-packages\homeassistant\config_entries.py", line 219, in async_setup result = await component.async_setup_entry( # type: ignore File "D:\HomeAssistant\Config\custom_components\hacs\__init__.py", line 30, in async_setup_entry return await hacs_ui_setup(hass, config_entry) File "D:\HomeAssistant\Config\custom_components\hacs\operational\setup.py", line 61, in async_setup_entry return await async_startup_wrapper_for_config_entry() File "D:\HomeAssistant\Config\custom_components\hacs\operational\setup.py", line 86, in async_startup_wrapper_for_config_entry startup_result = await async_hacs_startup() File "D:\HomeAssistant\Config\custom_components\hacs\operational\setup.py", line 165, in async_hacs_startup if not await async_load_hacs_repository(): File "D:\HomeAssistant\Config\custom_components\hacs\operational\setup_actions\load_hacs_repository.py", line 17, in async_load_hacs_repository await register_repository("hacs/integration", "integration") File "D:\HomeAssistant\Config\custom_components\hacs\helpers\functions\register_repository.py", line 29, in register_repository await repository.async_registration(ref) File "D:\HomeAssistant\Config\custom_components\hacs\helpers\methods\registration.py", line 37, in async_registration await self.async_post_registration() File "D:\HomeAssistant\Config\custom_components\hacs\helpers\methods\registration.py", line 42, in async_post_registration await async_run_repository_checks(self) File "D:\HomeAssistant\Config\custom_components\hacs\validate\__init__.py", line 24, in async_run_repository_checks await async_initialize_rules() File "D:\HomeAssistant\Config\custom_components\hacs\validate\__init__.py", line 18, in async_initialize_rules await hass.async_add_executor_job(_initialize_rules) File "c:\Python3\lib\concurrent\futures\thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "D:\HomeAssistant\Config\custom_components\hacs\validate\__init__.py", line 13, in _initialize_rules importlib.import_module(rule) File "c:\Python3\lib\importlib\__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1014, in _gcd_import File "", line 991, in _find_and_load File "", line 973, in _find_and_load_unlocked ModuleNotFoundError: No module named 'custom_components.hacsD:\\HomeAssistant\\Config\\custom_components\\hacs\\validate\\common\\hacs_manifest' ```

home-assistant.log

hacs-bot[bot] commented 3 years ago

Make sure you have read the issue guidelines and that you filled out the entire template.

ludeeus commented 3 years ago

You are missing (at least) one file.

FredericMa commented 3 years ago

You mean the log file? I initially added a snippet in the debug logs section but now added the full file.

ludeeus commented 3 years ago

no, this file ModuleNotFoundError: No module named 'custom_components.hacsD:\\HomeAssistant\\Config\\custom_components\\hacs\\validate\\common\\hacs_manifest.py'

FredericMa commented 3 years ago

The file is there but it looks like the 'custom_components.hacs'-prefix shouldn't be there, right?

image

ludeeus commented 3 years ago

Not sure how python works on windows, it may be correct, it may be wrong :man_shrugging: This setup is not supported by Home Assistant, and I have no way of testing it myself so there is not really much I can do here.

You should consider moving to one of the supported installations of Home Assistant (docker for instance on Windows)

FredericMa commented 3 years ago

Ok, I'll check it out. Thanks for looking at it.

oopiicaa commented 3 years ago

I've posted in other theme (https://github.com/hacs/integration/issues/1439) - issue described here is exactly the same issue that I have, also running on Windows (HA Core in Python venv), and everything is working fine with version 1.2.2 and problems started with newer versions. Would love if this got fixed.

I do understand that it's hard to support everything, but that's something that HACS broke (not HA or Python). @FredericMa if you managed to fix this somehow, please let me/us know.

FredericMa commented 3 years ago

@oopiicaa No I reverted to v1.2.2 for now.

FredericMa commented 3 years ago

Just wanted to indicate that 1.6.1 is running fine on Windows again.