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.

Location:
pykota/trunk/pykota/storages
Files:
2 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) 
  • pykota/trunk/pykota/storages/sql.py

    r1358 r1451  
    2222# 
    2323# $Log$ 
     24# Revision 1.38  2004/05/06 12:37:47  jalet 
     25# pkpgcounter : comments 
     26# pkprinters : when --add is used, existing printers are now skipped. 
     27# 
    2428# Revision 1.37  2004/02/23 22:53:21  jalet 
    2529# Don't retrieve data when it's not needed, to avoid database queries 
     
    6367            fields = result[0] 
    6468            user.ident = fields.get("id") 
     69            user.Name = fields.get("username", username) 
    6570            user.LimitBy = fields.get("limitby") 
    6671            user.AccountBalance = fields.get("balance") 
     
    7782            fields = result[0] 
    7883            group.ident = fields.get("id") 
     84            group.Name = fields.get("groupname", groupname) 
    7985            group.LimitBy = fields.get("limitby") 
    8086            result = self.doSearch("SELECT SUM(balance) AS balance, SUM(lifetimepaid) AS lifetimepaid FROM users WHERE id IN (SELECT userid FROM groupsmembers WHERE groupid=%s)" % self.doQuote(group.ident)) 
     
    9399            fields = result[0] 
    94100            printer.ident = fields.get("id") 
     101            printer.Name = fields.get("printername", printername) 
    95102            printer.PricePerJob = fields.get("priceperjob") 
    96103            printer.PricePerPage = fields.get("priceperpage")