Package entropy :: Package client :: Module mirrors

Source Code for Module entropy.client.mirrors

 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 Download Mirrors Interface}. 
10   
11  """ 
12   
13 -class StatusInterface(dict):
14
15 - def __init__(self):
16 self.__last_mirrorname = None 17 dict.__init__(self)
18
19 - def add_failing_mirror(self, mirrorname, increment = 1):
20 if not self.has_key(mirrorname): 21 self[mirrorname] = 0 22 self[mirrorname] += increment 23 return self[mirrorname]
24
25 - def get_failing_mirror_status(self, mirrorname):
26 return self.get(mirrorname,0)
27
28 - def set_failing_mirror_status(self, mirrorname, value):
29 self[mirrorname] = value
30
31 - def set_working_mirror(self, mirrorname):
32 self.__last_mirrorname = mirrorname
33
34 - def add_failing_working_mirror(self, value):
35 if self.__last_mirrorname: 36 self.add_failing_mirror(self.__last_mirrorname, value)
37
38 - def clear(self):
39 self.__last_mirrorname = None 40 return dict.clear(self)
41