/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz
154 by Jelmer Vernooij
Add trivial generic class for storing URL history.
1
# Copyright (C) 2007 Jelmer Vernooij <jelmer@samba.org>
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
17
delimiter = " "
18
19
class UrlHistory:
225 by Jelmer Vernooij
Add docstrings, remove unused code.
20
    """Simple helper class for storing URL history."""
21
154 by Jelmer Vernooij
Add trivial generic class for storing URL history.
22
    def __init__(self, config, name):
225 by Jelmer Vernooij
Add docstrings, remove unused code.
23
        """Access URL History in a Config object.
24
25
        :param config: Config object to use
26
        :param name: Name of the history variable.
27
        """
154 by Jelmer Vernooij
Add trivial generic class for storing URL history.
28
        self._config = config
29
        self._name = name
30
31
    def add_entry(self, url):
225 by Jelmer Vernooij
Add docstrings, remove unused code.
32
        """Add a new entry to the list.
33
34
        :param url: Url to add
35
        """
36
        self._config.set_user_option(self._name, delimiter.join(
37
            self.get_entries() + [url]))
154 by Jelmer Vernooij
Add trivial generic class for storing URL history.
38
39
    def get_entries(self):
225 by Jelmer Vernooij
Add docstrings, remove unused code.
40
        """Obtain all URLs currently listed.
41
42
        :return list of URLs or empty list if no URLs set yet.
43
        """
154 by Jelmer Vernooij
Add trivial generic class for storing URL history.
44
        history = self._config.get_user_option(self._name)
45
        if history is None:
46
            return []
47
        else:
48
            return history.split(delimiter)