1
from gourmet.gdebug import debug
4
# We grab the printer of choice and import methods from it. Each printer
5
# should provide a RecRenderer class which will do the actual printing.
7
def load_gnomeprint ():
10
global RecRenderer,SimpleWriter
11
if hasattr(gnomeprint,'pango_create_context') and hasattr(gnomeprint,'pango_get_default_font_map'):
12
from gnomeprinter import RecRenderer, SimpleWriter
14
# pre-pango gnomeprint
15
debug("Using out-of-date gnomeprint (no pango layout support in printing)",0)
16
from gnomeprinter_obsolete import RecRenderer, SimpleWriter
18
debug('Gnome Printer is not available',0)
21
def load_winprinter ():
22
global RecRenderer,SimpleWriter
24
from winprinter import RecRenderer, SimpleWriter
30
if os.name == 'nt': return True
31
global RecRenderer,SimpleWriter
32
from lprprinter import RecRenderer, SimpleWriter
35
printers = {'gnomeprint':load_gnomeprint,
36
'win':load_winprinter,
39
from gourmet.OptionParser import options
41
printer_names = ['lpr','win','gnomeprint']
42
printer = options.printer
45
printer_names.remove(printer)
47
print 'Printer type: ',printer,' not recognized!'
48
printer = printer_names.pop()
50
# A return value of True means we failed to import
51
# so we'd better keep trying
52
while printers[printer]() and printers:
53
print "Loading ",printer," failed:",
54
printer = printer_names.pop()
55
print "trying ",printer