Show
Ignore:
Timestamp:
09/03/05 09:29:28 (19 years ago)
Author:
jerome
Message:

Now parses PJL statements.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pkpgcounter/trunk/pkpgpdls/pclxl.py

    r252 r253  
    486486            colormode = "Color" 
    487487        else :     
    488             colormode = "Black" 
    489              
     488            colormode = "BW" 
     489             
     490        defaultduplexmode = "Simplex" 
     491        defaultpapersize = "" 
    490492        defaultpjlcopies = 1     
    491493        oldpjlcopies = -1 
     494        oldduplexmode = "" 
     495        oldpapersize = "" 
    492496        for pnum in range(1, self.pagecount + 1) : 
    493497            # if no number of copies defined, take 1, as explained 
     
    496500            # but the formula below is still correct : we want  
    497501            # to decrease the total number of pages in this case. 
    498             page = self.pages.get(pnum, self.pages.get(1, { "copies" : 1 })) 
     502            page = self.pages.get(pnum, self.pages.get(1, { "copies" : 1, "mediasize" : "Default" })) 
    499503            pjlstuff = self.escapedStuff.get(pnum, []) 
    500504            if pjlstuff : 
     
    509513                    defaultpjlcopies = nbdefaultqty 
    510514                if nbcopies > -1 : 
    511                     oldpjlcopies = pjlcopies = nbcopies 
     515                    pjlcopies = nbcopies 
    512516                elif nbqty > -1 : 
    513                     oldpjlcopies = pjlcopies = nbqty 
     517                    pjlcopies = nbqty 
    514518                else : 
    515519                    if oldpjlcopies == -1 :     
    516                         oldpjlcopies = defaultpjlcopies 
    517                     pjlcopies = oldpjlcopies     
     520                        pjlcopies = defaultpjlcopies 
     521                    else :     
     522                        pjlcopies = oldpjlcopies     
     523                defaultdm = pjlparser.default_variables.get("DUPLEX", "") 
     524                if defaultdm : 
     525                    if defaultdm.upper() == "ON" : 
     526                        defaultduplexmode = "Duplex" 
     527                    else :     
     528                        defaultduplexmode = "Simplex" 
     529                envdm = pjlparser.environment_variables.get("DUPLEX", "") 
     530                if envdm : 
     531                    if envdm.upper() == "ON" : 
     532                        duplexmode = "Duplex" 
     533                    else :     
     534                        duplexmode = "Simplex" 
     535                else :         
     536                    if not oldduplexmode : 
     537                        duplexmode = defaultduplexmode 
     538                    else :     
     539                        duplexmode = oldduplexmode 
     540                defaultps = pjlparser.default_variables.get("PAPER", "") 
     541                if defaultps : 
     542                    defaultpapersize = defaultps 
     543                envps = pjlparser.environment_variables.get("PAPER", "") 
     544                if envps : 
     545                    papersize = envps 
     546                else :     
     547                    if not oldpapersize : 
     548                        papersize = defaultpapersize 
     549                    else :     
     550                        papersize = oldpapersize 
    518551            else :         
    519552                if oldpjlcopies == -1 : 
     
    521554                else :     
    522555                    pjlcopies = oldpjlcopies 
     556                if not oldduplexmode : 
     557                    duplexmode = defaultduplexmode 
     558                else :     
     559                    duplexmode = oldduplexmode 
     560                if not oldpapersize :     
     561                    papersize = defaultpapersize 
     562                else :     
     563                    papersize = oldpapersize 
     564                duplexmode = oldduplexmode 
     565                papersize = oldpapersize or page["mediasize"] 
     566            if page["mediasize"] != "Default" : 
     567                papersize = page["mediasize"] 
     568            if not duplexmode :     
     569                duplexmode = oldduplexmode or defaultduplexmode 
     570            oldpjlcopies = pjlcopies     
     571            oldduplexmode = duplexmode 
     572            oldpapersize = papersize 
    523573            copies = pjlcopies * page["copies"] 
    524574            self.pagecount += (copies - 1) 
    525             self.logdebug("%s*%s*%s*%s*%s*%s" % (copies,  
     575            self.logdebug("%s*%s*%s*%s*%s*%s*%s" % (copies,  
    526576                                                 page["mediatype"],  
    527                                                  page["mediasize"],  
     577                                                 papersize,  
    528578                                                 page["orientation"],  
    529579                                                 page["mediasource"],  
     580                                                 duplexmode,  
    530581                                                 colormode)) 
    531582        return self.pagecount