meteocat 2.3.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
- package/.github/workflows/release.yml +1 -31
- package/.github/workflows/sync-gitlab.yml +2 -0
- package/.releaserc +21 -0
- package/AUTHORS.md +1 -0
- package/CHANGELOG.md +23 -1
- package/README.md +72 -6
- package/custom_components/meteocat/__init__.py +1 -1
- package/custom_components/meteocat/manifest.json +1 -1
- package/custom_components/meteocat/sensor.py +8 -8
- package/custom_components/meteocat/translations/ca.json +10 -10
- package/custom_components/meteocat/version.py +1 -1
- package/custom_components/meteocat/weather.py +1 -1
- package/hacs.json +1 -1
- package/images/regenerate_assets.png +0 -0
- package/images/setup_options.png +0 -0
- package/images/system_options.png +0 -0
- package/package.json +1 -1
- package/pyproject.toml +1 -1
- package/scripts/update_version.sh +16 -0
|
@@ -6,7 +6,7 @@ labels: bug
|
|
|
6
6
|
assignees: ""
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
**IMPORTANT: Please search the issues
|
|
9
|
+
**IMPORTANT: Please search the issues (including closed ones) *and* check the [Wiki - Troubleshooting](https://github.com/figorr/meteocat/wiki/Troubleshooting) page before opening a new issue.
|
|
10
10
|
The template is mandatory; failure to use it will result in issue closure.**
|
|
11
11
|
|
|
12
12
|
---
|
|
@@ -33,37 +33,7 @@ jobs:
|
|
|
33
33
|
git config user.name "semantic-release-bot"
|
|
34
34
|
git config user.email "jdcuartero@yahoo.es"
|
|
35
35
|
|
|
36
|
-
# Paso 5:
|
|
37
|
-
- name: Get next version
|
|
38
|
-
id: nextver
|
|
39
|
-
run: |
|
|
40
|
-
version=$(npx semantic-release --dry-run | grep "The next release version is" | awk '{print $NF}')
|
|
41
|
-
echo "next_version=$version" >> $GITHUB_OUTPUT
|
|
42
|
-
echo "Next version: $version"
|
|
43
|
-
|
|
44
|
-
# Paso 6: Actualizar archivos de versión antes del release
|
|
45
|
-
- name: Update version in files
|
|
46
|
-
run: |
|
|
47
|
-
version=${{ steps.nextver.outputs.next_version }}
|
|
48
|
-
|
|
49
|
-
# pyproject.toml
|
|
50
|
-
sed -i "s/^version = \".*\"/version = \"$version\"/" pyproject.toml
|
|
51
|
-
|
|
52
|
-
# manifest.json
|
|
53
|
-
jq --arg ver "$version" '.version = $ver' custom_components/meteocat/manifest.json > tmp.json && mv tmp.json custom_components/meteocat/manifest.json
|
|
54
|
-
|
|
55
|
-
# version.py
|
|
56
|
-
echo "__version__ = \"$version\"" > custom_components/meteocat/version.py
|
|
57
|
-
|
|
58
|
-
# __init__.py
|
|
59
|
-
sed -i "s/^__version__ = \".*\"/__version__ = \"$version\"/" custom_components/meteocat/__init__.py
|
|
60
|
-
|
|
61
|
-
# Commit con [skip ci] para no reiniciar workflow
|
|
62
|
-
git add pyproject.toml custom_components/meteocat/manifest.json custom_components/meteocat/version.py custom_components/meteocat/__init__.py
|
|
63
|
-
git commit -m "chore: bump version to $version [skip ci]" || echo "No changes to commit"
|
|
64
|
-
git push origin master
|
|
65
|
-
|
|
66
|
-
# Paso 7: Ejecutar semantic-release (generación de release, changelog, assets)
|
|
36
|
+
# Paso 5: Ejecutar semantic-release (se encargará de actualizar versiones, changelog, y release)
|
|
67
37
|
- name: Run semantic-release
|
|
68
38
|
env:
|
|
69
39
|
GITHUB_TOKEN: ${{ secrets.WORKFLOW_TOKEN }}
|
|
@@ -3,6 +3,7 @@ name: Sync to GitLab
|
|
|
3
3
|
on:
|
|
4
4
|
release:
|
|
5
5
|
types: [published] # Se dispara al publicarse un release en GitHub
|
|
6
|
+
workflow_dispatch: # Permite ejecución manual desde la interfaz
|
|
6
7
|
|
|
7
8
|
jobs:
|
|
8
9
|
sync:
|
|
@@ -36,6 +37,7 @@ jobs:
|
|
|
36
37
|
if ! git merge-base --is-ancestor gitlab/master master; then
|
|
37
38
|
echo "❌ GitLab master tiene commits que GitHub no tiene. Revisar antes de sincronizar."
|
|
38
39
|
exit 1
|
|
40
|
+
fi
|
|
39
41
|
|
|
40
42
|
# Paso 5: Push de commits y tags a GitLab
|
|
41
43
|
- name: Push commits and tags to GitLab
|
package/.releaserc
CHANGED
|
@@ -9,6 +9,27 @@
|
|
|
9
9
|
"changelogFile": "CHANGELOG.md"
|
|
10
10
|
}
|
|
11
11
|
],
|
|
12
|
+
[
|
|
13
|
+
"@semantic-release/exec",
|
|
14
|
+
{
|
|
15
|
+
"prepareCmd": "bash ./scripts/update_version.sh ${nextRelease.version}"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
[
|
|
19
|
+
"@semantic-release/git",
|
|
20
|
+
{
|
|
21
|
+
"assets": [
|
|
22
|
+
"pyproject.toml",
|
|
23
|
+
"custom_components/meteocat/manifest.json",
|
|
24
|
+
"custom_components/meteocat/version.py",
|
|
25
|
+
"custom_components/meteocat/__init__.py",
|
|
26
|
+
"CHANGELOG.md",
|
|
27
|
+
"package.json",
|
|
28
|
+
"package-lock.json"
|
|
29
|
+
],
|
|
30
|
+
"message": "chore(release): v${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
12
33
|
"@semantic-release/npm",
|
|
13
34
|
"@semantic-release/github"
|
|
14
35
|
],
|
package/AUTHORS.md
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,25 @@
|
|
|
1
|
-
# [
|
|
1
|
+
# [3.0.0](https://github.com/figorr/meteocat/compare/v2.3.0...v3.0.0) (2025-09-14)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* change unique_id to use town_id ([3a048ce](https://github.com/figorr/meteocat/commit/3a048ce48a0e1f3ee7642c28bbe7ac6e6e3fc298))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### BREAKING CHANGES
|
|
10
|
+
|
|
11
|
+
* Entities now use town_id instead of region_id in their unique_id.
|
|
12
|
+
This change enables multiple integration entries that share the same region_id but different towns.
|
|
13
|
+
|
|
14
|
+
Recommended upgrade path:
|
|
15
|
+
1. Uninstall the existing integration (v2.x).
|
|
16
|
+
2. Restart Home Assistant.
|
|
17
|
+
3. Install v3.0.0 and reconfigure the integration.
|
|
18
|
+
|
|
19
|
+
If you update directly without uninstalling first, old entities will remain as 'unavailable' and new entities will be created (possibly with a suffix like '2').
|
|
20
|
+
In that case, you may need to manually remove the old entities and update your automations or dashboards.
|
|
21
|
+
|
|
22
|
+
## [2.3.0](https://github.com/figorr/meteocat/compare/v2.2.7...v2.3.0) (2025-09-10)
|
|
2
23
|
|
|
3
24
|
|
|
4
25
|
### Features
|
|
@@ -15,6 +36,7 @@
|
|
|
15
36
|
* update README ([9855939](https://github.com/figorr/meteocat/commit/98559398e6bae30e8e9c9ff2b2fe27409a3930bd))
|
|
16
37
|
* update repo files structure ([0778679](https://github.com/figorr/meteocat/commit/0778679d218a89e89bb18791f1245c5c9f7b188f))
|
|
17
38
|
|
|
39
|
+
|
|
18
40
|
## [2.2.7](https://github.com/figorr/meteocat/compare/v2.2.6...v2.2.7) (2025-08-29)
|
|
19
41
|
|
|
20
42
|
|
package/README.md
CHANGED
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
[](https://github.com/figorr/meteocat/actions/workflows/validate.yaml)
|
|
7
7
|
[](https://github.com/figorr/meteocat/actions/workflows/release.yml)
|
|
8
8
|

|
|
9
|
-

|
|
10
|
+

|
|
11
|
+
[](#-breaking-changes---upgrade-to-3x)
|
|
11
12
|
|
|
12
13
|
This is a project to obtain meteorological data from the Meteocat API inside the Home Assistant environment.
|
|
13
14
|
|
|
@@ -21,8 +22,39 @@ Commercial use of this project or the data obtained from the API is not allowed
|
|
|
21
22
|
|
|
22
23
|
This is a personal project.
|
|
23
24
|
|
|
24
|
-
Authors
|
|
25
|
-
- Figorr
|
|
25
|
+
**Authors:**
|
|
26
|
+
- [Figorr](https://github.com/figorr)
|
|
27
|
+
|
|
28
|
+
**Contributors:**
|
|
29
|
+
- [mcasellas](https://github.com/mcasellas) – contributed [c505f27](https://github.com/figorr/meteocat/commit/c505f27)
|
|
30
|
+
|
|
31
|
+
## ⚠️ Breaking changes - Upgrade to 3.0.0 or later coming from prior versions
|
|
32
|
+
|
|
33
|
+
Version **3.0.0 and later** introduces a **breaking change** in how entities are identified.
|
|
34
|
+
|
|
35
|
+
### ⚠️ What this affects
|
|
36
|
+
- This affects any update **from a version prior to 3.0.0** to **any version 3.x or later**.
|
|
37
|
+
- Entities now use **`town_id`** instead of `region_id` in their `unique_id`.
|
|
38
|
+
- This change allows multiple integration entries that share the same `region_id` but different towns.
|
|
39
|
+
|
|
40
|
+
### ✅ Recommended upgrade procedure
|
|
41
|
+
To avoid issues with duplicated or unavailable entities:
|
|
42
|
+
|
|
43
|
+
1. **Uninstall** the existing integration (v2.x).
|
|
44
|
+
2. **Restart** Home Assistant.
|
|
45
|
+
3. **Install v3.0.0 or later** and configure the integration again.
|
|
46
|
+
|
|
47
|
+
### 🚨 If you update directly
|
|
48
|
+
If you update without uninstalling first:
|
|
49
|
+
|
|
50
|
+
- Old entities will remain as **Unavailable**.
|
|
51
|
+
- New entities will be created (sometimes with a suffix like `2`).
|
|
52
|
+
- You may need to manually **remove old entities** and update your automations, dashboards, or scripts to point to the new entities.
|
|
53
|
+
|
|
54
|
+
### 📑 Additional notes
|
|
55
|
+
|
|
56
|
+
- This change affects all entity types, including **sensors, diagnostic sensors, and alerts**.
|
|
57
|
+
- Always backup your **Home Assistant configuration** before performing major upgrades.
|
|
26
58
|
|
|
27
59
|
## Installation
|
|
28
60
|
|
|
@@ -35,7 +67,6 @@ Authors:
|
|
|
35
67
|
1. Click `+ Add Integration`
|
|
36
68
|
1. Search for `Meteocat` and follow the configuration instructions
|
|
37
69
|
|
|
38
|
-
|
|
39
70
|
#### HACS - Install from the store
|
|
40
71
|
1. Go to `HACS`
|
|
41
72
|
1. Search for `Meteocat` and add it to HACS
|
|
@@ -103,7 +134,42 @@ You will see three available options:
|
|
|
103
134
|
If for any reason some files in the `assets` folder (`towns.json`, `stations.json`, `variables.json`, `symbols.json`, or `stations_<town_id>.json`) are missing or outdated, you can regenerate them directly from the options menu.
|
|
104
135
|
> ℹ️ If the Meteocat API is not available at that moment, the integration will still start, and you can retry regeneration later.
|
|
105
136
|
|
|
106
|
-
|
|
137
|
+
### Accessing the Options Menu
|
|
138
|
+
|
|
139
|
+
You can access the Options Menu in two ways, both inside the integration:
|
|
140
|
+
|
|
141
|
+
- **Setup Options**
|
|
142
|
+
|
|
143
|
+

|
|
144
|
+
|
|
145
|
+
- **System Options**
|
|
146
|
+
|
|
147
|
+

|
|
148
|
+
|
|
149
|
+
Once inside, you will see the following options:
|
|
150
|
+
|
|
151
|
+

|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
## Uninstallation
|
|
155
|
+
|
|
156
|
+
To correctly uninstall the integration:
|
|
157
|
+
|
|
158
|
+
- If you are upgrading due to **breaking changes**, remove all configured entries from
|
|
159
|
+
**Settings > Devices & Services > Integrations**, restart Home Assistant, and reinstall the new version.
|
|
160
|
+
- If you want to **completely remove Meteocat**, after removing the entries and restarting, also uninstall the integration from **HACS > Integrations**.
|
|
161
|
+
|
|
162
|
+
👉 For detailed steps with screenshots, check the [Uninstallation Guide](https://github.com/figorr/meteocat/wiki/Uninstallation).
|
|
163
|
+
|
|
164
|
+
# Documentation
|
|
165
|
+
|
|
166
|
+
For more detailed information about:
|
|
167
|
+
- Installation and configuration
|
|
168
|
+
- Usage examples
|
|
169
|
+
- Extra attributes in sensors
|
|
170
|
+
- Known issues and troubleshooting
|
|
171
|
+
|
|
172
|
+
please visit the [📖 Meteocat Wiki](https://github.com/figorr/meteocat/wiki).
|
|
107
173
|
|
|
108
174
|
# Contributing
|
|
109
175
|
|
|
@@ -608,7 +608,7 @@ class MeteocatStaticSensor(CoordinatorEntity[MeteocatStaticSensorCoordinator], S
|
|
|
608
608
|
self._region_id = entry_data["region_id"]
|
|
609
609
|
|
|
610
610
|
# Unique ID for the entity
|
|
611
|
-
self._attr_unique_id = f"sensor.{DOMAIN}_{self.
|
|
611
|
+
self._attr_unique_id = f"sensor.{DOMAIN}_{self._town_id}_{self.entity_description.key}"
|
|
612
612
|
|
|
613
613
|
# Assign entity_category if defined in the description
|
|
614
614
|
self._attr_entity_category = getattr(description, "entity_category", None)
|
|
@@ -785,7 +785,7 @@ class MeteocatSensor(CoordinatorEntity[MeteocatSensorCoordinator], SensorEntity)
|
|
|
785
785
|
self._station_id = entry_data["station_id"]
|
|
786
786
|
|
|
787
787
|
# Unique ID for the entity
|
|
788
|
-
self._attr_unique_id = f"sensor.{DOMAIN}_{self.
|
|
788
|
+
self._attr_unique_id = f"sensor.{DOMAIN}_{self._town_id}_{self.entity_description.key}"
|
|
789
789
|
|
|
790
790
|
# Asigna entity_category desde description (si está definido)
|
|
791
791
|
self._attr_entity_category = getattr(description, "entity_category", None)
|
|
@@ -1075,7 +1075,7 @@ class MeteocatHourlyForecastStatusSensor(CoordinatorEntity[MeteocatEntityCoordin
|
|
|
1075
1075
|
self._station_id = entry_data["station_id"]
|
|
1076
1076
|
|
|
1077
1077
|
# Unique ID for the entity
|
|
1078
|
-
self._attr_unique_id = f"sensor.{DOMAIN}_{self.
|
|
1078
|
+
self._attr_unique_id = f"sensor.{DOMAIN}_{self._town_id}_hourly_status"
|
|
1079
1079
|
|
|
1080
1080
|
# Assign entity_category if defined in the description
|
|
1081
1081
|
self._attr_entity_category = getattr(description, "entity_category", None)
|
|
@@ -1138,7 +1138,7 @@ class MeteocatDailyForecastStatusSensor(CoordinatorEntity[MeteocatEntityCoordina
|
|
|
1138
1138
|
self._station_id = entry_data["station_id"]
|
|
1139
1139
|
|
|
1140
1140
|
# Unique ID for the entity
|
|
1141
|
-
self._attr_unique_id = f"sensor.{DOMAIN}_{self.
|
|
1141
|
+
self._attr_unique_id = f"sensor.{DOMAIN}_{self._town_id}_daily_status"
|
|
1142
1142
|
|
|
1143
1143
|
# Assign entity_category if defined in the description
|
|
1144
1144
|
self._attr_entity_category = getattr(description, "entity_category", None)
|
|
@@ -1201,7 +1201,7 @@ class MeteocatUviStatusSensor(CoordinatorEntity[MeteocatUviCoordinator], SensorE
|
|
|
1201
1201
|
self._station_id = entry_data["station_id"]
|
|
1202
1202
|
|
|
1203
1203
|
# Unique ID for the entity
|
|
1204
|
-
self._attr_unique_id = f"sensor.{DOMAIN}_{self.
|
|
1204
|
+
self._attr_unique_id = f"sensor.{DOMAIN}_{self._town_id}_uvi_status"
|
|
1205
1205
|
|
|
1206
1206
|
# Assign entity_category if defined in the description
|
|
1207
1207
|
self._attr_entity_category = getattr(description, "entity_category", None)
|
|
@@ -1264,7 +1264,7 @@ class MeteocatAlertStatusSensor(CoordinatorEntity[MeteocatAlertsCoordinator], Se
|
|
|
1264
1264
|
self._limit_prediccio = entry_data["limit_prediccio"]
|
|
1265
1265
|
|
|
1266
1266
|
# Unique ID for the entity
|
|
1267
|
-
self._attr_unique_id = f"sensor.{DOMAIN}_{self.
|
|
1267
|
+
self._attr_unique_id = f"sensor.{DOMAIN}_{self._town_id}_alert_status"
|
|
1268
1268
|
|
|
1269
1269
|
# Assign entity_category if defined in the description
|
|
1270
1270
|
self._attr_entity_category = getattr(description, "entity_category", None)
|
|
@@ -1352,7 +1352,7 @@ class MeteocatAlertRegionSensor(CoordinatorEntity[MeteocatAlertsRegionCoordinato
|
|
|
1352
1352
|
self._region_id = entry_data["region_id"]
|
|
1353
1353
|
|
|
1354
1354
|
# Unique ID for the entity
|
|
1355
|
-
self._attr_unique_id = f"sensor.{DOMAIN}_{self.
|
|
1355
|
+
self._attr_unique_id = f"sensor.{DOMAIN}_{self._town_id}_alerts"
|
|
1356
1356
|
|
|
1357
1357
|
# Assign entity_category if defined in the description
|
|
1358
1358
|
self._attr_entity_category = getattr(description, "entity_category", None)
|
|
@@ -1459,7 +1459,7 @@ class MeteocatAlertMeteorSensor(CoordinatorEntity[MeteocatAlertsRegionCoordinato
|
|
|
1459
1459
|
self._region_id = entry_data["region_id"]
|
|
1460
1460
|
|
|
1461
1461
|
# Unique ID for the entity
|
|
1462
|
-
self._attr_unique_id = f"sensor.{DOMAIN}_{self.
|
|
1462
|
+
self._attr_unique_id = f"sensor.{DOMAIN}_{self._town_id}_{self.entity_description.key}"
|
|
1463
1463
|
|
|
1464
1464
|
# Assign entity_category if defined in the description
|
|
1465
1465
|
self._attr_entity_category = getattr(description, "entity_category", None)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"config": {
|
|
3
3
|
"step": {
|
|
4
4
|
"user": {
|
|
5
|
-
"description": "Introduïu
|
|
5
|
+
"description": "Introduïu l'API Key subministrada per Meteocat per poder iniciar el procés de validació.",
|
|
6
6
|
"title": "API Key"
|
|
7
7
|
},
|
|
8
8
|
"select_municipi": {
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
},
|
|
22
22
|
"set_api_limits": {
|
|
23
23
|
"description": "Defineix els límits del pla de l'API.",
|
|
24
|
-
"title": "API
|
|
24
|
+
"title": "Límits de l'API"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"error": {
|
|
28
|
-
"bad_request": "Petició
|
|
28
|
+
"bad_request": "Petició invàlida. Reviseu la vostra API Key.",
|
|
29
29
|
"forbidden": "Accés denegat. Reviseu els permisos de la vostra API Key.",
|
|
30
30
|
"rate_limit_exceeded": "Excés del límit de peticions. Si us plau, torneu-ho a provar més tard.",
|
|
31
31
|
"server_error": "Error del servidor. Torneu-ho a provar més tard.",
|
|
@@ -67,8 +67,8 @@
|
|
|
67
67
|
"selector": {
|
|
68
68
|
"option": {
|
|
69
69
|
"options": {
|
|
70
|
-
"update_api_and_limits": "Actualitzar API Key i
|
|
71
|
-
"update_limits_only": "Actualitzar API
|
|
70
|
+
"update_api_and_limits": "Actualitzar API Key i límits.",
|
|
71
|
+
"update_limits_only": "Actualitzar API límits.",
|
|
72
72
|
"regenerate_assets": "Regenera arxius a 'assets'."
|
|
73
73
|
}
|
|
74
74
|
}
|
|
@@ -169,15 +169,15 @@
|
|
|
169
169
|
"name": "Estat del Cel",
|
|
170
170
|
"state": {
|
|
171
171
|
"sunny": "Assolellat",
|
|
172
|
-
"clear-night": "Nit
|
|
172
|
+
"clear-night": "Nit serena",
|
|
173
173
|
"partlycloudy": "Parcialment ennuvolat",
|
|
174
174
|
"cloudy": "Ennuvolat",
|
|
175
175
|
"rainy": "Plovent",
|
|
176
|
-
"pouring": "
|
|
177
|
-
"lightning-rainy": "
|
|
176
|
+
"pouring": "Tempesta",
|
|
177
|
+
"lightning-rainy": "Tempesta amb llamps",
|
|
178
178
|
"hail": "Calamarsa",
|
|
179
179
|
"snowy": "Nevant",
|
|
180
|
-
"snow-rainy": "
|
|
180
|
+
"snow-rainy": "Aiguaneu"
|
|
181
181
|
},
|
|
182
182
|
"state_attributes": {
|
|
183
183
|
"hour": {
|
|
@@ -820,4 +820,4 @@
|
|
|
820
820
|
}
|
|
821
821
|
}
|
|
822
822
|
}
|
|
823
|
-
|
|
823
|
+
|
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = ""
|
|
1
|
+
__version__ = "3.0.0"
|
|
@@ -107,7 +107,7 @@ class MeteocatWeatherEntity(CoordinatorEntity, WeatherEntity):
|
|
|
107
107
|
@property
|
|
108
108
|
def unique_id(self) -> str:
|
|
109
109
|
"""Return the unique ID of the entity."""
|
|
110
|
-
return f"weather.{DOMAIN}_{self.
|
|
110
|
+
return f"weather.{DOMAIN}_{self._town_id}"
|
|
111
111
|
|
|
112
112
|
@property
|
|
113
113
|
def condition(self) -> Optional[str]:
|
package/hacs.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "meteocat",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "[](https://opensource.org/licenses/Apache-2.0)\r [](https://pypi.org/project/meteocat)\r [](https://gitlab.com/figorr/meteocat/commits/master)",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"directories": {
|
package/pyproject.toml
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
version="$1"
|
|
5
|
+
|
|
6
|
+
# pyproject.toml
|
|
7
|
+
sed -i "s/^version = \".*\"/version = \"$version\"/" pyproject.toml
|
|
8
|
+
|
|
9
|
+
# manifest.json
|
|
10
|
+
jq --arg ver "$version" '.version = $ver' custom_components/meteocat/manifest.json > tmp.json && mv tmp.json custom_components/meteocat/manifest.json
|
|
11
|
+
|
|
12
|
+
# version.py
|
|
13
|
+
echo "__version__ = \"$version\"" > custom_components/meteocat/version.py
|
|
14
|
+
|
|
15
|
+
# __init__.py
|
|
16
|
+
sed -i "s/^__version__ = \".*\"/__version__ = \"$version\"/" custom_components/meteocat/__init__.py
|