python-bsblan 2.2.3__tar.gz → 2.2.4__tar.gz

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.
Files changed (77) hide show
  1. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/workflows/release.yaml +61 -3
  2. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/PKG-INFO +1 -1
  3. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/pyproject.toml +1 -1
  4. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.editorconfig +0 -0
  5. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.gitattributes +0 -0
  6. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/CODE_OF_CONDUCT.md +0 -0
  7. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/CONTRIBUTING.md +0 -0
  8. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/ISSUE_TEMPLATE/PULL_REQUEST_TEMPLATE.md +0 -0
  9. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  10. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  11. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/LICENSE.md +0 -0
  12. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/labels.yml +0 -0
  13. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/release-drafter.yml +0 -0
  14. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/renovate.json +0 -0
  15. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/workflows/codeql.yaml +0 -0
  16. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/workflows/labels.yaml +0 -0
  17. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/workflows/linting.yaml +0 -0
  18. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/workflows/lock.yaml +0 -0
  19. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/workflows/pr-labels.yaml +0 -0
  20. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/workflows/release-drafter.yaml +0 -0
  21. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/workflows/stale.yaml +0 -0
  22. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/workflows/tests.yaml +0 -0
  23. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.github/workflows/typing.yaml +0 -0
  24. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.gitignore +0 -0
  25. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.nvmrc +0 -0
  26. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.pre-commit-config.yaml +0 -0
  27. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.prettierignore +0 -0
  28. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/.yamllint +0 -0
  29. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/README.md +0 -0
  30. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/examples/control.py +0 -0
  31. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/examples/ruff.toml +0 -0
  32. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/package-lock.json +0 -0
  33. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/package.json +0 -0
  34. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/sonar-project.properties +0 -0
  35. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/src/bsblan/__init__.py +0 -0
  36. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/src/bsblan/bsblan.py +0 -0
  37. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/src/bsblan/constants.py +0 -0
  38. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/src/bsblan/exceptions.py +0 -0
  39. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/src/bsblan/models.py +0 -0
  40. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/src/bsblan/utility.py +0 -0
  41. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/__init__.py +0 -0
  42. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/conftest.py +0 -0
  43. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/fixtures/device.json +0 -0
  44. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/fixtures/dict_version.json +0 -0
  45. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/fixtures/hot_water_state.json +0 -0
  46. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/fixtures/info.json +0 -0
  47. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/fixtures/password.txt +0 -0
  48. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/fixtures/sensor.json +0 -0
  49. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/fixtures/state.json +0 -0
  50. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/fixtures/static_state.json +0 -0
  51. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/fixtures/thermostat_hvac.json +0 -0
  52. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/fixtures/thermostat_temp.json +0 -0
  53. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/ruff.toml +0 -0
  54. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_api_initialization.py +0 -0
  55. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_api_validation.py +0 -0
  56. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_auth.py +0 -0
  57. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_bsblan.py +0 -0
  58. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_configuration.py +0 -0
  59. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_context_manager.py +0 -0
  60. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_device.py +0 -0
  61. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_dhw_time_switch.py +0 -0
  62. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_entity_info.py +0 -0
  63. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_hotwater_state.py +0 -0
  64. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_info.py +0 -0
  65. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_initialization.py +0 -0
  66. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_reset_validation.py +0 -0
  67. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_sensor.py +0 -0
  68. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_set_hotwater.py +0 -0
  69. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_state.py +0 -0
  70. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_static_state.py +0 -0
  71. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_temperature_unit.py +0 -0
  72. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_temperature_validation.py +0 -0
  73. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_thermostat.py +0 -0
  74. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_utility.py +0 -0
  75. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_utility_additional.py +0 -0
  76. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/tests/test_version_errors.py +0 -0
  77. {python_bsblan-2.2.3 → python_bsblan-2.2.4}/uv.lock +0 -0
@@ -79,10 +79,68 @@ jobs:
79
79
  echo "Checking file: $file"
80
80
  # Test file readability
81
81
  cat "$file" > /dev/null && echo "✓ File is readable" || echo "✗ File read error"
82
+ # Ensure file handles are closed
83
+ sync
82
84
  fi
83
85
  done
86
+ # Poll for file system operations to complete
87
+ max_wait_time=30
88
+ wait_interval=2
89
+ waited_time=0
90
+ while [ $waited_time -lt $max_wait_time ]; do
91
+ all_files_ready=true
92
+ for file in ./dist/*.sigstore.json; do
93
+ if [ -f "$file" ]; then
94
+ # Test file readability
95
+ if ! cat "$file" > /dev/null; then
96
+ echo "File $file is not readable yet."
97
+ all_files_ready=false
98
+ break
99
+ fi
100
+ else
101
+ echo "File $file does not exist yet."
102
+ all_files_ready=false
103
+ break
104
+ fi
105
+ done
106
+ if [ "$all_files_ready" = true ]; then
107
+ echo "All files are ready."
108
+ break
109
+ fi
110
+ echo "Waiting for files to be ready..."
111
+ sleep $wait_interval
112
+ waited_time=$((waited_time + wait_interval))
113
+ done
114
+ if [ $waited_time -ge $max_wait_time ]; then
115
+ echo "Error: Files not ready after $max_wait_time seconds."
116
+ exit 1
117
+ - name: 📋 List signature files explicitly
118
+ id: list-files
119
+ run: |
120
+ echo "signature_files<<EOF" >> $GITHUB_OUTPUT
121
+ find ./dist -name "*.sigstore.json" -type f | tr '\n' '\0' | xargs -0 -I {} echo "{}"
122
+ echo "EOF" >> $GITHUB_OUTPUT
123
+
124
+ # Also create a space-separated list for the upload action
125
+ FILES=$(find ./dist -name "*.sigstore.json" -type f | tr '\n' ' ')
126
+ echo "files_list=$FILES" >> $GITHUB_OUTPUT
127
+ echo "Found files: $FILES"
84
128
  - name: 📤 Upload signature files to release
85
- uses: softprops/action-gh-release@v2.3.0
86
129
  if: github.event_name == 'release' && github.event.action == 'published'
87
- with:
88
- files: ./dist/*.sigstore.json
130
+ run: |
131
+ # Upload files individually to avoid Node.js file handle issues
132
+ for file in ./dist/*.sigstore.json; do
133
+ if [ -f "$file" ]; then
134
+ echo "Uploading $file..."
135
+ # Use GitHub CLI for more reliable uploads
136
+ gh release upload ${{ github.event.release.tag_name }} "$file" --clobber
137
+ if [ $? -ne 0 ]; then
138
+ echo "✗ Failed to upload $file" >&2
139
+ exit 1
140
+ fi
141
+ echo "✓ Uploaded $file"
142
+ sleep 1 # Small delay between uploads
143
+ fi
144
+ done
145
+ env:
146
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-bsblan
3
- Version: 2.2.3
3
+ Version: 2.2.4
4
4
  Summary: Asynchronous Python client for BSBLAN API
5
5
  Project-URL: Homepage, https://github.com/liudger/python-bsblan
6
6
  Project-URL: Repository, https://github.com/liudger/python-bsblan
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "python-bsblan"
3
- version = "2.2.3"
3
+ version = "2.2.4"
4
4
  description = "Asynchronous Python client for BSBLAN API"
5
5
  authors = [
6
6
  {name = "Willem-Jan van Rootselaar", email = "liudgervr@gmail.com"}
File without changes
File without changes
File without changes
File without changes
File without changes