mirror of
https://github.com/esphome/esphome.git
synced 2025-06-20 15:25:41 +01:00
add-black (#1593)
* Add black Update pre commit Update pre commit add empty line * Format with black
This commit is contained in:
committed by
GitHub
parent
2b60b0f1fa
commit
69879920eb
.pre-commit-config.yamlsetup.cfg
esphome
__main__.pyconfig.pyconfig_helpers.pyconfig_validation.pyconst.pycore.pycore_config.pycpp_generator.pycpp_helpers.pycpp_types.py
pylintrcpyproject.tomlrequirements_test.txtapi
automation.pycodegen.pycomponents
a4988
ac_dimmer
adalight
adc
ade7953
ads1115
aht10
am2320
animation
apds9960
api
as3935
as3935_i2c
as3935_spi
async_tcp
atc_mithermometer
atm90e32
bang_bang
bh1750
binary
binary_sensor
binary_sensor_map
ble_presence
ble_rssi
ble_scanner
bme280
bme680
bmp085
bmp280
canbus
captive_portal
ccs811
climate
climate_ir
climate_ir_lg
color
coolix
cover
cse7766
ct_clamp
custom
custom_component
cwww
daikin
dallas
debug
deep_sleep
dfplayer
dht
dht12
display
ds1307
duty_cycle
e131
endstop
esp32_ble_beacon
esp32_ble_tracker
esp32_camera
esp32_dac
esp32_hall
esp32_touch
esp8266_pwm
ethernet
exposure_notifications
ezo
fan
fastled_base
fastled_clockless
fastled_spi
font
fujitsu_general
globals
gpio
gps
hbridge
hdc1080
hitachi_ac344
hlw8012
hm3301
hmc5883l
homeassistant
http_request
htu21d
hx711
i2c
ili9341
image
ina219
ina226
ina3221
inkbird_ibsth1_mini
inkplate6
integration
interval
json
lcd_base
lcd_gpio
lcd_pcf8574
ledc
light
logger
max31855
max31856
max31865
max6675
max7219
mcp23008
mcp23016
mcp23017
mcp23s08
mcp23s17
mcp2515
mcp3008
mcp4725
mcp9808
mhz19
mitsubishi
modbus
monochromatic
mpr121
mpu6050
mqtt
mqtt_subscribe
ms5611
my9231
neopixelbus
network
nextion
nfc
ntc
ota
output
packages
partition
pca9685
pcd8544
pcf8574
pid
pmsx003
pn532
pn532_i2c
pn532_spi
power_supply
prometheus
pulse_counter
pulse_width
pzem004t
pzemac
pzemdc
qmc5883l
rc522
rc522_i2c
rc522_spi
rdm6300
remote_base
remote_receiver
remote_transmitter
resistance
restart
rf_bridge
rgb
rgbw
rgbww
rotary_encoder
rtttl
ruuvi_ble
ruuvitag
scd30
script
sds011
senseair
sensor
servo
sgp30
sht3xd
shtcx
shutdown
sim800l
sm16716
sm300d2
sn74hc595
sntp
speed
spi
sps30
ssd1306_base
ssd1306_i2c
ssd1306_spi
ssd1322_base
ssd1322_spi
ssd1325_base
ssd1325_spi
ssd1327_base
ssd1327_i2c
ssd1327_spi
ssd1331_base
ssd1331_spi
ssd1351_base
ssd1351_spi
st7735
st7789v
status
status_led
stepper
sts3x
substitutions
sun
switch
sx1509
tcl112
tcs34725
teleinfo
template
text_sensor
thermostat
time
time_based
tlc59208f
tm1637
tm1651
tmp102
tmp117
toshiba
total_daily_energy
tsl2561
ttp229_bsf
ttp229_lsf
tuya
tx20
uart
uln2003
ultrasonic
uptime
version
vl53l0x
voltage_sampler
waveshare_epaper
web_server
web_server_base
whirlpool
wifi
wifi_info
wifi_signal
wled
xiaomi_ble
xiaomi_cgd1
xiaomi_cgg1
xiaomi_gcls002
xiaomi_hhccjcy01
xiaomi_hhccpot002
xiaomi_jqjcy01ym
xiaomi_lywsd02
xiaomi_lywsd03mmc
xiaomi_lywsdcgq
xiaomi_mhoc401
xiaomi_miscale
xiaomi_miscale2
xiaomi_mjyd02yla
xiaomi_mue4094rt
xiaomi_wx08zm
yashima
zyaura
dashboard
espota2.pyhelpers.pylegacy.pymqtt.pypins.pyplatformio_api.pystorage_json.pyutil.pyvoluptuous_schema.pyvscode.pywizard.pywriter.pyyaml_util.pyzeroconf.pyscript
api_protobuf
build_codeowners.pybuild_compile_commands.pybump-docker-base-version.pybump-version.pyci-custom.pyhelpers.pylint-pythonsetuptests
@ -9,13 +9,14 @@ from esphome.config import get_component, get_platform
|
||||
from esphome.core import CORE
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--check', help="Check if the CODEOWNERS file is up to date.",
|
||||
action='store_true')
|
||||
parser.add_argument(
|
||||
"--check", help="Check if the CODEOWNERS file is up to date.", action="store_true"
|
||||
)
|
||||
args = parser.parse_args()
|
||||
|
||||
# The root directory of the repo
|
||||
root = Path(__file__).parent.parent
|
||||
components_dir = root / 'esphome' / 'components'
|
||||
components_dir = root / "esphome" / "components"
|
||||
|
||||
BASE = """
|
||||
# This file is generated by script/build_codeowners.py
|
||||
@ -43,16 +44,18 @@ codeowners = defaultdict(list)
|
||||
for path in components_dir.iterdir():
|
||||
if not path.is_dir():
|
||||
continue
|
||||
if not (path / '__init__.py').is_file():
|
||||
if not (path / "__init__.py").is_file():
|
||||
continue
|
||||
|
||||
name = path.name
|
||||
comp = get_component(name)
|
||||
if comp is None:
|
||||
print(f'Cannot find component {name}. Make sure current path is pip installed ESPHome')
|
||||
print(
|
||||
f"Cannot find component {name}. Make sure current path is pip installed ESPHome"
|
||||
)
|
||||
sys.exit(1)
|
||||
|
||||
codeowners[f'esphome/components/{name}/*'].extend(comp.codeowners)
|
||||
codeowners[f"esphome/components/{name}/*"].extend(comp.codeowners)
|
||||
|
||||
for platform_path in path.iterdir():
|
||||
platform_name = platform_path.stem
|
||||
@ -62,15 +65,17 @@ for path in components_dir.iterdir():
|
||||
|
||||
if platform_path.is_dir():
|
||||
# Sub foldered platforms get their own line
|
||||
if not (platform_path / '__init__.py').is_file():
|
||||
if not (platform_path / "__init__.py").is_file():
|
||||
continue
|
||||
codeowners[f'esphome/components/{name}/{platform_name}/*'].extend(platform.codeowners)
|
||||
codeowners[f"esphome/components/{name}/{platform_name}/*"].extend(
|
||||
platform.codeowners
|
||||
)
|
||||
continue
|
||||
|
||||
# Non-subfoldered platforms add to codeowners at component level
|
||||
if not platform_path.is_file() or platform_path.name == '__init__.py':
|
||||
if not platform_path.is_file() or platform_path.name == "__init__.py":
|
||||
continue
|
||||
codeowners[f'esphome/components/{name}/*'].extend(platform.codeowners)
|
||||
codeowners[f"esphome/components/{name}/*"].extend(platform.codeowners)
|
||||
|
||||
|
||||
for path, owners in sorted(codeowners.items()):
|
||||
@ -78,16 +83,18 @@ for path, owners in sorted(codeowners.items()):
|
||||
if not owners:
|
||||
continue
|
||||
for owner in owners:
|
||||
if not owner.startswith('@'):
|
||||
print(f"Codeowner {owner} for integration {path} must start with an '@' symbol!")
|
||||
if not owner.startswith("@"):
|
||||
print(
|
||||
f"Codeowner {owner} for integration {path} must start with an '@' symbol!"
|
||||
)
|
||||
sys.exit(1)
|
||||
parts.append(f"{path} {' '.join(owners)}")
|
||||
|
||||
|
||||
# End newline
|
||||
parts.append('')
|
||||
content = '\n'.join(parts)
|
||||
codeowners_file = root / 'CODEOWNERS'
|
||||
parts.append("")
|
||||
content = "\n".join(parts)
|
||||
codeowners_file = root / "CODEOWNERS"
|
||||
|
||||
if args.check:
|
||||
if codeowners_file.read_text() != content:
|
||||
|
Reference in New Issue
Block a user