solax-py-library 1.0.0.2513__tar.gz → 1.0.0.2514__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 (80) hide show
  1. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/PKG-INFO +1 -1
  2. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/pyproject.toml +1 -1
  3. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/core/condition/base.py +4 -2
  4. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/core/condition/date_condition.py +3 -9
  5. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/core/condition/system_condition.py +3 -5
  6. solax_py_library-1.0.0.2514/solax_py_library/test/test_smart_scene/test_condition.py +11 -0
  7. solax_py_library-1.0.0.2514/solax_py_library/utils/__init__.py +0 -0
  8. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/README.md +0 -0
  9. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/__init__.py +0 -0
  10. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/device/__init__.py +0 -0
  11. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/device/constant/__init__.py +0 -0
  12. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/device/constant/cabinet.py +0 -0
  13. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/device/constant/inverter_model_info.py +0 -0
  14. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/device/core/__init__.py +0 -0
  15. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/device/core/interver/__init__.py +0 -0
  16. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/device/core/interver/base.py +0 -0
  17. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/device/types/__init__.py +0 -0
  18. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/device/types/alarm.py +0 -0
  19. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/device/types/inverter_config.py +0 -0
  20. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/device/types/modbus_point.py +0 -0
  21. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/exception.py +0 -0
  22. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/__init__.py +0 -0
  23. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/constant/__init__.py +0 -0
  24. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/constant/message_entry.py +0 -0
  25. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/core/__init__.py +0 -0
  26. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/core/action/__init__.py +0 -0
  27. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/core/action/base.py +0 -0
  28. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/core/action/ems_action.py +0 -0
  29. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/core/action/system_action.py +0 -0
  30. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/core/condition/__init__.py +0 -0
  31. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/core/condition/cabinet_condition.py +0 -0
  32. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/core/condition/price_condition.py +0 -0
  33. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/core/condition/weather_condition.py +0 -0
  34. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/core/service/__init__.py +0 -0
  35. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/core/service/runner.py +0 -0
  36. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/exceptions/__init__.py +0 -0
  37. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/exceptions/price.py +0 -0
  38. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/exceptions/smart_scene.py +0 -0
  39. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/exceptions/weather.py +0 -0
  40. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/types/__init__.py +0 -0
  41. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/types/action.py +0 -0
  42. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/types/condition.py +0 -0
  43. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/smart_scene/types/smart_scene_content.py +0 -0
  44. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/snap_shot/__init__.py +0 -0
  45. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/snap_shot/constant/__init__.py +0 -0
  46. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/snap_shot/constant/crc_table.py +0 -0
  47. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/snap_shot/core/__init__.py +0 -0
  48. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/snap_shot/core/base_modbus.py +0 -0
  49. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/snap_shot/core/parser.py +0 -0
  50. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/snap_shot/core/snap_shot.py +0 -0
  51. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/snap_shot/exceptions/__init__.py +0 -0
  52. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/snap_shot/exceptions/snap_shot.py +0 -0
  53. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/snap_shot/test/__init__.py +0 -0
  54. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/snap_shot/types/__init__.py +0 -0
  55. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/snap_shot/types/address.py +0 -0
  56. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/test/__init__.py +0 -0
  57. {solax_py_library-1.0.0.2513/solax_py_library/test/test_utils → solax_py_library-1.0.0.2514/solax_py_library/test/test_smart_scene}/__init__.py +0 -0
  58. {solax_py_library-1.0.0.2513/solax_py_library/upload/test → solax_py_library-1.0.0.2514/solax_py_library/test/test_utils}/__init__.py +0 -0
  59. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/test/test_utils/test_cloud_client.py +0 -0
  60. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/__init__.py +0 -0
  61. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/api/__init__.py +0 -0
  62. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/api/service.py +0 -0
  63. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/core/__init__.py +0 -0
  64. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/core/data_adapter/__init__.py +0 -0
  65. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/core/data_adapter/base.py +0 -0
  66. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/core/data_adapter/csv.py +0 -0
  67. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/core/upload_service/__init__.py +0 -0
  68. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/core/upload_service/base.py +0 -0
  69. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/core/upload_service/ftp.py +0 -0
  70. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/exceptions/__init__.py +0 -0
  71. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/exceptions/upload_error.py +0 -0
  72. {solax_py_library-1.0.0.2513/solax_py_library/utils → solax_py_library-1.0.0.2514/solax_py_library/upload/test}/__init__.py +0 -0
  73. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/test/test_ftp.py +0 -0
  74. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/types/__init__.py +0 -0
  75. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/types/client.py +0 -0
  76. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/upload/types/ftp.py +0 -0
  77. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/utils/cloud_client.py +0 -0
  78. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/utils/common.py +0 -0
  79. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/utils/struct_util.py +0 -0
  80. {solax_py_library-1.0.0.2513 → solax_py_library-1.0.0.2514}/solax_py_library/utils/time_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: solax-py-library
3
- Version: 1.0.0.2513
3
+ Version: 1.0.0.2514
4
4
  Summary: some common tool
5
5
  Author: shenlvyu
6
6
  Author-email: 13296718439@163.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "solax-py-library"
3
- version = "1.0.0.2513"
3
+ version = "1.0.0.2514"
4
4
  description = "some common tool"
5
5
  authors = ["shenlvyu <13296718439@163.com>", "x5m8944pjl <371630856@qq.com>"]
6
6
  readme = "README.md"
@@ -8,8 +8,10 @@ class BaseCondition(object):
8
8
  self.update_value_function = update_value_function
9
9
 
10
10
  def update_value(self):
11
- self.update_value_function()
12
- print(self.value)
11
+ new_value = self.update_value_function()
12
+ if not isinstance(new_value, dict):
13
+ raise ValueError("update_value_function must return a dict")
14
+ self.value.update(new_value)
13
15
 
14
16
  def meet_func(self, data, ctx):
15
17
  ...
@@ -1,5 +1,3 @@
1
- from datetime import datetime
2
-
3
1
  from solax_py_library.smart_scene.core.condition.base import BaseCondition
4
2
  from solax_py_library.smart_scene.types.condition import (
5
3
  DateConditionItemData,
@@ -14,16 +12,12 @@ class DateCondition(BaseCondition):
14
12
  def __init__(self, update_value_function, **kwargs):
15
13
  super().__init__(update_value_function, **kwargs)
16
14
 
17
- def _update_value(self):
18
- """获取time 类型需要的数据"""
19
- now = datetime.now()
20
- self.hour = now.hour
21
- self.minute = now.minute
22
-
23
15
  def meet_func(self, data: DateConditionItemData, ctx):
24
16
  if data.childType == DateConditionType.time:
25
17
  date = data.childData.data[0]
26
18
  hour, minute = date.split(":")
27
- if int(hour) == self.hour and int(minute) == self.minute:
19
+ if int(hour) == self.value.get("hour") and int(minute) == self.value.get(
20
+ "minute"
21
+ ):
28
22
  return True
29
23
  return False
@@ -11,8 +11,6 @@ class SystemCondition(BaseCondition):
11
11
 
12
12
  def __init__(self, update_value_function, **kwargs):
13
13
  super().__init__(update_value_function, **kwargs)
14
- self.grid_active_power = None
15
- self.system_soc = None
16
14
 
17
15
  def meet_system_condition(self, data: SystemConditionItemData, ctx):
18
16
  if not self.value:
@@ -21,15 +19,15 @@ class SystemCondition(BaseCondition):
21
19
  function_value = child_data.function
22
20
  compare_value = None
23
21
  if data.childType == SystemConditionType.systemExportPower:
24
- compare_value = self.grid_active_power
22
+ compare_value = self.value.get("grid_active_power")
25
23
  if compare_value < 0:
26
24
  return False
27
25
  elif data.childType == SystemConditionType.systemImportPower:
28
- compare_value = self.grid_active_power
26
+ compare_value = self.value.get("grid_active_power")
29
27
  if compare_value > 0:
30
28
  return False
31
29
  elif data.childType == SystemConditionType.systemSoc:
32
- compare_value = self.system_soc
30
+ compare_value = self.value.get("system_soc")
33
31
  if compare_value is None:
34
32
  return False
35
33
  return function_value.function()(
@@ -0,0 +1,11 @@
1
+ from unittest import TestCase
2
+
3
+ from solax_py_library.smart_scene.core.condition import DateCondition, BaseCondition
4
+
5
+
6
+ class TestCondition(TestCase):
7
+ def test_condition(self):
8
+ date_condition = DateCondition(
9
+ update_value_function=lambda: 1,
10
+ )
11
+ assert isinstance(date_condition, BaseCondition)