~ubuntu-branches/ubuntu/utopic/gozerbot/utopic

« back to all changes in this revision

Viewing changes to gozerbot/dol.py

  • Committer: Bazaar Package Importer
  • Author(s): Jeremy Malcolm
  • Date: 2009-09-14 09:00:29 UTC
  • mfrom: (1.1.4 upstream) (3.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20090914090029-uval0ekt72kmklxw
Tags: 0.9.1.3-3
Changed dependency on python-setuptools to python-pkg-resources
(Closes: #546435) 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# gozerbot/dol.py
2
 
#
3
 
#
4
 
 
5
 
""" dict of lists """
6
 
 
7
 
__copyright__ = 'this file is in the public domain'
8
 
 
9
 
class Dol(dict):
10
 
 
11
 
    """ dol is dict of lists """
12
 
 
13
 
    def insert(self, nr, item, issue):
14
 
        """ add issue to item entry """
15
 
        if self.has_key(item):
16
 
            self[item].insert(nr, issue)
17
 
        else:
18
 
            self[item] = [issue]
19
 
        return 1
20
 
 
21
 
    def add(self, item, issue):
22
 
        """ add issue to item entry """
23
 
        if self.has_key(item):
24
 
            self[item].append(issue)
25
 
        else:
26
 
            self[item] = [issue]
27
 
        return 1
28
 
 
29
 
    def adduniq(self, item, issue):
30
 
        """ only add issue to item if it is not already there """
31
 
        if self.has_key(item):
32
 
            if issue in self[item]:
33
 
                return 0
34
 
        self.add(item, issue)
35
 
        return 1
36
 
            
37
 
    def delete(self, item, number):
38
 
        """ del self[item][number] """
39
 
        number = int(number)
40
 
        if self.has_key(item):
41
 
            try:
42
 
                del self[item][number]
43
 
                return 1
44
 
            except IndexError:
45
 
                return None
46
 
 
47
 
    def remove(self, item, issue):
48
 
        """ remove issue from item """
49
 
        try:
50
 
            self[item].remove(issue)
51
 
            return 1
52
 
        except ValueError:
53
 
            pass
54
 
 
55
 
    def has(self, item, issue):
56
 
        """ check if item has issue """
57
 
        try:
58
 
            if issue in self[item]:
59
 
                return 1
60
 
            else:
61
 
                return None
62
 
        except KeyError:
63
 
            pass