Show
Ignore:
Timestamp:
05/06/04 14:37:47 (20 years ago)
Author:
jalet
Message:

pkpgcounter : comments
pkprinters : when --add is used, existing printers are now skipped.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/pykota/storages/ldapstorage.py

    r1393 r1451  
    2222# 
    2323# $Log$ 
     24# Revision 1.63  2004/05/06 12:37:46  jalet 
     25# pkpgcounter : comments 
     26# pkprinters : when --add is used, existing printers are now skipped. 
     27# 
    2428# Revision 1.62  2004/03/05 14:31:58  jalet 
    2529# Improvement on strange history entries 
     
    444448        """Extracts user information given its name.""" 
    445449        user = StorageUser(self, username) 
    446         result = self.doSearch("(&(objectClass=pykotaAccount)(|(pykotaUserName=%s)(%s=%s)))" % (username, self.info["userrdn"], username), ["pykotaLimitBy", self.info["usermail"]], base=self.info["userbase"]) 
     450        result = self.doSearch("(&(objectClass=pykotaAccount)(|(pykotaUserName=%s)(%s=%s)))" % (username, self.info["userrdn"], username), ["pykotaUserName", "pykotaLimitBy", self.info["usermail"]], base=self.info["userbase"]) 
    447451        if result : 
    448452            fields = result[0][1] 
    449453            user.ident = result[0][0] 
     454            user.Name = fields.get("pykotaUserName", [username])[0]  
    450455            user.Email = fields.get(self.info["usermail"]) 
    451456            if user.Email is not None : 
     
    478483        """Extracts group information given its name.""" 
    479484        group = StorageGroup(self, groupname) 
    480         result = self.doSearch("(&(objectClass=pykotaGroup)(|(pykotaGroupName=%s)(%s=%s)))" % (groupname, self.info["grouprdn"], groupname), ["pykotaLimitBy"], base=self.info["groupbase"]) 
     485        result = self.doSearch("(&(objectClass=pykotaGroup)(|(pykotaGroupName=%s)(%s=%s)))" % (groupname, self.info["grouprdn"], groupname), ["pykotaGroupName", "pykotaLimitBy"], base=self.info["groupbase"]) 
    481486        if result : 
    482487            fields = result[0][1] 
    483488            group.ident = result[0][0] 
     489            group.Name = fields.get("pykotaGroupName", [groupname])[0]  
    484490            group.LimitBy = fields.get("pykotaLimitBy") 
    485491            if group.LimitBy is not None : 
     
    495501        
    496502    def getPrinterFromBackend(self, printername) :         
    497         """Extracts printer information given its name.""" 
     503        """Extracts printer information given its name : returns first matching printer.""" 
    498504        printer = StoragePrinter(self, printername) 
    499         result = self.doSearch("(&(objectClass=pykotaPrinter)(|(pykotaPrinterName=%s)(%s=%s)))" % (printername, self.info["printerrdn"], printername), ["pykotaPricePerPage", "pykotaPricePerJob", "uniqueMember"], base=self.info["printerbase"]) 
    500         if result : 
    501             fields = result[0][1] 
     505        result = self.doSearch("(&(objectClass=pykotaPrinter)(|(pykotaPrinterName=%s)(%s=%s)))" % (printername, self.info["printerrdn"], printername), ["pykotaPrinterName", "pykotaPricePerPage", "pykotaPricePerJob", "uniqueMember"], base=self.info["printerbase"]) 
     506        if result : 
     507            fields = result[0][1]       # take only first matching printer, ignore the rest 
    502508            printer.ident = result[0][0] 
     509            printer.Name = fields.get("pykotaPrinterName", [printername])[0]  
    503510            printer.PricePerJob = float(fields.get("pykotaPricePerJob", [0.0])[0] or 0.0) 
    504511            printer.PricePerPage = float(fields.get("pykotaPricePerPage", [0.0])[0] or 0.0)