LSSTApplications  20.0.0
LSSTDataManagementBasePackage
transfer.py
Go to the documentation of this file.
1 # This file is part of daf_butler.
2 #
3 # Developed for the LSST Data Management System.
4 # This product includes software developed by the LSST Project
5 # (http://www.lsst.org).
6 # See the COPYRIGHT file at the top-level directory of this distribution
7 # for details of code ownership.
8 #
9 # This program is free software: you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation, either version 3 of the License, or
12 # (at your option) any later version.
13 #
14 # This program is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 # GNU General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with this program. If not, see <http://www.gnu.org/licenses/>.
21 
22 
23 import click
24 
25 allowed_types = ["auto", "link", "symlink", "hardlink", "copy", "move", "relsymlink"]
26 
27 
28 class transfer_option: # noqa: N801
29  def __init__(self, required=False, help=None):
30  self.required = required
31  self.help = "The external data transfer mode." if help is None else help
32 
33  def __call__(self, f):
34  return click.option("-t", "--transfer",
35  default="auto",
36  type=click.Choice(allowed_types),
37  required=self.required,
38  help=self.help)(f)
opt.transfer.transfer_option
Definition: transfer.py:28
opt.transfer.transfer_option.required
required
Definition: transfer.py:30
opt.transfer.transfer_option.help
help
Definition: transfer.py:31
opt.transfer.transfer_option.__call__
def __call__(self, f)
Definition: transfer.py:33
opt.transfer.transfer_option.__init__
def __init__(self, required=False, help=None)
Definition: transfer.py:29