fenfire-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ff-cvs] alph/alph/util dscutil.py


From: Asko Soukka
Subject: [ff-cvs] alph/alph/util dscutil.py
Date: Sun, 17 Aug 2003 12:48:01 -0400

CVSROOT:        /cvsroot/alph
Module name:    alph
Branch:         
Changes by:     Asko Soukka <address@hidden>    03/08/17 12:48:01

Modified files:
        alph/util      : dscutil.py 

Log message:
        some defaults for PS

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/alph/alph/alph/util/dscutil.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text

Patches:
Index: alph/alph/util/dscutil.py
diff -u alph/alph/util/dscutil.py:1.6 alph/alph/util/dscutil.py:1.7
--- alph/alph/util/dscutil.py:1.6       Wed Jun 11 13:54:46 2003
+++ alph/alph/util/dscutil.py   Sun Aug 17 12:48:01 2003
@@ -26,6 +26,9 @@
 
 dbg = 0
 
+def p(*s):
+    print 'dscutil.py::', s
+
 def reliablePS2DSC(infile, outfile):
     """Convert a postscript file to a .dsc file reliably.
     Because several files have broken dsc comments, we
@@ -90,10 +93,10 @@
 
 class SinglePageInfo:
     def parseLine(self, str):
-       if str.startswith("%%PageMedia:"):
-           self.media = str[12:].strip()
-       elif str.startswith("%%PageOrientation:"):
-           self.orient = str[19:].strip()
+        if str.startswith("%%PageMedia:"):
+            self.media = str[12:].strip()
+        elif str.startswith("%%PageOrientation:"):
+            self.orient = str[19:].strip()
 
 def dsc2pageinfo(infile):
     f = open(infile)
@@ -107,15 +110,19 @@
        i-=1
     # Look for DocumentMedia
     documentmedia = [l for l in lines if l.startswith("%%DocumentMedia:")]
+    if len(documentmedia) == 0:
+        documentmedia=['%%DocumentMedia: A4 595 842 0 () ()']
+        p('No DocumentMedia found: using defaults.')
     assert len(documentmedia) == 1
     media = _dsctokens(documentmedia[0][16:])
     assert len(media) % 6 == 0
     mtypes = {}
+    dbg = 1
     for i in range(0, len(media)/6):
        (name, w, h, weight, color, type) = media[i*6:(i+1)*6]
        if dbg: 
-           print "Docmedia '%(name)s' %(w)s %(h)s %(weight)s %(color)s 
%(type)s" \
-                   % locals()
+           p('Docmedia "%(name)s" %(w)s %(h)s %(weight)s %(color)s %(type)s' \
+                   % locals())
        mtypes[name] = (float(w),float(h))
 
     # find the dsc defaults
@@ -148,7 +155,15 @@
                spi.parseLine(l)
     pages.append(spi)
 
-    pagemedias = [ mtypes[p.media] for p in pages ]
+    for page in pages:
+        if not hasattr(p, 'media'):
+            p('No PageMedia found: using "%s".' % (mtypes.keys()[0]))
+            page.media = mtypes.keys()[0]
+        if not hasattr(p, 'orientation'):
+            p('No PageOrientation found: using "portrait".')
+            page.orientation = 'portrait'
+
+    pagemedias = [ mtypes[page.media] for page in pages ]
     
     w = jarray.array([ m[0] for m in pagemedias ], 'f')
     h = jarray.array([ m[1] for m in pagemedias ], 'f')




reply via email to

[Prev in Thread] Current Thread [Next in Thread]