~ubuntu-branches/ubuntu/lucid/exaile/lucid

« back to all changes in this revision

Viewing changes to tests/base.py

  • Committer: Bazaar Package Importer
  • Author(s): Andrew Starr-Bochicchio
  • Date: 2010-02-12 19:51:01 UTC
  • mfrom: (1.1.11 upstream)
  • Revision ID: james.westby@ubuntu.com-20100212195101-8jt3tculxcl92e6v
Tags: 0.3.1~b1-0ubuntu1
* New upstream release.
* Adjust exaile.install for new plugins.
* debian/control:
 - Drop unneeded python-dev Build-Dep.
 - Bump Standards-Version to 3.8.4 
* debian/rules: No empty po files to delete.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2008-2009 Adam Olsen 
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, or (at your option)
6
 
# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
16
 
#
17
 
#
18
 
# The developers of the Exaile media player hereby grant permission 
19
 
# for non-GPL compatible GStreamer and Exaile plugins to be used and 
20
 
# distributed together with GStreamer and Exaile. This permission is 
21
 
# above and beyond the permissions granted by the GPL license by which 
22
 
# Exaile is covered. If you modify this code, you may extend this 
23
 
# exception to your version of the code, but you are not obligated to 
24
 
# do so. If you do not wish to do so, delete this exception statement 
25
 
# from your version.
26
 
 
27
 
import locale, gettext
28
 
import os
29
 
from xl import xdg
30
 
# set up the xdg test directories
31
 
base = '.xdgtest'
32
 
for item in ('data_home', 'config_home', 'config_dirs'):
33
 
    path = os.path.join(base, item)
34
 
 
35
 
    try:
36
 
        os.makedirs(path)
37
 
    except OSError, e:
38
 
        if e.errno != 17: raise e
39
 
    setattr(xdg, item, path)
40
 
 
41
 
# set the locale to LANG, or the user's default
42
 
locale.setlocale(locale.LC_ALL, '')
43
 
 
44
 
# this installs _ into python's global namespace, so we don't have to
45
 
# explicitly import it elsewhere
46
 
gettext.install("exaile")
47
 
 
48
 
import logging
49
 
from xl import collection, event, common
50
 
import unittest, hashlib, time, imp
51
 
import sys
52
 
 
53
 
event._TESTING = True
54
 
common._TESTING = True
55
 
class BaseTestCase(unittest.TestCase):
56
 
    def setUp(self):
57
 
        gettext.install("exaile")
58
 
 
59
 
        self.loading = False
60
 
        self.setup_logging()
61
 
        self.temp_col_loc = '.testtemp/col%s.db' % \
62
 
            hashlib.md5(str(time.time())).hexdigest()
63
 
        self.collection = collection.Collection("TestCollection", 
64
 
            self.temp_col_loc)
65
 
 
66
 
        self.library1 = collection.Library("./tests/data")
67
 
        self.collection.add_library(self.library1)
68
 
        self.collection.rescan_libraries()
69
 
 
70
 
    def load_plugin(self, pluginname):
71
 
        path = 'plugins/' + pluginname
72
 
        if path is None:
73
 
            return False
74
 
        sys.path.insert(0, path)
75
 
        plugin = imp.load_source(pluginname, os.path.join(path,'__init__.py'))
76
 
        del sys.path[0]
77
 
        return plugin
78
 
 
79
 
    def setup_logging(self):
80
 
        console_format = "%(levelname)-8s: %(message)s"
81
 
        loglevel = logging.INFO
82
 
        logging.basicConfig(level=logging.INFO,
83
 
                format='%(asctime)s %(levelname)-8s: %(message)s (%(name)s)',
84
 
                datefmt="%m-%d %H:%M",
85
 
                filename=os.path.join(xdg.get_config_dir(), "exaile.log"),
86
 
                filemode="a")
87
 
        console = logging.StreamHandler()
88
 
        console.setLevel(loglevel)
89
 
        formatter = logging.Formatter(console_format)
90
 
        console.setFormatter(formatter)