[Pkg-gourmet-changes]
gourmet/src/lib/exporters exporter.py, 1.1.1.1,
1.2 gnomeprinter.py, 1.1.1.1, 1.2 gxml2_exporter.py, 1.1.1.1,
1.2 gxml_exporter.py, 1.1.1.1, 1.2 recipe_emailer.py, 1.2,
1.3 rtf_exporter.py, 1.1.1.1, 1.2 wxprinter.py, 1.1.1.1, 1.2
seanius at haydn.debian.org
seanius at haydn.debian.org
Tue Sep 20 15:05:59 UTC 2005
Update of /cvsroot/pkg-gourmet/gourmet/src/lib/exporters
In directory haydn:/org/alioth.debian.org/chroot/home/users/seanius/tmp/cvs-serv30504/src/lib/exporters
Modified Files:
exporter.py gnomeprinter.py gxml2_exporter.py gxml_exporter.py
recipe_emailer.py rtf_exporter.py wxprinter.py
Log Message:
update for upstream source to 0.8.6.5.1
Index: exporter.py
===================================================================
RCS file: /cvsroot/pkg-gourmet/gourmet/src/lib/exporters/exporter.py,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- exporter.py 5 Sep 2005 00:19:42 -0000 1.1.1.1
+++ exporter.py 20 Sep 2005 15:05:46 -0000 1.2
@@ -13,6 +13,7 @@
This class can also be used directly for plain text export.
"""
+ DEFAULT_ENCODING = 'utf-8'
def __init__ (self, rd, r, out,
conv=None,
@@ -29,7 +30,7 @@
do_markup=True,
use_ml=False,
convert_attnames=True,
- fractions=convert.FRACTIONS_ASCII,
+ fractions=convert.FRACTIONS_ASCII
):
"""Instantiate our exporter.
@@ -84,6 +85,12 @@
for a in self.attr_order:
gglobals.gt.gtk_update()
txt=self.grab_attr(self.r,a)
+ if not txt: continue
+ try:
+ assert(type(txt) in [str,unicode])
+ except:
+ print 'Problem with ',a,txt
+ raise
if txt and txt.strip():
if (a=='preptime' or a=='cooktime') and a.find("0 ")==0: pass
else:
@@ -140,12 +147,34 @@
def get_amount_and_unit (self, ing):
return self.rd.get_amount_and_unit(ing,fractions=self.fractions)
-
+
def grab_attr (self, obj, attr):
try:
- return getattr(obj,attr)
+ ret = getattr(obj,attr)
except:
- return None
+ if attr=='category':
+ return ", ".join(self.rd.get_cats(obj))
+ else:
+ return None
+ else:
+ if attr in ['preptime','cooktime']:
+ # this 'if' ought to be unnecessary, but is kept around
+ # for db converting purposes -- e.g. so we can properly
+ # export an old DB
+ if ret and type(ret)!=str:
+ ret = convert.seconds_to_timestring(ret,fractions=self.fractions)
+ elif attr=='rating' and ret and type(ret)!=str:
+ if ret/2==ret/2.0:
+ ret = "%s/5 %s"%(ret/2,_('stars'))
+ else:
+ ret = "%s/5 %s"%(ret/2.0,_('stars'))
+ if type(ret) in [str,unicode] and attr not in ['thumb','image']:
+ try:
+ ret = ret.encode(self.DEFAULT_ENCODING)
+ except:
+ print "wtf:",ret,"doesn't look like unicode."
+ ret = ret.encode(self.DEFAULT_ENCODING,'ignore')
+ return ret
def write_head (self):
pass
@@ -265,7 +294,7 @@
self.mult = mult
self.change_units = change_units
exporter.__init__(self, rd, r, out, conv, imgcount, order, use_ml=use_ml, do_markup=do_markup,
- fractions=convert.FRACTIONS_ASCII)
+ fractions=fractions)
def write_attr (self, label, text):
#attr = gglobals.NAME_TO_ATTR[label]
@@ -274,13 +303,17 @@
def grab_attr (self, obj, attr):
"""Grab attribute attr of obj obj.
- In the case of servings, manipulate the attribute we grab.
+ Possibly manipulate the attribute we get to hand out export
+ something readable.
"""
- ret = getattr(obj,attr)
if attr=='servings' and self.mult:
+ ret = getattr(obj,attr)
fl_ret = convert.frac_to_float(ret)
- if fl_ret: ret = convert.float_to_frac(fl_ret * self.mult, fractions=self.fractions)
- return ret
+ if fl_ret:
+ return convert.float_to_frac(fl_ret * self.mult,
+ fractions=self.fractions)
+ else:
+ return exporter.grab_attr(self,obj,attr)
def get_amount_and_unit (self, ing):
if self.mult != 1 and self.change_units:
Index: gnomeprinter.py
===================================================================
RCS file: /cvsroot/pkg-gourmet/gourmet/src/lib/exporters/gnomeprinter.py,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- gnomeprinter.py 5 Sep 2005 00:19:42 -0000 1.1.1.1
+++ gnomeprinter.py 20 Sep 2005 15:05:46 -0000 1.2
@@ -7,7 +7,7 @@
import xml.sax.saxutils
def do_print(dialog, job):
- debug('do_print',7)
+ debug('do_print',0)
pc = gnomeprint.Context(dialog.get_config())
job.render(pc)
pc.close()
Index: gxml2_exporter.py
===================================================================
RCS file: /cvsroot/pkg-gourmet/gourmet/src/lib/exporters/gxml2_exporter.py,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- gxml2_exporter.py 5 Sep 2005 00:19:42 -0000 1.1.1.1
+++ gxml2_exporter.py 20 Sep 2005 15:05:49 -0000 1.2
@@ -21,7 +21,7 @@
mult=mult)
def write_head (self):
- self.out.write("\n<recipe>")
+ self.out.write("\n<recipe id='%s'>"%self.r.id)
def write_attr (self, label, text):
attr = NAME_TO_ATTR[label]
@@ -53,9 +53,11 @@
self.out.write("\n</ingredient-list>")
def write_ingref (self, amount=1, unit=None, item=None, refid=None, optional=False):
- self.out.write("<ingref refid=%s amount=%s>%s</ingref>\n"%(quoteattr(refid),
- quoteattr(amount.strip()),
- xml.sax.saxutils.escape(item))
+ self.out.write("<ingref %srefid=%s amount=%s>%s</ingref>\n"%(
+ (optional and " optional='yes' " or ""),
+ quoteattr(str(refid)),
+ quoteattr(amount.strip()),
+ xml.sax.saxutils.escape(item))
)
def write_ing (self, amount=1, unit=None, item=None, key=None, optional=False):
Index: gxml_exporter.py
===================================================================
RCS file: /cvsroot/pkg-gourmet/gourmet/src/lib/exporters/gxml_exporter.py,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- gxml_exporter.py 5 Sep 2005 00:19:42 -0000 1.1.1.1
+++ gxml_exporter.py 20 Sep 2005 15:05:49 -0000 1.2
@@ -45,9 +45,11 @@
self.out.write("\n</ingredient-list>")
def write_ingref (self, amount=1, unit=None, item=None, refid=None, optional=False):
- self.out.write("<ingref refid=%s amount=%s>%s</ingref>\n"%(quoteattr(refid),
- quoteattr(amount.strip()),
- xml.sax.saxutils.escape(item))
+ self.out.write("<ingref %srefid=%s amount=%s>%s</ingref>\n"%(
+ (optional and " optional='yes'>" or ""),
+ quoteattr(str(refid)),
+ quoteattr(amount.strip()),
+ xml.sax.saxutils.escape(item))
)
def write_ing (self, amount=1, unit=None, item=None, key=None, optional=False):
Index: recipe_emailer.py
===================================================================
RCS file: /cvsroot/pkg-gourmet/gourmet/src/lib/exporters/recipe_emailer.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- recipe_emailer.py 12 Sep 2005 19:36:18 -0000 1.2
+++ recipe_emailer.py 20 Sep 2005 15:05:49 -0000 1.3
@@ -120,15 +120,13 @@
def setup_dialog (self, force = False):
if force or not self.prefs.get('emailer_dont_ask',False):
- d=de.preferences_dialog(options=self.option_list,
- option_label=_("Email Options"),
- value_label="",
- dont_ask_cb=self.dont_ask_cb,
- dont_ask_custom_text=_("Don't ask before sending e-mail."))
- retlist = d.run()
- if not retlist:
- raise "Dialog cancelled!"
- else:
+ d=de.PreferencesDialog(options=self.option_list,
+ option_label=_("Email Options"),
+ value_label="",
+ dont_ask_cb=self.dont_ask_cb,
+ dont_ask_custom_text=_("Don't ask before sending e-mail."))
+ retlist = d.run()
+ if retlist:
for o in retlist:
k = o[0]
v = o[1]
Index: rtf_exporter.py
===================================================================
RCS file: /cvsroot/pkg-gourmet/gourmet/src/lib/exporters/rtf_exporter.py,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- rtf_exporter.py 5 Sep 2005 00:19:43 -0000 1.1.1.1
+++ rtf_exporter.py 20 Sep 2005 15:05:49 -0000 1.2
@@ -38,6 +38,8 @@
self.multidoc=multidoc
if ss: self.ss=ss
else: self.ss = self.doc.StyleSheet
+ self.ss.ParagraphStyles.Normal.TextStyle.TextPropertySet.Font = self.ss.Fonts.TimesNewRoman
+ self.ss.ParagraphStyles.Heading1.TextStyle.TextPropertySet.Bold = True
if not hasattr(self.ss.ParagraphStyles, 'Heading3'):
ps = PyRTF.ParagraphStyle('Heading 3',
PyRTF.TextStyle(PyRTF.TextPropertySet(self.ss.Fonts.Arial, 22)),
@@ -51,32 +53,28 @@
order=order,
change_units=change_units,
mult=mult,
- fractions=convert.FRACTIONS_NORMAL, #go ahead and do cool fractions
+ fractions=convert.FRACTIONS_NORMAL, #1/2 1/4 3/4 fractions
do_markup=False #we'll handle this internally...
)
- def write_head (self):
- self.recsection = PyRTF.Section()
+ def write_head (self):
+ self.recsection = PyRTF.Section(break_type=PyRTF.Section.PAGE)
self.doc.Sections.append( self.recsection )
- self.add_paragraph(self.r.title,self.ss.ParagraphStyles.Heading1)
+ len(self.doc.Sections)
+ self.add_paragraph("%s\n"%self.r.title,self.ss.ParagraphStyles.Heading1)
def write_foot (self):
- if self.multidoc:
- pp = PyRTF.ParagraphPS()
- pp.SetPageBreakBefore( True )
- self.add_paragraph(" ", pp)
- else:
+ if not self.multidoc:
renderer = PyRTF.Renderer()
renderer.Write(self.doc,self.out)
def write_attr_head (self):
- self.add_paragraph(" ")
+ #self.add_paragraph(" ")
+ pass
def write_attr (self, label, text):
- if label==_('Title'):
- pass
- else:
- self.add_paragraph("%s: %s"%(label,text))
+ if label!=_('Title'):
+ self.add_paragraph("\n%s: %s"%(label,text))
def write_attr_foot (self):
self.add_paragraph(" ")
@@ -159,11 +157,11 @@
def encode_text (txt):
"""Encode our text in codepage 1252."""
+ #return txt
try:
return txt.encode('cp1252','strict')
except:
try:
- txt = convert.convert_fractions_to_ascii(txt)
return txt.encode('cp1252','strict')
except:
return txt.encode('cp1252','replace')
@@ -174,7 +172,7 @@
print 'Exporting test to /tmp/test_recs.rtf'
import sys
t.run_export(**{'format':RTF,
- 'rv':t.rm.rview[-10:],
+ 'rv':t.rm.rview[4:9],
'rec':t.rm.rview[-1],
#'mode':'exporter',
'mode':'mult_exporter',
Index: wxprinter.py
===================================================================
RCS file: /cvsroot/pkg-gourmet/gourmet/src/lib/exporters/wxprinter.py,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- wxprinter.py 5 Sep 2005 00:19:43 -0000 1.1.1.1
+++ wxprinter.py 20 Sep 2005 15:05:49 -0000 1.2
@@ -16,8 +16,7 @@
def __init__ (self, rd, recs, mult=1, dialog_title=_("Print Recipes"),
change_units=True,
dialog_parent=None):
- #self.app=wx.App()
- self.app=wxPySimpleApp()
+ self.app=wx.wxPySimpleApp()
# we use StringIO so we can call our standard HTML exporters (which write
# to a file)
self.html_out = StringIO.StringIO()
More information about the Pkg-gourmet-changes
mailing list