mirror of
https://github.com/esphome/esphome.git
synced 2025-09-04 20:32:21 +01:00
Cleanup dashboard JS (#491)
* Cleanup dashboard JS * Add vscode * Save start_mark/end_mark * Updates * Updates * Remove need for cv.nameable It's a bit hacky but removes so much bloat from integrations * Add enum helper * Document APIs, and Improvements * Fixes * Fixes * Update PULL_REQUEST_TEMPLATE.md * Updates * Updates * Updates
This commit is contained in:
27
esphome/config_helpers.py
Normal file
27
esphome/config_helpers.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from __future__ import print_function
|
||||
|
||||
import codecs
|
||||
import json
|
||||
|
||||
from esphome.core import CORE, EsphomeError
|
||||
from esphome.py_compat import safe_input
|
||||
|
||||
|
||||
def read_config_file(path):
|
||||
# type: (basestring) -> unicode
|
||||
if CORE.vscode:
|
||||
print(json.dumps({
|
||||
'type': 'read_file',
|
||||
'path': path,
|
||||
}))
|
||||
data = json.loads(safe_input())
|
||||
assert data['type'] == 'file_response'
|
||||
return data['content']
|
||||
|
||||
try:
|
||||
with codecs.open(path, encoding='utf-8') as handle:
|
||||
return handle.read()
|
||||
except IOError as exc:
|
||||
raise EsphomeError(u"Error accessing file {}: {}".format(path, exc))
|
||||
except UnicodeDecodeError as exc:
|
||||
raise EsphomeError(u"Unable to read file {}: {}".format(path, exc))
|
Reference in New Issue
Block a user