| # |
| # Copyright (C) 2018 Codethink Limited |
| # |
| # This program is free software; you can redistribute it and/or |
| # modify it under the terms of the GNU Lesser General Public |
| # License as published by the Free Software Foundation; either |
| # version 2 of the License, or (at your option) any later version. |
| # |
| # This library is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| # Lesser General Public License for more details. |
| # |
| # You should have received a copy of the GNU Lesser General Public |
| # License along with this library. If not, see <http://www.gnu.org/licenses/>. |
| # |
| # Authors: |
| # Jim MacArthur <jim.macarthur@codethink.co.uk> |
| |
| |
| # SandboxConfig |
| # |
| # A container for sandbox configuration data. We want the internals |
| # of this to be opaque, hence putting it in its own private file. |
| class SandboxConfig: |
| def __init__(self, build_uid, build_gid, build_os=None, build_arch=None): |
| self.build_uid = build_uid |
| self.build_gid = build_gid |
| self.build_os = build_os |
| self.build_arch = build_arch |
| |
| # get_unique_key(): |
| # |
| # This returns the SandboxConfig's contribution |
| # to an element's cache key. |
| # |
| # Returns: |
| # (dict): A dictionary to add to an element's cache key |
| # |
| def get_unique_key(self): |
| |
| unique_key = {"os": self.build_os, "arch": self.build_arch} |
| |
| if self.build_uid is not None: |
| unique_key["build-uid"] = self.build_uid |
| |
| if self.build_gid is not None: |
| unique_key["build-gid"] = self.build_gid |
| |
| return unique_key |