|
6 | 6 | import logging |
7 | 7 | import typing as t |
8 | 8 |
|
9 | | -from globus_sdk._internal.utils import slash_join |
10 | 9 | from globus_sdk._missing import MISSING, MissingType |
11 | 10 | from globus_sdk._payload import GlobusPayload |
12 | | -from globus_sdk.config import get_service_url |
13 | | -from globus_sdk.exc import warn_deprecated |
14 | 11 | from globus_sdk.services.transfer import TransferData |
15 | 12 |
|
16 | 13 | log = logging.getLogger(__name__) |
@@ -266,69 +263,6 @@ def __init__( |
266 | 263 | if scope is not None: |
267 | 264 | self["scope"] = scope |
268 | 265 |
|
269 | | - @classmethod |
270 | | - def from_transfer_data( |
271 | | - cls, |
272 | | - transfer_data: TransferData | dict[str, t.Any], |
273 | | - start: dt.datetime | str, |
274 | | - interval: dt.timedelta | int | None, |
275 | | - *, |
276 | | - name: str | None = None, |
277 | | - stop_after: dt.datetime | None = None, |
278 | | - stop_after_n: int | None = None, |
279 | | - scope: str | None = None, |
280 | | - environment: str | None = None, |
281 | | - ) -> TimerJob: |
282 | | - r""" |
283 | | - Specify data to create a Timers job using the parameters for a transfer. Timers |
284 | | - will use those parameters to run the defined transfer operation, recurring at |
285 | | - the given interval. |
286 | | -
|
287 | | - :param transfer_data: A :class:`TransferData <globus_sdk.TransferData>` object. |
288 | | - Construct this object exactly as you would normally; Timers will use this to |
289 | | - run the recurring transfer. |
290 | | - :param start: The datetime at which to start the Timers job. |
291 | | - :param interval: The interval at which the Timers job should recur. Interpreted |
292 | | - as seconds if specified as an integer. If ``stop_after_n == 1``, i.e. the |
293 | | - job is set to run only a single time, then interval *must* be None. |
294 | | - :param name: A (not necessarily unique) name to identify this job in Timers |
295 | | - :param stop_after: A date after which the Timers job will stop running |
296 | | - :param stop_after_n: A number of executions after which the Timers job will stop |
297 | | - :param scope: Timers defaults to the Transfer 'all' scope. Use this parameter to |
298 | | - change the scope used by Timers when calling the Transfer Action Provider. |
299 | | - :param environment: For internal use: because this method needs to generate a |
300 | | - URL for the Transfer Action Provider, this argument can control which |
301 | | - environment the Timers job is sent to. |
302 | | - """ |
303 | | - warn_deprecated( |
304 | | - "TimerJob.from_transfer_data(X, ...) is deprecated. " |
305 | | - "Prefer TransferTimer(body=X, ...) instead." |
306 | | - ) |
307 | | - |
308 | | - transfer_action_url = slash_join( |
309 | | - get_service_url("actions", environment=environment), "transfer/transfer/run" |
310 | | - ) |
311 | | - log.debug( |
312 | | - "Creating TimerJob from TransferData, action_url=%s", transfer_action_url |
313 | | - ) |
314 | | - for key in ("submission_id", "skip_activation_check"): |
315 | | - if transfer_data.get(key, MISSING) is not MISSING: |
316 | | - raise ValueError( |
317 | | - f"cannot create TimerJob from TransferData which has {key} set" |
318 | | - ) |
319 | | - # dict will either convert a `TransferData` object or leave us with a dict here |
320 | | - callback_body = {"body": dict(transfer_data)} |
321 | | - return cls( |
322 | | - transfer_action_url, |
323 | | - callback_body, |
324 | | - start, |
325 | | - interval, |
326 | | - name=name, |
327 | | - stop_after=stop_after, |
328 | | - stop_after_n=stop_after_n, |
329 | | - scope=scope, |
330 | | - ) |
331 | | - |
332 | 266 |
|
333 | 267 | def _format_date(date: str | dt.datetime | MissingType) -> str | MissingType: |
334 | 268 | if isinstance(date, dt.datetime): |
|
0 commit comments