hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Copyright (C) 2016-2018 Wind River Systems, Inc.
#
# SPDX-License-Identifier: GPL-2.0-only
#
# The file contains:
#   LayerIndex exceptions
#   Plugin base class
#   Utility Functions for working on layerindex data
 
import logging
 
logger = logging.getLogger('BitBake.layerindexlib.plugin')
 
class LayerIndexPluginException(Exception):
    """LayerIndex Generic Exception"""
    def __init__(self, message):
         self.msg = message
         Exception.__init__(self, message)
 
    def __str__(self):
         return self.msg
 
class LayerIndexPluginUrlError(LayerIndexPluginException):
    """Exception raised when a plugin does not support a given URL type"""
    def __init__(self, plugin, url):
        msg = "%s does not support %s:" % (plugin, url)
        self.plugin = plugin
        self.url = url
        LayerIndexPluginException.__init__(self, msg)
 
class IndexPlugin():
    def __init__(self):
        self.type = None
 
    def init(self, layerindex):
        self.layerindex = layerindex
 
    def plugin_type(self):
        return self.type
 
    def load_index(self, uri):
        raise NotImplementedError('load_index is not implemented')
 
    def store_index(self, uri, index):
        raise NotImplementedError('store_index is not implemented')