Changeset 294 for pkpgcounter/trunk

Show
Ignore:
Timestamp:
12/07/05 08:47:36 (18 years ago)
Author:
jerome
Message:

Fixed detection of duplex mode

Files:
1 modified

Legend:

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

    r285 r294  
    9292    def setPageDict(self, pages, number, attribute, value) : 
    9393        """Initializes a page dictionnary.""" 
    94         dic = pages.setdefault(number, { "copies" : 1, "mediasource" : "Main", "mediasize" : "Default", "mediatype" : "Plain", "orientation" : "Portrait", "escaped" : ""}) 
     94        dic = pages.setdefault(number, { "copies" : 1, "mediasource" : "Main", "mediasize" : "Default", "mediatype" : "Plain", "orientation" : "Portrait", "escaped" : "", "duplex": 0}) 
    9595        dic[attribute] = value 
    9696         
     
    239239                                escstart += 1 
    240240                            elif (tag == "&a") and (size == 2) : 
     241                                # We are on the backside, so mark current page as duplex 
     242                                self.setPageDict(pages, pagecount, "duplex", 1) 
    241243                                backsides += 1      # Back side in duplex mode 
    242244                            else :     
     
    378380        for pnum in range(pagecount) : 
    379381            # if no number of copies defined, take the preceding one else the one set before any page else 1. 
    380             page = pages.get(pnum, pages.get(pnum - 1, pages.get(0, { "copies" : 1, "mediasource" : "Main", "mediasize" : "Default", "mediatype" : "Plain", "orientation" : "Portrait", "escaped" : ""}))) 
     382            page = pages.get(pnum, pages.get(pnum - 1, pages.get(0, { "copies" : 1, "mediasource" : "Main", "mediasize" : "Default", "mediatype" : "Plain", "orientation" : "Portrait", "escaped" : "", "duplex": 0}))) 
    381383            pjlstuff = page["escaped"] 
    382384            if pjlstuff : 
     
    399401                    else :     
    400402                        pjlcopies = oldpjlcopies     
    401                 defaultdm = pjlparser.default_variables.get("DUPLEX", "") 
    402                 if defaultdm : 
    403                     if defaultdm.upper() == "ON" : 
    404                         defaultduplexmode = "Duplex" 
    405                     else :     
    406                         defaultduplexmode = "Simplex" 
    407                 envdm = pjlparser.environment_variables.get("DUPLEX", "") 
    408                 if envdm : 
    409                     if envdm.upper() == "ON" : 
    410                         duplexmode = "Duplex" 
    411                     else :     
    412                         duplexmode = "Simplex" 
    413                 else :         
    414                     if not oldduplexmode : 
    415                         duplexmode = defaultduplexmode 
    416                     else :     
    417                         duplexmode = oldduplexmode 
     403                if page["duplex"] :         
     404                    duplexmode = "Duplex" 
     405                else :     
     406                    defaultdm = pjlparser.default_variables.get("DUPLEX", "") 
     407                    if defaultdm : 
     408                        if defaultdm.upper() == "ON" : 
     409                            defaultduplexmode = "Duplex" 
     410                        else :     
     411                            defaultduplexmode = "Simplex" 
     412                    envdm = pjlparser.environment_variables.get("DUPLEX", "") 
     413                    if envdm : 
     414                        if envdm.upper() == "ON" : 
     415                            duplexmode = "Duplex" 
     416                        else :     
     417                            duplexmode = "Simplex" 
     418                    else :         
     419                        duplexmode = oldduplexmode or defaultduplexmode 
    418420                defaultps = pjlparser.default_variables.get("PAPER", "") 
    419421                if defaultps : 
     
    432434                else :     
    433435                    pjlcopies = oldpjlcopies 
    434                 if not oldduplexmode : 
    435                     duplexmode = defaultduplexmode 
    436                 else :     
    437                     duplexmode = oldduplexmode 
     436                 
     437                duplexmode = (page["duplex"] and "Duplex") or oldduplexmode or defaultduplexmode 
    438438                if not oldpapersize :     
    439439                    papersize = defaultpapersize 
    440440                else :     
    441441                    papersize = oldpapersize 
    442                 duplexmode = oldduplexmode 
    443442                papersize = oldpapersize or page["mediasize"] 
    444443            if page["mediasize"] != "Default" :