Package entropy :: Package client :: Package interfaces :: Module loaders

Source Code for Module entropy.client.interfaces.loaders

 1  # -*- coding: utf-8 -*- 
 2  """ 
 3   
 4      @author: Fabio Erculiani <lxnay@sabayonlinux.org> 
 5      @contact: lxnay@sabayonlinux.org 
 6      @copyright: Fabio Erculiani 
 7      @license: GPL-2 
 8   
 9      B{Entropy Package Manager Client Instance Loaders Interface}. 
10   
11  """ 
12  from __future__ import with_statement 
13  from entropy.spm.plugins.factory import get_default_instance as get_spm, \ 
14      get_default_class as get_spm_default_class 
15  from entropy.const import * 
16  from entropy.exceptions import * 
17   
18 -class LoadersMixin:
19 20 __QA_cache = {} 21 __security_cache = {} 22 __spm_cache = {}
23 - def __init__(self):
24 from entropy.client.interfaces.client import Client 25 from entropy.client.interfaces.trigger import Trigger 26 from entropy.client.interfaces.repository import Repository 27 from entropy.client.interfaces.package import Package 28 self.__PackageLoader = Package 29 self.__RepositoryLoader = Repository 30 self.__TriggerLoader = Trigger
31
32 - def closeAllQA(self):
33 self.__QA_cache.clear()
34
35 - def closeAllSecurity(self):
37
38 - def Security(self):
39 chroot = etpConst['systemroot'] 40 cached = self.__security_cache.get(chroot) 41 if cached != None: 42 return cached 43 from entropy.security import SecurityInterface 44 cached = SecurityInterface(self) 45 self.__security_cache[chroot] = cached 46 return cached
47
48 - def QA(self):
49 chroot = etpConst['systemroot'] 50 cached = self.__QA_cache.get(chroot) 51 if cached != None: 52 return cached 53 from entropy.qa import QAInterface 54 cached = QAInterface(self) 55 self.__QA_cache[chroot] = cached 56 return cached
57
58 - def Triggers(self, *args, **kwargs):
59 return self.__TriggerLoader(self, *args, **kwargs)
60
61 - def Repositories(self, reponames = [], forceUpdate = False, noEquoCheck = False, fetchSecurity = True):
62 return self.__RepositoryLoader(self, reponames = reponames, 63 forceUpdate = forceUpdate, noEquoCheck = noEquoCheck, 64 fetchSecurity = fetchSecurity)
65
66 - def Spm(self):
67 myroot = etpConst['systemroot'] 68 cached = self.__spm_cache.get(myroot) 69 if cached is not None: 70 return cached 71 spm = get_spm(self) 72 self.__spm_cache[myroot] = spm 73 return spm
74
75 - def Spm_class(self):
76 """ 77 Return Source Package Manager default plugin class. 78 """ 79 return get_spm_default_class()
80
81 - def Package(self):
82 return self.__PackageLoader(self)
83