[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