[Top][All Lists]
[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')
- [ff-cvs] alph/alph/util dscutil.py,
Asko Soukka <=