Package entropy :: Package client :: Module mirrors

Source Code for Module entropy.client.mirrors

 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   
23 -class StatusInterface(dict):
24
25 - def __init__(self):
26 self.__last_mirrorname = None 27 dict.__init__(self)
28
29 - def add_failing_mirror(self, mirrorname, increment = 1):
30 if not self.has_key(mirrorname): 31 self[mirrorname] = 0 32 self[mirrorname] += increment 33 return self[mirrorname]
34
35 - def get_failing_mirror_status(self, mirrorname):
36 return self.get(mirrorname,0)
37
38 - def set_failing_mirror_status(self, mirrorname, value):
39 self[mirrorname] = value
40
41 - def set_working_mirror(self, mirrorname):
42 self.__last_mirrorname = mirrorname
43
44 - def add_failing_working_mirror(self, value):
45 if self.__last_mirrorname: 46 self.add_failing_mirror(self.__last_mirrorname, value)
47
48 - def clear(self):
49 self.__last_mirrorname = None 50 return dict.clear(self)
51