dagster-dingtalk 0.1.5b1__py3-none-any.whl → 0.1.6__py3-none-any.whl
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.
- dagster_dingtalk/resources.py +20 -13
- {dagster_dingtalk-0.1.5b1.dist-info → dagster_dingtalk-0.1.6.dist-info}/METADATA +1 -1
- dagster_dingtalk-0.1.6.dist-info/RECORD +7 -0
- dagster_dingtalk-0.1.5b1.dist-info/RECORD +0 -7
- {dagster_dingtalk-0.1.5b1.dist-info → dagster_dingtalk-0.1.6.dist-info}/WHEEL +0 -0
dagster_dingtalk/resources.py
CHANGED
@@ -174,15 +174,16 @@ class DingTalkResource(ConfigurableResource):
|
|
174
174
|
return False
|
175
175
|
|
176
176
|
def _get_access_token(self) -> str:
|
177
|
-
access_token_cache = Path("
|
177
|
+
access_token_cache = Path("/tmp/.dingtalk_cache")
|
178
178
|
|
179
|
-
|
179
|
+
try:
|
180
180
|
with open(access_token_cache, 'rb') as f:
|
181
181
|
all_access_token: Dict[str, Tuple[str, int]] = pickle.loads(f.read())
|
182
|
-
|
182
|
+
access_token, expire_in = all_access_token.get(self.AppID, ('', 0))
|
183
|
+
except Exception as e:
|
184
|
+
print(e)
|
183
185
|
all_access_token = {}
|
184
|
-
|
185
|
-
access_token, expire_in = all_access_token.get(self.AppID, ('', 0))
|
186
|
+
access_token, expire_in = all_access_token.get(self.AppID, ('', 0))
|
186
187
|
|
187
188
|
if access_token and expire_in < int(time.time()):
|
188
189
|
return access_token
|
@@ -196,29 +197,35 @@ class DingTalkResource(ConfigurableResource):
|
|
196
197
|
expire_in:int = response.json().get("expireIn") + int(time.time()) - 60
|
197
198
|
with open(access_token_cache, 'wb') as f:
|
198
199
|
all_access_token[self.AppID] = (access_token, expire_in)
|
199
|
-
f.write(pickle.dumps(
|
200
|
+
f.write(pickle.dumps(all_access_token))
|
200
201
|
return access_token
|
201
202
|
|
203
|
+
def _init_client(self):
|
204
|
+
if not hasattr(self, '_client'):
|
205
|
+
self._client = DingTalkClient(
|
206
|
+
self._get_access_token(),
|
207
|
+
self.AppID,
|
208
|
+
self.AgentID,
|
209
|
+
self.RobotCode or self.ClientId
|
210
|
+
)
|
211
|
+
|
202
212
|
def setup_for_execution(self, context: InitResourceContext) -> None:
|
203
|
-
self.
|
213
|
+
self._init_client()
|
204
214
|
|
205
215
|
def teardown_after_execution(self, context: InitResourceContext) -> None:
|
206
216
|
self._client.api.close()
|
207
217
|
self._client.oapi.close()
|
208
218
|
|
209
219
|
def 智能人事(self):
|
210
|
-
|
211
|
-
self._client = DingTalkClient(self._get_access_token(), self.AppID, self.AgentID, self.RobotCode or self.ClientId)
|
220
|
+
self._init_client()
|
212
221
|
return API_智能人事(self._client)
|
213
222
|
|
214
223
|
def 通讯录管理(self):
|
215
|
-
|
216
|
-
self._client = DingTalkClient(self._get_access_token(), self.AppID, self.AgentID, self.RobotCode or self.ClientId)
|
224
|
+
self._init_client()
|
217
225
|
return API_通讯录管理(self._client)
|
218
226
|
|
219
227
|
def 文档文件(self):
|
220
|
-
|
221
|
-
self._client = DingTalkClient(self._get_access_token(), self.AppID, self.AgentID, self.RobotCode or self.ClientId)
|
228
|
+
self._init_client()
|
222
229
|
return API_文档文件(self._client)
|
223
230
|
|
224
231
|
|
@@ -0,0 +1,7 @@
|
|
1
|
+
dagster_dingtalk/__init__.py,sha256=ktvoURpkJwIzcyQfUvnel1KA4DukRgavAgLl7f0Cy_0,440
|
2
|
+
dagster_dingtalk/operations.py,sha256=xJJlOVmFjpaDTMkHZXxj5LbXqRtIQwREl9ZJdXIMOyE,788
|
3
|
+
dagster_dingtalk/resources.py,sha256=P5PW7xpIZ5FXyWsgIODR7RNRzysYeq7q0yrofIA3RdQ,15015
|
4
|
+
dagster_dingtalk/version.py,sha256=sXLh7g3KC4QCFxcZGBTpG2scR7hmmBsMjq6LqRptkRg,22
|
5
|
+
dagster_dingtalk-0.1.6.dist-info/METADATA,sha256=oQkzvE9EHHrNTT8kMLn2EiQw0Gh0uQKhVxjXAyIAR2Y,1659
|
6
|
+
dagster_dingtalk-0.1.6.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
7
|
+
dagster_dingtalk-0.1.6.dist-info/RECORD,,
|
@@ -1,7 +0,0 @@
|
|
1
|
-
dagster_dingtalk/__init__.py,sha256=ktvoURpkJwIzcyQfUvnel1KA4DukRgavAgLl7f0Cy_0,440
|
2
|
-
dagster_dingtalk/operations.py,sha256=xJJlOVmFjpaDTMkHZXxj5LbXqRtIQwREl9ZJdXIMOyE,788
|
3
|
-
dagster_dingtalk/resources.py,sha256=6S8pVSz0ZMumaibfsJ_ZTxJVUZOleotg1c4hzt_VPDk,15156
|
4
|
-
dagster_dingtalk/version.py,sha256=sXLh7g3KC4QCFxcZGBTpG2scR7hmmBsMjq6LqRptkRg,22
|
5
|
-
dagster_dingtalk-0.1.5b1.dist-info/METADATA,sha256=JeVAne_YvTbPe_Av_NPbuu5KpsKCsO0uJzNvarEfvLo,1661
|
6
|
-
dagster_dingtalk-0.1.5b1.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
7
|
-
dagster_dingtalk-0.1.5b1.dist-info/RECORD,,
|
File without changes
|