mirror of
https://github.com/home-assistant/core.git
synced 2025-07-31 17:18:23 +00:00
Fix imports
This commit is contained in:
parent
be316cafab
commit
f0387b6cb3
@ -8,6 +8,19 @@ Migrate an integration from hass.data to entry.runtime_data
|
|||||||
```grit
|
```grit
|
||||||
language python
|
language python
|
||||||
|
|
||||||
|
pattern import_from_custom($source) {
|
||||||
|
$name where {
|
||||||
|
$program <: module($statements),
|
||||||
|
$statements <: contains or {
|
||||||
|
import_from_statement(),
|
||||||
|
import_statement(),
|
||||||
|
} as $import,
|
||||||
|
// Ruff will handle double imports and sorting for us
|
||||||
|
// So we add always the import
|
||||||
|
$import => `from $source import $name\n$import`,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pattern refactor_functions($config_entry_type, $file_name, $config_entry_type_defined) {
|
pattern refactor_functions($config_entry_type, $file_name, $config_entry_type_defined) {
|
||||||
function_definition($parameters, $body) as $func where {
|
function_definition($parameters, $body) as $func where {
|
||||||
// change config entry type
|
// change config entry type
|
||||||
@ -15,7 +28,7 @@ pattern refactor_functions($config_entry_type, $file_name, $config_entry_type_de
|
|||||||
$type <: type(type="ConfigEntry"),
|
$type <: type(type="ConfigEntry"),
|
||||||
$type => $config_entry_type,
|
$type => $config_entry_type,
|
||||||
if ($file_name <: not `__init__`) {
|
if ($file_name <: not `__init__`) {
|
||||||
$config_entry_type <: ensure_import_from(source = `.`),
|
$config_entry_type <: import_from_custom(source = `.`),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -63,15 +76,13 @@ multifile {
|
|||||||
},
|
},
|
||||||
$domain_list += $domain,
|
$domain_list += $domain,
|
||||||
},
|
},
|
||||||
bubble($domain_list) file($name, $body) as $file where {
|
bubble($domain_list) file($name, $body) where {
|
||||||
$file <: before_each_file(),
|
|
||||||
// migrate files
|
// migrate files
|
||||||
$filename <: r".*components/([^/]+)/([^/]+)\.py$"($domain, $file_name),
|
$filename <: r".*components/([^/]+)/([^/]+)\.py$"($domain, $file_name),
|
||||||
$domain_list <: includes $domain,
|
$domain_list <: includes $domain,
|
||||||
$config_entry_type = capitalize($domain),
|
$config_entry_type = capitalize($domain),
|
||||||
$config_entry_type += "ConfigEntry",
|
$config_entry_type += "ConfigEntry",
|
||||||
$body <: contains refactor_functions($config_entry_type, $file_name, $config_entry_type_defined),
|
$body <: contains refactor_functions($config_entry_type, $file_name, $config_entry_type_defined),
|
||||||
$file <: after_each_file()
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
```
|
```
|
Loading…
x
Reference in New Issue
Block a user