/[gzz]/gzz/Gzz.py
ViewVC logotype

Diff of /gzz/Gzz.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.30 by Vegai, Mon Sep 23 15:10:12 2002 UTC revision 1.31 by Vegai, Wed Sep 25 09:14:52 2002 UTC
# Line 7  import re Line 7  import re
7    
8  # java imports  # java imports
9  import java.lang  import java.lang
10    import java.io
11    
12  # Gzz imports  # Gzz imports
13  import gzz  import gzz
14    import gzz.util.dbg
15  import gzz.util  import gzz.util
16  import gzz.gfx.gl  import gzz.gfx.gl
17  import gzz.control  import gzz.control
# Line 28  import gzz.zzutil Line 30  import gzz.zzutil
30  class Gzz(java.lang.Runnable):  class Gzz(java.lang.Runnable):
31      """The main Gzz client class."""      """The main Gzz client class."""
32    
33        transient = 0
34    
35      def run(self):      def run(self):
36          # if System.getProperty("gzzclient") == "gl":          # if System.getProperty("gzzclient") == "gl":
37          #   import gzz.gfx.gl.debugswitches          #   import gzz.gfx.gl.debugswitches
38          #   gzz.gfx.gl.debugswitches.DebugSwitches(gldbg)          #   gzz.gfx.gl.debugswitches.DebugSwitches(gldbg)
39          views = [gzz.view.VobVanishingClient(), gzz.view.RowColView(0), gzz.view.RowColView(1)]          self.views = [gzz.view.VobVanishingClient(), gzz.view.RowColView(0), gzz.view.RowColView(1)]
40          gzz.client.Fallback(space.getHomeCell(), dimensions, views, filers)          gzz.client.Fallback(self.space.getHomeCell(), self.dimensions, self.views, self.filers)
41          gzz.client.AbstractUpdateManager.chg()          gzz.client.AbstractUpdateManager.chg()
42    
43    
44        def parse_params(self):
45            for o,a in self.opts:
46                if o in ("-C", "--commander"):
47                    gzz.control.commander.AwtCommander(globals())
48                if o in gzz.util.dbg.all:
49                    gzz.util.dbg.option(o,a)
50                if o in ("-t", "--transient"):
51                    self.transient = 1
52    
53            if (not self.transient) and (not self.args):
54                print ""
55                print "Please give at least one directory to read data from"
56                print "or specify the -t or --transient option."
57                sys.exit(1)
58    
59    
60        def set_defaults(self):
61            self.spanType = java.lang.System.getProperty("gzz.spanType")
62            self.spaceType = java.lang.System.getProperty("gzz.spaceType")
63            self.obsTrigger = gzz.impl.SimpleObsTrigger();
64            self.cellManager = gzz.impl.PlainCellManager()
65            self.identityManager = gzz.impl.DummyIdentityManager()
66            self.slicer = gzz.impl.SingleSlicer("gzz_fallback_slice")
67            self.enfMaker = gzz.media.impl.Enfilade1DImpl.Enfilade1DImplMaker()
68            self.cacheStorer = None
69    
70            if self.spanType == None or self.spanType == "scroll":
71                self.spanMaker = gzz.media.impl.ScrollSpanMaker();
72            elif self.spanType == "transient":
73                self.spanMaker = gzz.media.impl.FakeSpanMaker()
74            else:
75                assert 1==0, "Invalid spanType "+self.spanType;
76            if self.transient:
77                self.storer = gzz.mediaserver.storage.TransientStorer()
78            else:
79                self.dir = java.io.File(args[0])
80                self.storer = gzz.mediaserver.storage.DirStorer(dir)
81    
82            if not self.cacheStorer:
83                self.cacheStorer = gzz.mediaserver.storage.TransientStorer()
84                self.cacheStorer.setProperty("simplemediaserver.poolname",
85            #                            Mediaserver.CACHE_POOL_NAME)
86            # ??? Not in CVS
87                                        "cache")
88    
89            self.pool = gzz.mediaserver.SimpleMediaserver(self.storer)
90            self.cachePool = gzz.mediaserver.SimpleMediaserver(self.cacheStorer)
91            self.mediaserver = gzz.mediaserver.MultiplexingMediaserver(self.pool, [], [self.cachePool])
92            self.filers = gzz.mediaserver.MediaserverFiler.Group(
93                gzz.slices.SliceVersion.EMPTY_VERSION, self.mediaserver,
94                gzz.slices.YAMLVersionFormatter.YAMLVersionFormat(self.mediaserver, self.enfMaker))
95    
96            if self.spaceType == None or self.spaceType == "ModularSpace":
97                self.enfAligner = gzz.fuzzy.enfiladealigner.JythonEnfiladeAligner()
98                self.cellTexter = gzz.impl.SimpleVStreamTexter(self.spanMaker, self.enfMaker, self.enfAligner)
99                self.dimManager = gzz.impl.SimpleDim.SimpleDimManager()
100                self.version = self.filers.getFiler("gzz_fallback_slice").load()
101                self.space = gzz.impl.ModularSpace(self.version, self.cellTexter, self.cellManager,
102                        self.dimManager, self.identityManager, self.slicer, self.obsTrigger)
103                self.dimensions = [
104                gzz.client.Fallback.FallbackDim(s, self.space.getDim(id)) for (s, id)
105                    in  (("d.1", gzz.zzutil.Ids.d_1), ("d.2", gzz.zzutil.Ids.d_2),
106                         ("d.3", gzz.zzutil.Ids.d_3))]
107            else:
108                assert 1==0, "Invalid spacetype "+self.spacetype;
109    
110            self.dims = {}
111            for d in self.dimensions:
112                self.dims[d.name] = d.d
113            self.home = self.space.getHomeCell()
114            self.d1, self.d2, self.d3 = [d.d for d in self.dimensions]
115            self.graphicsAPI = gzz.client.GraphicsAPI.getInstance()
116    
117        def dumpVersion(self, file):
 if __name__ == '__main__':  
     # everything (if sensible) below will move to class GZZ...  
     opts, args = getopt.getopt(sys.argv[1:], "Ct"+gzz.util.dbg.short,  
         ["--commander"]+gzz.util.dbg.long)  
   
     transient = 0  
   
   
     for o,a in opts:  
         if o in ("-C", "--commander"):  
             gzz.control.commander.AwtCommander(globals())  
         if o in gzz.util.dbg.all:  
             gzz.util.dbg.option(o,a)  
         if o in ("-t", "--transient"):  
             transient = 1  
   
   
   
     # {(Vegai) This moved to the top.  
     # Nothing apparently broke (even the GraphicsAPI dispatch  
     # was unharmed), but if your mileage varies,  
     # I left the code in comments for easier reverting.}  
     #  
     # Read arguments before importing stuff, since  
     # we have to call setProperty *BEFORE* that in order  
     # to choose the right GraphicsAPI.instance  
   
     # sys.path.insert(0, ".")  
     # from gzz import *  
     # from gzz.impl import *  
     # from gzz.media import *  
     # from gzz.media.impl import *  
     # from gzz.mediaserver import *  
     # from gzz.mediaserver.storage import *  
     # from gzz.slices import *  
     # from gzz.slices import SliceVersion  
     # from gzz.slices.YAMLVersionFormatter import YAMLVersionFormat  
     # from gzz.diff import *  
     # from gzz.client import *  
     # from gzz.control import *  
     # from gzz.view import *  
     # from gzz.zzutil import Ids  
   
   
   
   
   
     if (not transient) and (not args):  
         print ""  
         print "Please give at least one directory to read data from"  
         print "or specify the -t or --transient option."  
         sys.exit(1)  
   
     spanType = java.lang.System.getProperty("gzz.spanType")  
     spaceType = java.lang.System.getProperty("gzz.spaceType")  
   
     # it's important to put all these in the global scope:  
     # that way we can access them all from the console!  
   
     obsTrigger = gzz.impl.SimpleObsTrigger();  
     cellManager = gzz.impl.PlainCellManager()  
     identityManager = gzz.impl.DummyIdentityManager()  
     slicer = gzz.impl.SingleSlicer("gzz_fallback_slice")  
   
     if spanType == None or spanType == "scroll":  
         spanMaker = gzz.media.impl.ScrollSpanMaker();  
     elif spanType == "transient":  
         spanMaker = gzz.media.impl.FakeSpanMaker()  
     else:  
         assert 1==0, "Invalid spanType "+spanType;  
   
     enfMaker = gzz.media.impl.Enfilade1DImpl.Enfilade1DImplMaker()  
   
     cacheStorer = None  
     if transient:  
         storer = gzz.mediaserver.storage.TransientStorer()  
     else:  
         dir = java.io.File(args[0])  
         storer = gzz.mediaserver.storage.DirStorer(dir)  
   
     #    if java.io.File(dir, "cache").exists():  
     #        cacheStorer = DirStorer(java.io.File(dir, "cache"))  
     #        if cacheStorer.getProperty("simplemediaserver.poolname") != \  
     #           Mediaserver.CACHE_POOL_NAME:  
     #            print "cache/ directory doesn't have correct pool name"  
     #            print ""  
     #            sys.exit(1)  
   
     if not cacheStorer:  
         cacheStorer = gzz.mediaserver.storage.TransientStorer()  
         cacheStorer.setProperty("simplemediaserver.poolname",  
     #                            Mediaserver.CACHE_POOL_NAME)  
     # ??? Not in CVS  
                                 "cache")  
   
     pool = gzz.mediaserver.SimpleMediaserver(storer)  
     cachePool = gzz.mediaserver.SimpleMediaserver(cacheStorer)  
     mediaserver = gzz.mediaserver.MultiplexingMediaserver(pool, [], [cachePool]);  
     filers = gzz.mediaserver.MediaserverFiler.Group(  
         gzz.slices.SliceVersion.EMPTY_VERSION, mediaserver,  
         gzz.slices.YAMLVersionFormatter.YAMLVersionFormat(mediaserver, enfMaker));  
   
     if spaceType == None or spaceType == "ModularSpace":  
         enfAligner = gzz.fuzzy.enfiladealigner.JythonEnfiladeAligner()  
         cellTexter = gzz.impl.SimpleVStreamTexter(spanMaker, enfMaker, enfAligner)  
         dimManager = gzz.impl.SimpleDim.SimpleDimManager()  
         version = filers.getFiler("gzz_fallback_slice").load()  
         space = gzz.impl.ModularSpace(version, cellTexter, cellManager, dimManager,  
                 identityManager, slicer, obsTrigger)  
         dimensions = [  
         gzz.client.Fallback.FallbackDim(s, space.getDim(id)) for (s, id)  
             in  (("d.1", gzz.zzutil.Ids.d_1), ("d.2", gzz.zzutil.Ids.d_2),  
                  ("d.3", gzz.zzutil.Ids.d_3))]  
     else:  
         assert 1==0, "Invalid spacetype "+spacetype;  
   
     dims = {}  
     for d in dimensions:  
         dims[d.name] = d.d  
     home = space.getHomeCell()  
     d1,d2,d3 = [d.d for d in dimensions]  
   
     def dumpVersion(file):  
118          sli = space.getSlicer()          sli = space.getSlicer()
119          try:          try:
             from java.io import File, FileOutputStream  
120              YAMLVersionFormat(pool, enfMaker).writeVersion(              YAMLVersionFormat(pool, enfMaker).writeVersion(
121                  FileOutputStream(File(file)),                  FileOutputStream(File(file)),
122                  sli.export(sli.getSlice0()))                  sli.export(sli.getSlice0()))
123          except TypeError, t:          except TypeError, t:
124              print t              print t
125    
126        def __init__(self):
127            self.opts, self.args = getopt.getopt(sys.argv[1:], "Ct"+gzz.util.dbg.short,
128                ["--commander"]+gzz.util.dbg.long)
129            self.parse_params()
130            self.set_defaults()
131    
132      graphicsAPI = gzz.client.GraphicsAPI.getInstance()  if __name__ == '__main__':
133        g = Gzz()
   
     # this stays outside the class, however  
134      if java.lang.System.getProperty("gzzclient") == "gl":      if java.lang.System.getProperty("gzzclient") == "gl":
135          print "Running GL..."          print "Running GL..."
136          graphicsAPI.startUpdateManager(Gzz())          g.graphicsAPI.startUpdateManager(g)
137      else:      else:
138          print "Running AWT..."          print "Running AWT..."
139          graphicsAPI.startUpdateManager(None)          g.graphicsAPI.startUpdateManager(None)
140          Gzz().run()          g.run()

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26