1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import pkg_resources
26 import gtk
27 import gtk.glade as glade
28 import locale, gettext
29
32 """ ``package``: the name of the module/package you want to
33 get ressources from"""
34 self.package=package
35
37 """ Does the ressource ``name`` exist?"""
38 return pkg_resources.resource_exists(self.package, name)
39
41 """ Is the ressource ``name`` a directory?"""
42 return pkg_resources.resource_isdir(self.package, name)
43
45 """list list the content of ressource ``name``, like os.listdir"""
46 return pkg_resources.resource_listdir(self.package, name)
47
49 """get ressource ``name`` as a file-like object"""
50 return pkg_resources.resource_stream(self.package, name)
51
53 """get ressource ``name`` as a string"""
54 return pkg_resources.resource_string(self.package, name)
55
57 """get a true filesystem filename for ressource ``name``"""
58 return pkg_resources.resource_filename(self.package, name)
59
61 """get ressource ``name`` as a gtk.glade.XML instance"""
62 xml = self.get_string(name)
63 return glade.xml_new_from_buffer(xml, len(xml), *args, **kwargs)
64
66 """get ressource ``name`` as a gtk.gdk.pixbuf instance"""
67 fname = self.get_filename(name)
68 return gtk.gdk.pixbuf_new_from_file(fname)
69
70
72 """get ressource ``dir`` for use as a locale's directory
73 if ``dir`` is ``None`` or not given ``locale`` is used
74 """
75 if dir is None:
76 dir = 'locale'
77 return self.get_filename(dir)
78
80 """
81 setup everything to use locales.
82 ``domain`` defaults to the ``package`` used with ``__init__``
83 ``dir`` is used by ``get_locale_dir``
84 """
85 if domain is None:
86 domain = self.package
87 locale.setlocale(locale.LC_ALL, '')
88
89 dir = self.get_locale_dir(dir)
90 gettext.install(domain, dir, unicode=use_unicode)
91 gtk.glade.bindtextdomain(domain, dir)
92 gtk.glade.textdomain(domain)
93