~certify-web-dev/twisted/certify-trunk

« back to all changes in this revision

Viewing changes to sandbox/slyphon/tutorial/src/Bookmark.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2004-06-21 22:01:11 UTC
  • mto: (2.2.3 sid)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20040621220111-vkf909euqnyrp3nr
Tags: upstream-1.3.0
ImportĀ upstreamĀ versionĀ 1.3.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python2.3
 
2
 
 
3
import pdb
 
4
 
 
5
class Bookmark(object):
 
6
    def __init__(self, id=None, page_url=None, category=None, 
 
7
                 name=None, url=None):
 
8
 
 
9
        # the primary id of this bookmark (a unique int identifier)
 
10
        self.id = id         
 
11
 
 
12
        # the url of the local page this link belongs to
 
13
        self.page_url = page_url   
 
14
 
 
15
        # the heading under which this link should appear 
 
16
        self.category = category   
 
17
 
 
18
        # the displayed name of this link (appears between the <a> and </a>)
 
19
        self.name = name       
 
20
 
 
21
        # the url this link points to (the <a href=> points here)
 
22
        self.url = url        
 
23
 
 
24
    def _get_csv_row(self):
 
25
        attrib_list = [self.category, self.url, self.id, self.name, self.page_url]
 
26
        return [a for a in attrib_list if a]
 
27
    csv_row = property(_get_csv_row, doc='''returns a list representation 
 
28
of this object properly formatted for writing to our CSVStorage module''')
 
29
 
 
30
    def matches_values(self, **kwargs):
 
31
        '''tests to see if this bookmark matches the attribute values
 
32
given as kwargs. returns a boolean value'''
 
33
        for key, val in kwargs.iteritems():
 
34
            if not getattr(self, key) == val:
 
35
                return False
 
36
        return True
 
37
 
 
38
    def __cmp__(self, other):
 
39
        if (self.id == other.id and
 
40
            self.page_url == other.page_url and
 
41
            self.category == other.category and
 
42
            self.name == other.name and
 
43
            self.url == other.url):
 
44
            return 0
 
45
        else:
 
46
            return 1
 
47
 
 
48
    def __str__(self):
 
49
        astr = ""
 
50
        iter = self.__dict__.iteritems()
 
51
        while True:
 
52
            try:
 
53
                astr = ''.join([astr, '%s: %s\n' % iter.next()])
 
54
            except StopIteration:
 
55
                break
 
56
        return astr
 
57
    
 
58
        
 
59