deepfos 1.1.69__tar.gz → 1.1.70__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 (191) hide show
  1. {deepfos-1.1.69 → deepfos-1.1.70}/CHANGELOG.md +7 -0
  2. {deepfos-1.1.69 → deepfos-1.1.70}/PKG-INFO +1 -1
  3. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/_version.py +3 -3
  4. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/system.py +2 -0
  5. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/msg.py +15 -3
  6. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos.egg-info/PKG-INFO +1 -1
  7. {deepfos-1.1.69 → deepfos-1.1.70}/.gitattributes +0 -0
  8. {deepfos-1.1.69 → deepfos-1.1.70}/.gitee/ISSUE_GUIDELINES.md +0 -0
  9. {deepfos-1.1.69 → deepfos-1.1.70}/.gitee/ISSUE_TEMPLATE.md +0 -0
  10. {deepfos-1.1.69 → deepfos-1.1.70}/.gitignore +0 -0
  11. {deepfos-1.1.69 → deepfos-1.1.70}/MANIFEST.in +0 -0
  12. {deepfos-1.1.69 → deepfos-1.1.70}/README.md +0 -0
  13. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/__init__.py +0 -0
  14. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/algo/__init__.py +0 -0
  15. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/algo/graph.py +0 -0
  16. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/V1_1/__init__.py +0 -0
  17. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/V1_1/business_model.py +0 -0
  18. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/V1_1/dimension.py +0 -0
  19. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/V1_1/models/__init__.py +0 -0
  20. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/V1_1/models/business_model.py +0 -0
  21. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/V1_1/models/dimension.py +0 -0
  22. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/V1_2/__init__.py +0 -0
  23. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/V1_2/dimension.py +0 -0
  24. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/V1_2/models/__init__.py +0 -0
  25. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/V1_2/models/dimension.py +0 -0
  26. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/__init__.py +0 -0
  27. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/account.py +0 -0
  28. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/accounting_engines.py +0 -0
  29. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/app.py +0 -0
  30. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/approval_process.py +0 -0
  31. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/base.py +0 -0
  32. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/business_model.py +0 -0
  33. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/consolidation.py +0 -0
  34. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/consolidation_process.py +0 -0
  35. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/datatable.py +0 -0
  36. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/deep_pipeline.py +0 -0
  37. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/deepconnector.py +0 -0
  38. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/deepfos_task.py +0 -0
  39. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/deepmodel.py +0 -0
  40. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/dimension.py +0 -0
  41. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/financial_model.py +0 -0
  42. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/journal_model.py +0 -0
  43. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/journal_template.py +0 -0
  44. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/memory_financial_model.py +0 -0
  45. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/__init__.py +0 -0
  46. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/account.py +0 -0
  47. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/accounting_engines.py +0 -0
  48. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/app.py +0 -0
  49. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/approval_process.py +0 -0
  50. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/base.py +0 -0
  51. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/business_model.py +0 -0
  52. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/consolidation.py +0 -0
  53. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/consolidation_process.py +0 -0
  54. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/datatable_mysql.py +0 -0
  55. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/deep_pipeline.py +0 -0
  56. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/deepconnector.py +0 -0
  57. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/deepfos_task.py +0 -0
  58. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/deepmodel.py +0 -0
  59. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/dimension.py +0 -0
  60. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/financial_model.py +0 -0
  61. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/journal_model.py +0 -0
  62. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/journal_template.py +0 -0
  63. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/memory_financial_model.py +0 -0
  64. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/platform.py +0 -0
  65. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/python.py +0 -0
  66. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/reconciliation_engine.py +0 -0
  67. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/reconciliation_report.py +0 -0
  68. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/role_strategy.py +0 -0
  69. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/smartlist.py +0 -0
  70. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/space.py +0 -0
  71. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/variable.py +0 -0
  72. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/models/workflow.py +0 -0
  73. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/platform.py +0 -0
  74. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/python.py +0 -0
  75. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/reconciliation_engine.py +0 -0
  76. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/reconciliation_report.py +0 -0
  77. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/role_strategy.py +0 -0
  78. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/smartlist.py +0 -0
  79. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/space.py +0 -0
  80. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/system.py +0 -0
  81. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/variable.py +0 -0
  82. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/api/workflow.py +0 -0
  83. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/boost/__init__.py +0 -0
  84. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/boost/jstream.c +0 -0
  85. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/boost/jstream.pyx +0 -0
  86. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/boost/pandas.c +0 -0
  87. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/boost/pandas.pyx +0 -0
  88. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/boost/py_jstream.py +0 -0
  89. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/boost/py_pandas.py +0 -0
  90. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/cache.py +0 -0
  91. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/config.py +0 -0
  92. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/__init__.py +0 -0
  93. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/cube/__init__.py +0 -0
  94. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/cube/_base.py +0 -0
  95. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/cube/constants.py +0 -0
  96. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/cube/cube.py +0 -0
  97. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/cube/formula.py +0 -0
  98. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/cube/syscube.py +0 -0
  99. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/cube/typing.py +0 -0
  100. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/cube/utils.py +0 -0
  101. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/dimension/__init__.py +0 -0
  102. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/dimension/_base.py +0 -0
  103. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/dimension/dimcreator.py +0 -0
  104. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/dimension/dimension.py +0 -0
  105. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/dimension/dimexpr.py +0 -0
  106. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/dimension/dimmember.py +0 -0
  107. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/dimension/eledimension.py +0 -0
  108. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/dimension/filters.py +0 -0
  109. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/dimension/sysdimension.py +0 -0
  110. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/logictable/__init__.py +0 -0
  111. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/logictable/_cache.py +0 -0
  112. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/logictable/_operator.py +0 -0
  113. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/logictable/nodemixin.py +0 -0
  114. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/logictable/sqlcondition.py +0 -0
  115. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/core/logictable/tablemodel.py +0 -0
  116. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/__init__.py +0 -0
  117. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/cipher.py +0 -0
  118. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/clickhouse.py +0 -0
  119. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/connector.py +0 -0
  120. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/daclickhouse.py +0 -0
  121. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/dameng.py +0 -0
  122. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/damysql.py +0 -0
  123. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/dbkits.py +0 -0
  124. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/deepengine.py +0 -0
  125. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/deepmodel.py +0 -0
  126. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/deepmodel_kingbase.py +0 -0
  127. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/edb.py +0 -0
  128. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/gauss.py +0 -0
  129. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/kingbase.py +0 -0
  130. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/mysql.py +0 -0
  131. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/oracle.py +0 -0
  132. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/postgresql.py +0 -0
  133. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/sqlserver.py +0 -0
  134. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/db/utils.py +0 -0
  135. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/__init__.py +0 -0
  136. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/accounting.py +0 -0
  137. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/apvlprocess.py +0 -0
  138. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/base.py +0 -0
  139. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/bizmodel.py +0 -0
  140. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/datatable.py +0 -0
  141. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/deep_pipeline.py +0 -0
  142. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/deepconnector.py +0 -0
  143. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/deepmodel.py +0 -0
  144. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/dimension.py +0 -0
  145. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/fact_table.py +0 -0
  146. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/finmodel.py +0 -0
  147. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/journal.py +0 -0
  148. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/journal_template.py +0 -0
  149. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/pyscript.py +0 -0
  150. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/reconciliation.py +0 -0
  151. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/rolestrategy.py +0 -0
  152. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/smartlist.py +0 -0
  153. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/variable.py +0 -0
  154. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/element/workflow.py +0 -0
  155. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/exceptions/__init__.py +0 -0
  156. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/exceptions/hook.py +0 -0
  157. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lazy.py +0 -0
  158. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/__init__.py +0 -0
  159. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/_javaobj.py +0 -0
  160. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/asynchronous.py +0 -0
  161. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/concurrency.py +0 -0
  162. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/constant.py +0 -0
  163. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/decorator.py +0 -0
  164. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/deepchart.py +0 -0
  165. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/deepux.py +0 -0
  166. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/discovery.py +0 -0
  167. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/edb_lexer.py +0 -0
  168. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/eureka.py +0 -0
  169. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/filterparser.py +0 -0
  170. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/httpcli.py +0 -0
  171. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/jsonstreamer.py +0 -0
  172. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/nacos.py +0 -0
  173. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/patch.py +0 -0
  174. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/redis.py +0 -0
  175. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/serutils.py +0 -0
  176. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/stopwatch.py +0 -0
  177. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/subtask.py +0 -0
  178. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/sysutils.py +0 -0
  179. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/lib/utils.py +0 -0
  180. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/local.py +0 -0
  181. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/options.py +0 -0
  182. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos/translation.py +0 -0
  183. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos.egg-info/SOURCES.txt +0 -0
  184. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos.egg-info/dependency_links.txt +0 -0
  185. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos.egg-info/not-zip-safe +0 -0
  186. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos.egg-info/requires.txt +0 -0
  187. {deepfos-1.1.69 → deepfos-1.1.70}/deepfos.egg-info/top_level.txt +0 -0
  188. {deepfos-1.1.69 → deepfos-1.1.70}/requirements.txt +0 -0
  189. {deepfos-1.1.69 → deepfos-1.1.70}/setup.cfg +0 -0
  190. {deepfos-1.1.69 → deepfos-1.1.70}/setup.py +0 -0
  191. {deepfos-1.1.69 → deepfos-1.1.70}/versioneer.py +0 -0
@@ -1,3 +1,10 @@
1
+ ## [1.1.70] - 2025-08-19
2
+
3
+ ### 新增
4
+
5
+ * 消息中心推送增加抄送用户、用户组参数
6
+
7
+
1
8
  ## [1.1.69] - 2025-08-12
2
9
 
3
10
  ### 新增
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: deepfos
3
- Version: 1.1.69
3
+ Version: 1.1.70
4
4
  Summary: Collecions of useful and handy tools for deepfos platform
5
5
  Home-page: http://py.deepfos.com
6
6
  Author: deepfos-python-team
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2025-08-13T05:47:18+0000",
11
+ "date": "2025-08-18T10:23:53+0000",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "8ee03bc48deaa7e1f492dac1690e50b4097da6ea",
15
- "version": "1.1.69"
14
+ "full-revisionid": "7c62afcad8175dbdb4e323deb062c91083af3793",
15
+ "version": "1.1.70"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -954,6 +954,8 @@ class MsgPushHasAttachmentRequestVO(BaseModel):
954
954
  params: Optional[List[MessageTemplateParamVO]] = None
955
955
  #: 接收对象(用户/用户组)
956
956
  receiver: List[MessageReceiverVO]
957
+ #: 抄送对象(用户/用户组)
958
+ ccEmail: Optional[List[MessageReceiverVO]] = None
957
959
  #: 发送人
958
960
  sender: Optional[str] = None
959
961
  #: 模板编码
@@ -110,7 +110,7 @@ class AsyncMsgCenter:
110
110
  title_param: Dict[str, str] = None,
111
111
  content_param: Dict[str, str] = None,
112
112
  attachments: Dict[str, Union[str, bytes]] = None,
113
- cc_email: List[str] = None,
113
+ cc_email: List = None,
114
114
  api_idx: Literal[0, 1] = 0,
115
115
  success_rule: Literal['partial', 'all'] = 'all'
116
116
  ) -> List:
@@ -158,7 +158,9 @@ class AsyncMsgCenter:
158
158
  title_param: Dict[str, str] = None,
159
159
  content_param: Dict[str, str] = None,
160
160
  attachments: Dict[str, Union[str, bytes]] = None,
161
- success_rule: Literal['partial', 'all'] = 'all'
161
+ success_rule: Literal['partial', 'all'] = 'all',
162
+ cc_users: List[str] = None,
163
+ cc_groups: List[str] = None,
162
164
  ) -> List:
163
165
  """推送指定消息模版的消息
164
166
 
@@ -171,6 +173,8 @@ class AsyncMsgCenter:
171
173
  content_param: 可选,内容变量
172
174
  attachments: 可选,站内消息或邮箱的消息附件,以 文件名: 文件(字符串/bytes) 的字典形式提供
173
175
  success_rule: 可选,发送成功规则,'partial' 表示部分成功即可,'all' 表示所有收件人都必须成功
176
+ cc_users: 可选,抄送人userid列表
177
+ cc_groups: 可选,抄送人groupid列表
174
178
 
175
179
  .. admonition:: 示例
176
180
 
@@ -217,6 +221,11 @@ class AsyncMsgCenter:
217
221
  receivers.extend([{'id': r, 'type': 'USER'} for r in receiver_users])
218
222
  if receiver_groups:
219
223
  receivers.extend([{'id': r, 'type': 'GROUP'} for r in receiver_groups])
224
+ cc_email = []
225
+ if cc_users:
226
+ cc_email.extend([{'id': r, 'type': 'USER'} for r in cc_users])
227
+ if cc_groups:
228
+ cc_email.extend([{'id': r, 'type': 'GROUP'} for r in cc_groups])
220
229
 
221
230
  if not receivers:
222
231
  raise ValueError('需提供receiver_users和receiver_groups中的至少一项')
@@ -225,6 +234,7 @@ class AsyncMsgCenter:
225
234
  template, sender=sender, receivers=receivers,
226
235
  title_param=title_param, content_param=content_param,
227
236
  attachments=attachments, success_rule=success_rule,
237
+ cc_email=cc_email
228
238
  )
229
239
 
230
240
  async def send_mail(
@@ -379,7 +389,9 @@ class MsgCenter(AsyncMsgCenter, metaclass=SyncMeta):
379
389
  title_param: Dict[str, str] = None,
380
390
  content_param: Dict[str, str] = None,
381
391
  attachments: Dict[str, Union[str, bytes]] = None,
382
- success_rule: Literal['partial', 'all'] = 'all'
392
+ success_rule: Literal['partial', 'all'] = 'all',
393
+ cc_users: List[str] = None,
394
+ cc_groups: List[str] = None,
383
395
  ) -> List:
384
396
  ...
385
397
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: deepfos
3
- Version: 1.1.69
3
+ Version: 1.1.70
4
4
  Summary: Collecions of useful and handy tools for deepfos platform
5
5
  Home-page: http://py.deepfos.com
6
6
  Author: deepfos-python-team
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes