lsst.pex.policy  13.0-2-g4b114ac
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
urnPolicyFile.cc
Go to the documentation of this file.
1 /*
2  * LSST Data Management System
3  * Copyright 2008-2016 AURA/LSST.
4  *
5  * This product includes software developed by the
6  * LSST Project (http://www.lsst.org/).
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the LSST License Statement and
19  * the GNU General Public License along with this program. If not,
20  * see <https://www.lsstcorp.org/LegalNotices/>.
21  */
22 
23 #include "pybind11/pybind11.h"
24 
27 
28 namespace py = pybind11;
29 using namespace pybind11::literals;
30 
31 namespace lsst {
32 namespace pex {
33 namespace policy {
34 
35 PYBIND11_PLUGIN(urnPolicyFile) {
36  py::module mod("urnPolicyFile");
37 
38  py::class_<UrnPolicyFile, std::shared_ptr<UrnPolicyFile>, DefaultPolicyFile> cls(mod, "UrnPolicyFile");
39 
40  cls.def(py::init<const std::string&, bool, bool>(), "urn"_a, "strictUrn"_a = false,
41  "strictLoads"_a = true);
42 
43  cls.def_static("productNameFromUrn", &UrnPolicyFile::productNameFromUrn);
44  cls.def_static("filePathFromUrn", &UrnPolicyFile::filePathFromUrn);
45  cls.def_static("reposFromUrn", &UrnPolicyFile::reposFromUrn);
46  cls.def_readonly_static("URN_PREFIX", &UrnPolicyFile::URN_PREFIX);
47  cls.def_readonly_static("URN_PREFIX_ABBREV", &UrnPolicyFile::URN_PREFIX_ABBREV);
48  cls.def_static("looksLikeUrn", &UrnPolicyFile::looksLikeUrn);
49 
50  return mod.ptr();
51 }
52 
53 } // policy
54 } // pex
55 } // lsst
the definition of the DefaultPolicyFile class
a representation of a default Policy file that is stored as a file in the installation directory of a...
PYBIND11_PLUGIN(defaultPolicyFile)
the definition of the UrnPolicyFile class