gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] libvob/lava bgfilegen.py


From: Asko Soukka
Subject: [Gzz-commits] libvob/lava bgfilegen.py
Date: Sun, 04 May 2003 08:17:29 -0400

CVSROOT:        /cvsroot/libvob
Module name:    libvob
Changes by:     Asko Soukka <address@hidden>    03/05/04 08:17:29

Modified files:
        lava           : bgfilegen.py 

Log message:
        server

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/lava/bgfilegen.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text

Patches:
Index: libvob/lava/bgfilegen.py
diff -u libvob/lava/bgfilegen.py:1.7 libvob/lava/bgfilegen.py:1.8
--- libvob/lava/bgfilegen.py:1.7        Wed Apr 30 05:26:15 2003
+++ libvob/lava/bgfilegen.py    Sun May  4 08:17:29 2003
@@ -30,6 +30,7 @@
 
 import sys
 import os
+import time
 
 from java.lang import System,Runnable,Throwable
 System.setProperty("vob.api", "gl")
@@ -46,6 +47,13 @@
 from org.nongnu.libvob.vobs import SolidBackdropVob
 from vob.putil import dbg, saveanim
 
+# catching parameters froms the command line
+try: sys.argv.remove('--loop'); loop = 1
+except ValueError: loop = 0
+
+try: sys.argv.remove('--jpeg'); jpeg = 1
+except ValueError: jpeg = 0
+
 print "ARGV:",sys.argv
 print "DBG:",dbg.short,dbg.long,dbg.all
 opts, args = getopt.getopt(sys.argv[1:], 
@@ -57,8 +65,31 @@
        dbg.option(o,a)
 
 passmask = [1,1,1,1]
+basedir = './' # must be ended by backslash
 
-def genBgFileFromSeed(w, vs, seed):
+# catching feature parameters from the command line
+try: sys.argv.remove('--texture'); texture = 1
+except ValueError: texture = 0
+
+# catching feature parameters from the command line
+try: sys.argv.remove('--texture'); texture = 1
+except ValueError: texture = 0
+
+def listdir(path, extensions):
+    """
+    Returns all files with specific
+    extensions under path. Nonrecursive.
+    """
+    files = os.listdir(path)
+    files = [f for f in files if extensions.count(f.split('.')[-1]) > 0]
+    return files
+
+def genBgFileFromSeed(w, vs, seed, jpeg=0):
+    """
+    Generates a background texture into filename constructed
+    from the seed. Seed is some 64bit integer value.
+    ThePaperMill must loaded and be set to be global.
+    """
     size = vs.getSize()
 
     # for Java to accept Python Long
@@ -74,12 +105,15 @@
     vs.map.put(pq, cs, 0)
     w.renderStill(vs, 0)
 
-    # -papeg.gen.jpg naming is crucial for generation of Fenfire homepages
-    # (see also navidoc/modules/texture in Navidoc and Fenfire homepage 
Makefile)
-    print 'Saving background texture into %s-paper.gen.jpg.' % (str(seed))
-    saveanim.saveframe('bgfile.tmp', w, 0, 0, 384, 384)   
-    os.system("convert -quality 75 %s %s" % ('bgfile.tmp', 
str(seed)+'-paper.gen.jpg'))
-    os.system("rm bgfile.tmp")
+    if (jpeg):
+        print 'Saving background texture into %s-paper.gen.jpg.' % (str(seed))
+        saveanim.saveframe('bgfile.tmp', w, 0, 0, 384, 384)   
+        os.system("convert -quality 95 %s %s" % ('bgfile.tmp', 
str(seed)+'-paper.gen.jpg'))
+        os.system("rm bgfile.tmp")
+    else:
+        print 'Saving background texture into %s-paper.gen.png.' % (str(seed))
+        saveanim.saveframe(basedir+str(seed)+'-paper.gen.png',
+                           w, 0, 0, 384, 384)   
 
 class Main(Runnable):
     def run(self):
@@ -88,10 +122,34 @@
 
         w = gfxapi.createWindow()
         w.setLocation(0,0,384,384)
-        
         vs = w.createVobScene()
-        for seed in sys.argv[1:]:
-            genBgFileFromSeed(w, vs, long(seed))
+        print "Working directory:", basedir
+
+        if not loop:
+            for seed in sys.argv[1:]:
+                genBgFileFromSeed(w, vs, long(seed), jpeg)
+        else:
+            print """
+Entering into looping server mode. Requests will be read from foo.request
+files within directory %s. Please, replace foo with some 64bit integer
+value.
+""" % (basedir)
+            while 1:
+                requests = listdir(basedir, 'request')
+                if len(requests) > 0:
+                    for seed in requests:
+                        genBgFileFromSeed(w,
+                                          vs,
+                                          long(seed.split('.')[0]),
+                                          jpeg)
+                        os.system('rm '+basedir+seed)
+                else:
+                    print time.strftime('%y/%m/%d %H:%M:%S'), \
+                          "No requests, sleeping..."
+                    time.sleep(1)
+                if os.path.isfile(basedir+'stop_bgfilegen'):
+                    print time.strftime('%y/%m/%d %H:%M:%S'), "Exiting..."
+                    break
 
         System.exit(0)
 




reply via email to

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