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

Source Code for Module entropy.client.interfaces.loaders

 1  # -*- coding: utf-8 -*- 
 2  ''' 
 3      # DESCRIPTION: 
 4      # Entropy Object Oriented Interface 
 5   
 6      Copyright (C) 2007-2009 Fabio Erculiani 
 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 2 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 GNU General Public License 
19      along with this program; if not, write to the Free Software 
20      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
21  ''' 
22  from __future__ import with_statement 
23  from entropy.const import * 
24  from entropy.exceptions import * 
25   
26 -class LoadersMixin:
27 28 __QA_cache = {} 29 __security_cache = {} 30 __spm_cache = {}
31 - def __init__(self):
32 from entropy.client.interfaces.client import Client 33 from entropy.client.interfaces.trigger import Trigger 34 from entropy.client.interfaces.repository import Repository 35 from entropy.client.interfaces.package import Package 36 self.__PackageLoader = Package 37 self.__RepositoryLoader = Repository 38 self.__TriggerLoader = Trigger
39
40 - def closeAllQA(self):
41 self.__QA_cache.clear()
42
43 - def closeAllSecurity(self):
45
46 - def Security(self):
47 chroot = etpConst['systemroot'] 48 cached = self.__security_cache.get(chroot) 49 if cached != None: 50 return cached 51 from entropy.security import SecurityInterface 52 cached = SecurityInterface(self) 53 self.__security_cache[chroot] = cached 54 return cached
55
56 - def QA(self):
57 chroot = etpConst['systemroot'] 58 cached = self.__QA_cache.get(chroot) 59 if cached != None: 60 return cached 61 from entropy.qa import QAInterface 62 cached = QAInterface(self) 63 self.__QA_cache[chroot] = cached 64 return cached
65
66 - def Triggers(self, *args, **kwargs):
67 return self.__TriggerLoader(self, *args, **kwargs)
68
69 - def Repositories(self, reponames = [], forceUpdate = False, noEquoCheck = False, fetchSecurity = True):
70 return self.__RepositoryLoader(self, reponames = reponames, 71 forceUpdate = forceUpdate, noEquoCheck = noEquoCheck, 72 fetchSecurity = fetchSecurity)
73
74 - def Spm(self):
75 from entropy.spm import Spm 76 myroot = etpConst['systemroot'] 77 cached = self.__spm_cache.get(myroot) 78 if cached != None: return cached 79 conn = Spm(self) 80 self.__spm_cache[myroot] = conn.intf 81 return conn.intf
82
83 - def Package(self):
84 return self.__PackageLoader(self)
85