Index: pykota/trunk/setup.py
===================================================================
--- pykota/trunk/setup.py (revision 2434)
+++ pykota/trunk/setup.py (revision 2468)
@@ -111,4 +111,4 @@
       url = "http://www.librelogiciel.com/software/",
       packages = [ "pykota", "pykota.storages", "pykota.loggers", "pykota.accounters", "pykota.reporters" ],
-      scripts = [ "bin/pkturnkey", "bin/pkbcodes", "bin/pkmail", "bin/pkbanner", "bin/autopykota", "bin/dumpykota", "bin/pykosd", "bin/edpykota", "bin/repykota", "bin/warnpykota", "bin/pykotme", "bin/pkprinters", "bin/pkhint" ],
+      scripts = [ "bin/pkturnkey", "bin/pkbcodes", "bin/pkmail", "bin/pkbanner", "bin/autopykota", "bin/dumpykota", "bin/pykosd", "bin/edpykota", "bin/repykota", "bin/warnpykota", "bin/pykotme", "bin/pkprinters" ],
       data_files = data_files)
Index: pykota/trunk/docs/pykota.sgml
===================================================================
--- pykota/trunk/docs/pykota.sgml (revision 2303)
+++ pykota/trunk/docs/pykota.sgml (revision 2468)
@@ -9,5 +9,4 @@
   <!entity WARNPYKOTA system "warnpykota.sgml">
   <!entity SCRIPTS system "scripts.sgml">
-  <!entity PKHINT system "pkhint.sgml">
   <!entity PYKOSD system "pykosd.sgml">
   <!entity DUMPYKOTA system "dumpykota.sgml">
@@ -126,6 +125,4 @@
   &DUMPYKOTA;
   
-  &PKHINT;
-  
   &PYKOSD;
   
Index: pykota/trunk/docs/pkhint.sgml
===================================================================
--- pykota/trunk/docs/pkhint.sgml (revision 2147)
+++  (revision )
@@ -1,50 +1,0 @@
-<!-- $Id$ -->
-
-<chapter>
-  <title>Detects the best settings for your printers with pkhint</title>
-  <para>Last modified on $Date$</para>
-  
-  <para>
-    <filename>pkhint</filename> is an experimental command designed with the goal to 
-    help you find the best <application>PyKota</application> settings for each of your
-    printers.
-  </para>  
-  
-  <para>
-    Currently <filename>pkhint</filename> only recognizes <application>CUPS</application>' <filename>printers.conf</filename>
-    file format, but <application>LPRng</application>' <filename>printcap</filename> file format support will be added
-    in the future.
-  </para>
-  
-  <para>
-    <filename>pkhint</filename> accepts optional printers names as its arguments, and reads your printing system's
-    printers configuration file from stdin. Then it launches different tests to see if your printers supports
-    some special features which would allow you to use either hardware or software accounting on them, with
-    a preference for hardware since it's more reliable. If it can help you, it will print some text which
-    you will be able to copy and paste into <filename>~pykota/pykota.conf</filename>.
-  </para>
-  
-  <warning>
-    <title>Warning</title>
-    <para>
-      Because <filename>pkhint</filename> is still a work in progress, don't expect it to allow you
-      to fully configure <application>PyKota</application> for you. You'll still have to double
-      check that your configuration is correct.
-    </para>
-  </warning>  
-  
-  <sect1>
-    <title>Reference</title>
-    <para>
-      <cmdsynopsis>
-        <command>pkhint</command>
-        <group choice="opt"><arg>-v</arg><arg>--version</arg></group>
-        <group choice="opt"><arg>-h</arg><arg>--help</arg></group>
-        <arg choice="opt"><replaceable>printer1</replaceable></arg>
-        <arg choice="opt"><replaceable>printer2</replaceable></arg>
-        <arg choice="opt"><replaceable>...</replaceable></arg>
-      </cmdsynopsis>
-    </para>
-  </sect1>
-</chapter>
-
Index: pykota/trunk/README
===================================================================
--- pykota/trunk/README (revision 2426)
+++ pykota/trunk/README (revision 2468)
@@ -520,15 +520,22 @@
         all options globally.
         
-        The new pkhint command can help you with correct settings 
+        The new pkturnkey command can help you with correct settings 
         for your printers, but don't rely on it because it is still
-        experimental work. To use pkhint, you have to feed it with
-        CUPS' printers.conf file this way :
-        
-          $ pkhint </etc/cups/printers.conf
-        
-        pkhint will try to tell you what is the best accounting
+        experimental work. To have pkturnkey give you some hints
+        about what to put into pykota.conf, just use its --doconf
+        command line switch :
+        
+          $ pkturnkey --doconf
+        
+        pkturnkey will try to tell you what is the best accounting
         method for each printer and will print some lines you'll
         just have to copy&paste in the appropriate sections in
         /etc/pykota/pykota.conf
+        
+        For more informations about what pkturnkey can do for you,
+        see pkturnkey's manual page or use the --help command
+        line switch :
+        
+          $ pkturnkey --help | less
         
         That's all.
Index: pykota/trunk/bin/pkhint
===================================================================
--- pykota/trunk/bin/pkhint (revision 2344)
+++  (revision )
@@ -1,250 +1,0 @@
-#! /usr/bin/env python
-# -*- coding: ISO-8859-15 -*-
-
-# PyKota tool to hint for printer accounters
-#
-# PyKota - Print Quotas for CUPS and LPRng
-#
-# (c) 2003, 2004, 2005 Jerome Alet <alet@librelogiciel.com>
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# $Id$
-#
-#
-
-import sys
-import os
-
-from pykota.tool import Tool, PyKotaToolError, crashed, N_
-try :
-    import pysnmp
-except ImportError :    
-    hasSNMP = 0
-else :    
-    hasSNMP = 1
-
-__doc__ = N_("""pkhint v%(__version__)s (c) %(__years__)s %(__author__)s
-
-A tool to give hints on what accounting method is best for each printer.
-
-command line usage :
-
-  pkhint [options] [printer1 printer2 printer3 ... printerN] <file.conf
-
-options :
-
-  -v | --version       Prints pkhint's version number then exits.
-  -h | --help          Prints this message then exits.
-  
-examples :                              
-
-  $ pkhint "hp*" printer103 </etc/cups/printers.conf
-  
-  Will analyze your printing system to test which accounter
-  is the best for each of the defined printer which
-  name matches one of the parameters.
-  
-  If you don't pass any argument on the command line, all
-  printers will be analyzed.
-""")
-        
-SNMPTESTS = [ \
-              'npadmin --pagecount %(printer)s 2>/dev/null', \
-              'snmpget -v1 -c public -Ov %(printer)s mib-2.43.10.2.1.4.1.1 2>/dev/null | cut -f 2,2 -d " "', \
-              'snmpwalk -v 1 -Cc -c public %(printer)s 2>/dev/null | grep mib-2.43.10.2.1.4.1.1 | cut -d " " -f4', \
-              'snmpwalk -v 1 -Cc -c public -Ov %(printer)s 2>/dev/null | grep Counter32 | tail -2 | head -1 | cut -d " " -f2', \
-            ]
-            
-NETPJLTESTS = [ \
-                '/usr/share/pykota/pagecount.pl %(printer)s %(port)s 2>/dev/null', \
-                'nc -w 2 %(printer)s %(port)s </usr/share/pykota/pagecount.pjl 2>/dev/null | tail -2', \
-              ]
-              
-class PKHint(Tool) :
-    """A class to autodetect the best accounting method for printers."""
-    def extractPrintersInformation(self) :    
-        """Extracts printer information from the printing system.
-          
-           Returns a mapping { queuename : device, ... }
-        """   
-        printers = {}
-        current_printer = None
-        for line in [l.strip() for l in sys.stdin.readlines()] :
-            testline = line.lower()
-            if testline.startswith("<printer ") or testline.startswith("<defaultprinter ") :
-                # beginning of a CUPS printer definition
-                current_printer = line.split()[-1][:-1]
-            elif testline.startswith("</printer ") :
-                # end of a CUPS printer definition
-                current_printer = None
-            elif testline.startswith("deviceuri ") :
-                # CUPS printer device_uri
-                device = testline.split()[-1]
-                if current_printer is not None :
-                    printers[current_printer] = device
-            else :        
-                # LPRng printcap specific code here
-                pass
-        return printers
-        
-    def extractDevices(self) :    
-        """Extracts the list of available CUPS devices.
-        
-           Returns a mapping { device : devicetype, ... }
-           
-           WARNING : CUPS ONLY FOR NOW
-        """   
-        inp = os.popen("lpinfo -v 2>/dev/null")
-        deviceslist = [l.strip() for l in inp.readlines()]
-        inp.close()
-        devicestypes = {}
-        for device in deviceslist :
-            (dtype, dname) = device.split()
-            devicestypes[dname] = dtype
-        return devicestypes
-        
-    def searchDeviceType(self, devicestypes, device) :    
-        """Returns the device type for current device."""
-        if device.startswith("cupspykota:") :
-            fulldevice = device[:]
-            device = fulldevice[len("cupspykota:"):]
-            if device.startswith("//") :
-                device = device[2:]
-        for (k, v) in devicestypes.items() :
-            if device.startswith(k) :
-                return v
-                
-    def extractDeviceFromURI(self, device) :    
-        """Cleans the device URI to remove any trace of PyKota."""
-        if device.startswith("cupspykota:") :
-            fulldevice = device[:]
-            device = fulldevice[len("cupspykota:"):]
-            if device.startswith("//") :
-                device = device[2:]
-        try :
-            (backend, destination) = device.split(":", 1) 
-        except ValueError :    
-            raise PyKotaToolError, _("Invalid DeviceURI : %s") % device
-        while destination.startswith("/") :
-            destination = destination[1:]
-        checkauth = destination.split("@", 1)    
-        if len(checkauth) == 2 :
-            destination = checkauth[1]
-        return destination.split("/")[0]
-        
-    def accepts(self, commands, printer, port=None) :    
-        """Tries to get the printer's internal page counter via SNMP."""
-        for command in commands :
-            inp = os.popen(command % locals())
-            value = inp.readline().strip()
-            inp.close()
-            try :
-                pagecounter = int(value)
-            except :    
-                pass
-            else :    
-                if port is None :
-                    return command
-                else :    
-                    return command.replace("%(port)s", str(port))
-        
-    def main(self, args, options) :
-        """Main work is done here."""
-        os.environ["PATH"] = "%s:/bin:/usr/bin:/usr/local/bin:/opt/bin:/sbin:/usr/sbin" % os.environ.get("PATH", "")
-        sys.stderr.write("BEWARE : This tool doesn't support LPRng's printcap files yet.\n")
-        print _("\nPlease wait while pkhint analyzes your printing system's configuration...")
-        printers = self.extractPrintersInformation()
-        devicestypes = self.extractDevices() # TODO : IT'S CUPS ONLY FOR NOW
-        configuration = []
-        for (printer, deviceuri) in printers.items() :
-            if self.matchString(printer, args) :
-                devicetype = self.searchDeviceType(devicestypes, deviceuri)
-                device = self.extractDeviceFromURI(deviceuri)
-                if devicetype is None :
-                    self.printInfo(_("Unknown device %s for printer %s") % (device, printer))
-                elif devicetype == "network" :
-                    try :
-                        hostname, port = device.split(':')
-                    except ValueError :    
-                        hostname = device
-                        port = 9100             # TODO : may cause problems with other protocols.
-                        
-                    snmpcommand = self.accepts(SNMPTESTS, hostname)
-                    if snmpcommand is not None :
-                        if hasSNMP and snmpcommand.startswith("snmpget ") :
-                            # don't do a more complex test, just consider it will work
-                            accounter = 'hardware(snmp)'
-                        else :    
-                            accounter = 'hardware(/usr/share/pykota/waitprinter.sh %(printer)s && ' + snmpcommand + ')'
-                        configuration.append((printer, accounter))
-                    else :    
-                        netpjlcommand = self.accepts(NETPJLTESTS, hostname, port)
-                        if netpjlcommand is not None :
-                            #accounter = 'hardware(' + netpjlcommand + ')'
-                            accounter = 'hardware(pjl)'
-                            configuration.append((printer, accounter))
-                        else :    
-                            configuration.append((printer, "software()"))
-                else :
-                    configuration.append((printer, "software()"))
-                    
-        if not configuration :            
-            print "\nSorry, pkhint can't help you for now. Please configure PyKota manually."
-        else :
-            print _("\nPut the following lines into your /etc/pykota/pykota.conf file :\n")
-            print _("# BEWARE : if software accounting is suggested, this doesn't mean")
-            print _("# that hardware accounting wouldn't work, this only means that PyKota")
-            print _("# wasn't able to autodetect which hardware accounting method to use.")
-            for (printer, accounter) in configuration :
-                print "[%s]" % printer
-                print "accounter: %s" % accounter
-                print    
-        
-if __name__ == "__main__" : 
-    retcode = 0
-    try :
-        short_options = "hv"
-        long_options = ["help", "version"]
-        
-        # Initializes the command line tool
-        manager = PKHint(doc=__doc__)
-        manager.deferredInit()
-        
-        (options, args) = manager.parseCommandline(sys.argv[1:], short_options, long_options)
-        
-        # sets long options
-        options["help"] = options["h"] or options["help"]
-        options["version"] = options["v"] or options["version"]
-        
-        if options["help"] :
-            manager.display_usage_and_quit()
-        elif options["version"] :
-            manager.display_version_and_quit()
-        else :
-            if not args :
-                args = [ "*" ]
-            retcode = manager.main(args, options)
-    except KeyboardInterrupt :        
-        sys.stderr.write("\nInterrupted with Ctrl+C !\n")
-    except SystemExit :        
-        pass
-    except :
-        try :
-            manager.crashed("pkhint failed")
-        except :    
-            crashed("pkhint failed")
-        retcode = -1
-        
-    sys.exit(retcode)    
Index: pykota/trunk/bin/lprngpykota
===================================================================
--- pykota/trunk/bin/lprngpykota (revision 2408)
+++  (revision )
@@ -1,291 +1,0 @@
-#! /usr/bin/env python
-# -*- coding: ISO-8859-15 -*-
-
-# LPRngPyKota accounting filter
-#
-# PyKota - Print Quotas for CUPS and LPRng
-#
-# (c) 2003, 2004, 2005 Jerome Alet <alet@librelogiciel.com>
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# $Id$
-#
-#
-
-import sys
-import os
-
-from pykota.tool import PyKotaFilterOrBackend, PyKotaToolError, crashed
-from pykota.config import PyKotaConfigError
-from pykota.storage import PyKotaStorageError
-from pykota.accounter import PyKotaAccounterError
-    
-# Exit codes
-JSUCC = 0       # filter succeeded
-JFAIL = 1       # filter failed, print server should retry later
-JABORT = 2      # filter failed, print server should suspend the queue
-JREMOVE = 3     # job will be removed from print queue
-JHOLD = 6       # job will be prevented from printing until lpc release
-
-# Environment variables
-# PRINTER = printer name
-# PRINTCAP_ENTRY = complete printcap entry for this printer
-# HF = job hold file contents
-# SPOOL_DIR = spool directory
-
-# HF contains df_name which is DataFile_Name created in SPOOL_DIR
-
-class PyKotaFilter(PyKotaFilterOrBackend) :        
-    """A class for the pykota filter for LPRng."""
-    def acceptJob(self) :        
-        """Returns the appropriate exit code to tell LPRng all is OK."""
-        return JSUCC
-            
-    def removeJob(self) :            
-        """Returns the appropriate exit code to tell LPRng job has to be removed."""   
-        return JREMOVE
-        
-    def getJobOriginatingHostname(self, printername, username, jobid) :
-        """Retrieves the job-originating-hostname if possible."""
-        try :
-            return [line[11:] for line in os.environ.get("HF", "").split() if line.startswith("remotehost=")][0]
-        except IndexError :    
-            try :
-                return [line[1:] for line in os.environ.get("CONTROL", "").split() if line.startswith("H")][0]
-            except IndexError :    
-                return None
-                
-    def firstPass(self, policy, printer, user, userpquota) :            
-        """First pass done here."""
-        # first we have to check if previous job was correctly accounted for
-        self.logdebug("First pass begins : POLICY_%s => %s => %s" % (policy, getattr(printer, "Name", None), getattr(user, "Name", None)))
-        if printer.LastJob.Exists and not printer.LastJob.JobSize :
-            # here we know that previous job wasn't accounted for correctly
-            # we are sure (?) that it was hardware accounting which was used
-            # and that the second pass didn't work or wasn't even launched
-            # we know have to act just as if we were in second pass
-            # for previous user on this printer, then we will continue
-            # with normal processing of current user.
-            self.secondPass(policy, printer, None, None)
-        
-        # export user info with initial values
-        self.exportUserInfo(userpquota)
-        
-        # tries to extract job-originating-hostname 
-        clienthost = self.getJobOriginatingHostname(printer.Name, user.Name, self.jobid)
-        self.logdebug("Client Hostname : %s" % (clienthost or "Unknown"))    
-        os.environ["PYKOTAJOBORIGINATINGHOSTNAME"] = str(clienthost or "")
-        
-        # indicates first pass
-        os.environ["PYKOTAPHASE"] = "BEFORE"
-        
-        # precomputes the job's price
-        self.softwareJobPrice = userpquota.computeJobPrice(self.softwareJobSize)
-        os.environ["PYKOTAPRECOMPUTEDJOBPRICE"] = str(self.softwareJobPrice)
-        self.logdebug("Precomputed job's size is %s pages, price is %s units" % (self.softwareJobSize, self.softwareJobPrice))
-        
-        # if no data to pass to real backend, probably a filter
-        # higher in the chain failed because of a misconfiguration.
-        # we deny the job in this case (nothing to print anyway)
-        if not self.jobSizeBytes :
-            self.printMoreInfo(user, printer, _("Job contains no data. Printing is denied."), "warn")
-            action = "DENY"
-        elif self.config.getDenyDuplicates(printer.Name) \
-             and printer.LastJob.Exists \
-             and (printer.LastJob.UserName == user.Name) \
-             and (printer.LastJob.JobMD5Sum == self.checksum) :
-            self.printMoreInfo(user, printer, _("Job is a duplicate. Printing is denied."), "warn")
-            action = "DENY" 
-        else :    
-            # checks the user's quota
-            action = self.warnUserPQuota(userpquota)
-        
-        # exports some new environment variables
-        os.environ["PYKOTAACTION"] = action
-        
-        # launches the pre hook
-        self.prehook(userpquota)
-        
-        self.printMoreInfo(user, printer, _("Job accounting begins."))
-        self.accounter.beginJob(printer)
-        
-        jobsize = None
-        if self.accounter.isSoftware :
-            self.accounter.endJob(printer)
-            jobsize = self.accounter.getJobSize(printer)
-            self.printMoreInfo(user, printer, _("Job accounting ends."))
-            
-        if action == "DENY" :   
-            jobsize = 0
-            self.printMoreInfo(user, printer, _("Job size forced to 0 because printing is denied."))
-            
-        if (self.accounter.isSoftware) or (action == "DENY") :    
-            # update the quota for the current user on this printer 
-            self.printMoreInfo(user, printer, _("Job size : %i") % jobsize)
-            self.printInfo(_("Updating user %s's quota on printer %s") % (user.Name, printer.Name))
-            jobprice = userpquota.increasePagesUsage(jobsize)
-            
-            printer.addJobToHistory(self.jobid, user, self.accounter.getLastPageCounter(), \
-                                    action, jobsize, jobprice, self.preserveinputfile, \
-                                    self.title, self.copies, self.options, clienthost, \
-                                    self.jobSizeBytes, self.checksum, None, None) # TODO : pages detail and billing code
-            self.printMoreInfo(user, printer, _("Job added to history."))
-            
-            # exports some new environment variables
-            os.environ["PYKOTAPHASE"] = "AFTER"
-            os.environ["PYKOTAJOBSIZE"] = str(jobsize)
-            os.environ["PYKOTAJOBPRICE"] = str(jobprice)
-            
-            # then re-export user information with new value
-            self.exportUserInfo(userpquota)
-            
-            # Launches the post hook
-            self.posthook(userpquota)
-            
-            # here accounting was completed, either software, or hardware but over quota
-        else :
-            printer.addJobToHistory(self.jobid, user, self.accounter.getLastPageCounter(), \
-                                    action, filename=self.preserveinputfile, title=self.title, \
-                                    copies=self.copies, options=self.options, clienthost=clienthost, \
-                                    jobsizebytes=self.jobSizeBytes, jobmd5sum=self.checksum, jobpages=None, jobbilling=None) # TODO : pages detail and billing code
-            self.logdebug("Job added to history during first pass : Job's size and price are still unknown.")
-            
-        self.logdebug("First pass ends : ACTION_%s => %s => %s" % (action, getattr(printer, "Name", None), getattr(user, "Name", None)))
-        if action == "DENY" :
-            return self.removeJob()
-        else :    
-            return self.acceptJob()
-        
-    def secondPass(self, policy, printer, user, userpquota) :    
-        """Second pass done here."""
-        # Last job for current printer has the same JobId than
-        # the current job, so we know we are in the second pass
-        self.logdebug("Second pass begins : POLICY_%s => %s => %s" % (policy, getattr(printer, "Name", None), getattr(user, "Name", None)))
-        if self.accounter.isSoftware :
-            # Software accounting method was used, and we are
-            # in second pass, so all work is already done, 
-            # now we just have to exit successfully
-            self.printInfo(_("Software accounting already done in first pass. Ignoring."))
-        elif printer.LastJob.JobAction == "DENY" :
-            # Hardware accounting method was used, but job
-            # was rejected during first pass, so nothing to do
-            self.printInfo(_("Hardware accounting already done in first pass. Ignoring."))
-        else :    
-            # here if user and userpquota are both None
-            # then it's a special second pass for a job
-            # which should have had one but didn't, so
-            # we need to get the last user, not the current one.
-            if (user is None) and (userpquota is None) :
-                user = printer.LastJob.User
-                userpquota = self.storage.getUserPQuota(user, printer)
-                
-            # exports user info for last user    
-            self.exportUserInfo(userpquota)
-            
-            # indicate phase change
-            os.environ["PYKOTAPHASE"] = "AFTER"
-            
-            # fakes beginning of job with old page counter
-            self.accounter.LastPageCounter = int(printer.LastJob.PrinterPageCounter or 0)
-            self.accounter.fakeBeginJob()
-            self.logdebug("Fakes beginning of job with LastPageCounter: %s" % self.accounter.getLastPageCounter())
-            
-            # stops accounting. 
-            self.accounter.endJob(printer)
-            self.logdebug("Job accounting ends.")
-                
-            # retrieve the job size    
-            jobsize = self.accounter.getJobSize(printer)
-            if self.softwareJobSize and (jobsize != self.softwareJobSize) :
-                self.printInfo(_("Beware : computed job size (%s) != precomputed job size (%s)") % (jobsize, self.softwareJobSize), "error")
-                (limit, replacement) = self.config.getTrustJobSize(printer.Name)
-                if limit is None :
-                    self.printInfo(_("The job size will be trusted anyway according to the 'trustjobsize' directive"), "warn")
-                else :
-                    if jobsize <= limit :
-                        self.printInfo(_("The job size will be trusted because it is inferior to the 'trustjobsize' directive's limit %s") % limit, "warn")
-                    else :
-                        self.printInfo(_("The job size will be modified according to the 'trustjobsize' directive : %s") % replacement, "warn")
-                        if replacement == "PRECOMPUTED" :
-                            jobsize = self.softwareJobSize
-                        else :    
-                            jobsize = replacement
-            
-            self.printMoreInfo(user, printer, _("Job size : %i") % jobsize)
-            self.printInfo(_("Updating user %s's quota on printer %s") % (user.Name, printer.Name))
-            jobprice = userpquota.increasePagesUsage(jobsize)
-            
-            self.storage.writeLastJobSize(printer.LastJob, jobsize, jobprice)
-            self.printMoreInfo(user, printer, _("Job size and price now set in history."))
-            
-            # exports some new environment variables
-            os.environ["PYKOTAPHASE"] = "AFTER"
-            os.environ["PYKOTAJOBSIZE"] = str(jobsize)
-            os.environ["PYKOTAJOBPRICE"] = str(jobprice)
-            
-            # then re-export user information with new value
-            self.exportUserInfo(userpquota)
-            
-            # Launches the post hook
-            self.posthook(userpquota)
-            
-            # here hardware accounting was completed.
-        self.logdebug("Second pass ends : POLICY_%s => %s => %s" % (policy, getattr(printer, "Name", None), getattr(user, "Name", None)))
-        return self.acceptJob()
-        
-    def doWork(self, policy, printer, user, userpquota) :    
-        """Most of the work is done here."""
-        # Two different values possible for policy here :
-        # ALLOW means : Either printer, user or user print quota doesn't exist,
-        #               but the job should be allowed anyway.
-        # OK means : Both printer, user and user print quota exist, job should
-        #            be allowed if current user is allowed to print on this printer
-        if policy == "ALLOW" :
-            # nothing to do, just accept the job
-            return self.acceptJob()
-        else :    
-            if printer.LastJob.Exists and (printer.LastJob.JobId == self.jobid) :
-                # here we know we are in second pass.
-                return self.secondPass(policy, printer, user, userpquota)
-            else :    
-                # Last job for current printer has a different JobId than
-                # the current job, so we know we are in the first pass.
-                return self.firstPass(policy, printer, user, userpquota)
-            
-if __name__ == "__main__" :    
-
-    sys.stderr.write("IMPORTANT : since PyKota v1.23alpha21, LPRng is not supported anymore !\n")
-    sys.stderr.write("IMPORTANT : please download an earlier release, or wait until LPRng support is re-added.\n")
-    sys.exit(-1)
-
-
-    retcode = JSUCC
-    try :
-        # Initializes the backend
-        kotabackend = PyKotaFilter()    
-        kotabackend.deferredInit()
-        retcode = kotabackend.mainWork()
-        kotabackend.storage.close()
-        kotabackend.closeJobDataStream()    
-    except SystemExit :    
-        retcode = JABORT
-    except :
-        try :
-            kotabackend.crashed("lprngpykota filter failed")
-        except :    
-            crashed("lprngpykota filter failed")
-        retcode = JABORT
-        
-    sys.exit(retcode)    
Index: pykota/trunk/MANIFEST.in
===================================================================
--- pykota/trunk/MANIFEST.in (revision 2413)
+++ pykota/trunk/MANIFEST.in (revision 2468)
@@ -1,3 +1,3 @@
-include README FAQ COPYING LICENSE TODO NEWS CREDITS SECURITY MANIFEST.in clean.sh checkdeps.py bin/pkturnkey bin/pkmail bin/pkbanner bin/autopykota bin/dumpykota bin/lprngpykota bin/cupspykota bin/edpykota bin/warnpykota bin/repykota bin/pykotme bin/pykosd bin/pkprinters bin/pkhint bin/pkbcodes bin/waitprinter.sh bin/papwaitprinter.sh bin/mailandpopup.sh bin/README
+include README FAQ COPYING LICENSE TODO NEWS CREDITS SECURITY MANIFEST.in clean.sh checkdeps.py bin/pkturnkey bin/pkmail bin/pkbanner bin/autopykota bin/dumpykota bin/cupspykota bin/edpykota bin/warnpykota bin/repykota bin/pykotme bin/pykosd bin/pkprinters bin/pkbcodes bin/waitprinter.sh bin/papwaitprinter.sh bin/mailandpopup.sh bin/README
 recursive-include po README *.sh *.po *.mo *.pot
 recursive-include man README *.sh *.1
Index: pykota/trunk/man/sv_SE/pkhint.1
===================================================================
--- pykota/trunk/man/sv_SE/pkhint.1 (revision 2453)
+++  (revision )
@@ -1,47 +1,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.35.
-.TH PKHINT "1" "septembre 2005" "C@LL - Conseil Internet & Logiciels Libres" "User Commands"
-.SH NOM
-pkhint \- page de manuel de pkhint 1.23alpha30_unofficial
-.SH DESCRIPTION
-pkhint v1.23alpha30_unofficial (c) 2003, 2004, 2005 Jerome Alet \- alet@librelogiciel.com
-.PP
-A tool to give hints on what accounting method is best for each printer.
-.PP
-command line usage :
-.IP
-pkhint [options] [printer1 printer2 printer3 ... printerN] <file.conf
-.PP
-options :
-.TP
-\fB\-v\fR | \fB\-\-version\fR
-Prints pkhint's version number then exits.
-.TP
-\fB\-h\fR | \fB\-\-help\fR
-Prints this message then exits.
-.PP
-examples :
-.IP
-\f(CW$ pkhint "hp*" printer103 </etc/cups/printers.conf\fR
-.IP
-Will analyze your printing system to test which accounter
-is the best for each of the defined printer which
-name matches one of the parameters.
-.IP
-If you don't pass any argument on the command line, all
-printers will be analyzed.
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-.PP
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301, USA.
-.PP
-Please report bugs to : Jerome Alet \- alet@librelogiciel.com
Index: pykota/trunk/man/pt/pkhint.1
===================================================================
--- pykota/trunk/man/pt/pkhint.1 (revision 2453)
+++  (revision )
@@ -1,47 +1,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.35.
-.TH PKHINT "1" "septembre 2005" "C@LL - Conseil Internet & Logiciels Libres" "User Commands"
-.SH NOM
-pkhint \- page de manuel de pkhint 1.23alpha30_unofficial
-.SH DESCRIPTION
-pkhint v1.23alpha30_unofficial (c) 2003, 2004, 2005 Jerome Alet \- alet@librelogiciel.com
-.PP
-A tool to give hints on what accounting method is best for each printer.
-.PP
-command line usage :
-.IP
-pkhint [options] [printer1 printer2 printer3 ... printerN] <file.conf
-.PP
-options :
-.TP
-\fB\-v\fR | \fB\-\-version\fR
-Prints pkhint's version number then exits.
-.TP
-\fB\-h\fR | \fB\-\-help\fR
-Prints this message then exits.
-.PP
-examples :
-.IP
-\f(CW$ pkhint "hp*" printer103 </etc/cups/printers.conf\fR
-.IP
-Will analyze your printing system to test which accounter
-is the best for each of the defined printer which
-name matches one of the parameters.
-.IP
-If you don't pass any argument on the command line, all
-printers will be analyzed.
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-.PP
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301, USA.
-.PP
-Please report bugs to : Jerome Alet \- alet@librelogiciel.com
Index: pykota/trunk/man/tr/pkhint.1
===================================================================
--- pykota/trunk/man/tr/pkhint.1 (revision 2453)
+++  (revision )
@@ -1,47 +1,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.35.
-.TH PKHINT "1" "septembre 2005" "C@LL - Conseil Internet & Logiciels Libres" "User Commands"
-.SH NOM
-pkhint \- page de manuel de pkhint 1.23alpha30_unofficial
-.SH DESCRIPTION
-pkhint v1.23alpha30_unofficial (c) 2003, 2004, 2005 Jerome Alet \- alet@librelogiciel.com
-.PP
-A tool to give hints on what accounting method is best for each printer.
-.PP
-command line usage :
-.IP
-pkhint [options] [printer1 printer2 printer3 ... printerN] <file.conf
-.PP
-options :
-.TP
-\fB\-v\fR | \fB\-\-version\fR
-Prints pkhint's version number then exits.
-.TP
-\fB\-h\fR | \fB\-\-help\fR
-Prints this message then exits.
-.PP
-examples :
-.IP
-\f(CW$ pkhint "hp*" printer103 </etc/cups/printers.conf\fR
-.IP
-Will analyze your printing system to test which accounter
-is the best for each of the defined printer which
-name matches one of the parameters.
-.IP
-If you don't pass any argument on the command line, all
-printers will be analyzed.
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-.PP
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301, USA.
-.PP
-Please report bugs to : Jerome Alet \- alet@librelogiciel.com
Index: pykota/trunk/man/el_GR/pkhint.1
===================================================================
--- pykota/trunk/man/el_GR/pkhint.1 (revision 2453)
+++  (revision )
@@ -1,47 +1,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.35.
-.TH PKHINT "1" "septembre 2005" "C@LL - Conseil Internet & Logiciels Libres" "User Commands"
-.SH NOM
-pkhint \- page de manuel de pkhint 1.23alpha30_unofficial
-.SH DESCRIPTION
-pkhint v1.23alpha30_unofficial (c) 2003, 2004, 2005 Jerome Alet \- alet@librelogiciel.com
-.PP
-A tool to give hints on what accounting method is best for each printer.
-.PP
-command line usage :
-.IP
-pkhint [options] [printer1 printer2 printer3 ... printerN] <file.conf
-.PP
-options :
-.TP
-\fB\-v\fR | \fB\-\-version\fR
-Prints pkhint's version number then exits.
-.TP
-\fB\-h\fR | \fB\-\-help\fR
-Prints this message then exits.
-.PP
-examples :
-.IP
-\f(CW$ pkhint "hp*" printer103 </etc/cups/printers.conf\fR
-.IP
-Will analyze your printing system to test which accounter
-is the best for each of the defined printer which
-name matches one of the parameters.
-.IP
-If you don't pass any argument on the command line, all
-printers will be analyzed.
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-.PP
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301, USA.
-.PP
-Please report bugs to : Jerome Alet \- alet@librelogiciel.com
Index: pykota/trunk/man/de/pkhint.1
===================================================================
--- pykota/trunk/man/de/pkhint.1 (revision 2453)
+++  (revision )
@@ -1,47 +1,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.35.
-.TH PKHINT "1" "septembre 2005" "C@LL - Conseil Internet & Logiciels Libres" "User Commands"
-.SH NOM
-pkhint \- page de manuel de pkhint 1.23alpha30_unofficial
-.SH DESCRIPTION
-pkhint v1.23alpha30_unofficial (c) 2003, 2004, 2005 Jerome Alet \- alet@librelogiciel.com
-.PP
-A tool to give hints on what accounting method is best for each printer.
-.PP
-command line usage :
-.IP
-pkhint [options] [printer1 printer2 printer3 ... printerN] <file.conf
-.PP
-options :
-.TP
-\fB\-v\fR | \fB\-\-version\fR
-Prints pkhint's version number then exits.
-.TP
-\fB\-h\fR | \fB\-\-help\fR
-Prints this message then exits.
-.PP
-examples :
-.IP
-\f(CW$ pkhint "hp*" printer103 </etc/cups/printers.conf\fR
-.IP
-Will analyze your printing system to test which accounter
-is the best for each of the defined printer which
-name matches one of the parameters.
-.IP
-If you don't pass any argument on the command line, all
-printers will be analyzed.
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-.PP
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301, USA.
-.PP
-Please report bugs to : Jerome Alet \- alet@librelogiciel.com
Index: pykota/trunk/man/nb_NO/pkhint.1
===================================================================
--- pykota/trunk/man/nb_NO/pkhint.1 (revision 2453)
+++  (revision )
@@ -1,47 +1,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.35.
-.TH PKHINT "1" "septembre 2005" "C@LL - Conseil Internet & Logiciels Libres" "User Commands"
-.SH NOM
-pkhint \- page de manuel de pkhint 1.23alpha30_unofficial
-.SH DESCRIPTION
-pkhint v1.23alpha30_unofficial (c) 2003, 2004, 2005 Jerome Alet \- alet@librelogiciel.com
-.PP
-A tool to give hints on what accounting method is best for each printer.
-.PP
-command line usage :
-.IP
-pkhint [options] [printer1 printer2 printer3 ... printerN] <file.conf
-.PP
-options :
-.TP
-\fB\-v\fR | \fB\-\-version\fR
-Prints pkhint's version number then exits.
-.TP
-\fB\-h\fR | \fB\-\-help\fR
-Prints this message then exits.
-.PP
-examples :
-.IP
-\f(CW$ pkhint "hp*" printer103 </etc/cups/printers.conf\fR
-.IP
-Will analyze your printing system to test which accounter
-is the best for each of the defined printer which
-name matches one of the parameters.
-.IP
-If you don't pass any argument on the command line, all
-printers will be analyzed.
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-.PP
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301, USA.
-.PP
-Please report bugs to : Jerome Alet \- alet@librelogiciel.com
Index: pykota/trunk/man/zh_TW/pkhint.1
===================================================================
--- pykota/trunk/man/zh_TW/pkhint.1 (revision 2453)
+++  (revision )
@@ -1,47 +1,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.35.
-.TH PKHINT "1" "septembre 2005" "C@LL - Conseil Internet & Logiciels Libres" "User Commands"
-.SH NOM
-pkhint \- page de manuel de pkhint 1.23alpha30_unofficial
-.SH DESCRIPTION
-pkhint v1.23alpha30_unofficial (c) 2003, 2004, 2005 Jerome Alet \- alet@librelogiciel.com
-.PP
-A tool to give hints on what accounting method is best for each printer.
-.PP
-command line usage :
-.IP
-pkhint [options] [printer1 printer2 printer3 ... printerN] <file.conf
-.PP
-options :
-.TP
-\fB\-v\fR | \fB\-\-version\fR
-Prints pkhint's version number then exits.
-.TP
-\fB\-h\fR | \fB\-\-help\fR
-Prints this message then exits.
-.PP
-examples :
-.IP
-\f(CW$ pkhint "hp*" printer103 </etc/cups/printers.conf\fR
-.IP
-Will analyze your printing system to test which accounter
-is the best for each of the defined printer which
-name matches one of the parameters.
-.IP
-If you don't pass any argument on the command line, all
-printers will be analyzed.
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-.PP
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301, USA.
-.PP
-Please report bugs to : Jerome Alet \- alet@librelogiciel.com
Index: pykota/trunk/man/pt_BR/pkhint.1
===================================================================
--- pykota/trunk/man/pt_BR/pkhint.1 (revision 2453)
+++  (revision )
@@ -1,47 +1,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.35.
-.TH PKHINT "1" "septembre 2005" "C@LL - Conseil Internet & Logiciels Libres" "User Commands"
-.SH NOM
-pkhint \- page de manuel de pkhint 1.23alpha30_unofficial
-.SH DESCRIPTION
-pkhint v1.23alpha30_unofficial (c) 2003, 2004, 2005 Jerome Alet \- alet@librelogiciel.com
-.PP
-A tool to give hints on what accounting method is best for each printer.
-.PP
-command line usage :
-.IP
-pkhint [options] [printer1 printer2 printer3 ... printerN] <file.conf
-.PP
-options :
-.TP
-\fB\-v\fR | \fB\-\-version\fR
-Prints pkhint's version number then exits.
-.TP
-\fB\-h\fR | \fB\-\-help\fR
-Prints this message then exits.
-.PP
-examples :
-.IP
-\f(CW$ pkhint "hp*" printer103 </etc/cups/printers.conf\fR
-.IP
-Will analyze your printing system to test which accounter
-is the best for each of the defined printer which
-name matches one of the parameters.
-.IP
-If you don't pass any argument on the command line, all
-printers will be analyzed.
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-.PP
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301, USA.
-.PP
-Please report bugs to : Jerome Alet \- alet@librelogiciel.com
Index: pykota/trunk/man/fr/pkhint.1
===================================================================
--- pykota/trunk/man/fr/pkhint.1 (revision 2453)
+++  (revision )
@@ -1,48 +1,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.35.
-.TH PKHINT "1" "septembre 2005" "C@LL - Conseil Internet & Logiciels Libres" "User Commands"
-.SH NOM
-pkhint \- page de manuel de pkhint 1.23alpha30_unofficial
-.SH DESCRIPTION
-pkhint v1.23alpha30_unofficial (c) 2003, 2004, 2005 Jerome Alet \- alet@librelogiciel.com
-.PP
-Un outil pour d�cter la meilleure m�ode de d�mpte pour chaque
-imprimante.
-.PP
-ligne de commande :
-.IP
-pkhint [options] [impr1 impr2 impr3 ... imprN] <fichier.conf
-.PP
-options :
-.TP
-\fB\-v\fR | \fB\-\-version\fR
-Affiche la version de pkhint et quitte.
-.TP
-\fB\-h\fR | \fB\-\-help\fR
-Affiche ce message et quitte.
-.PP
-exemples :
-.IP
-\f(CW$ pkhint "hp*" printer103 </etc/cups/printers.conf\fR
-.IP
-Va analyser votre syst� d'impression pour d�cter quelle est la
-meilleure m�ode de d�mpte pour chacune des imprimantes d�nies
-dont le nom correspond aux param�es.
-.IP
-Si vous ne passer aucune argument sur la ligne de commande, toutes les
-imprimantes seront analys�.
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-.PP
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301, USA.
-.PP
-Merci d'envoyer les rapports de bugs � Jerome Alet \- alet@librelogiciel.com
Index: pykota/trunk/man/es/pkhint.1
===================================================================
--- pykota/trunk/man/es/pkhint.1 (revision 2453)
+++  (revision )
@@ -1,47 +1,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.35.
-.TH PKHINT "1" "septembre 2005" "C@LL - Conseil Internet & Logiciels Libres" "User Commands"
-.SH NOM
-pkhint \- page de manuel de pkhint 1.23alpha30_unofficial
-.SH DESCRIPTION
-pkhint v1.23alpha30_unofficial (c) 2003, 2004, 2005 Jerome Alet \- alet@librelogiciel.com
-.PP
-A tool to give hints on what accounting method is best for each printer.
-.PP
-command line usage :
-.IP
-pkhint [options] [printer1 printer2 printer3 ... printerN] <file.conf
-.PP
-options :
-.TP
-\fB\-v\fR | \fB\-\-version\fR
-Prints pkhint's version number then exits.
-.TP
-\fB\-h\fR | \fB\-\-help\fR
-Prints this message then exits.
-.PP
-examples :
-.IP
-\f(CW$ pkhint "hp*" printer103 </etc/cups/printers.conf\fR
-.IP
-Will analyze your printing system to test which accounter
-is the best for each of the defined printer which
-name matches one of the parameters.
-.IP
-If you don't pass any argument on the command line, all
-printers will be analyzed.
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-.PP
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301, USA.
-.PP
-Please report bugs to : Jerome Alet \- alet@librelogiciel.com
Index: pykota/trunk/man/th/pkhint.1
===================================================================
--- pykota/trunk/man/th/pkhint.1 (revision 2453)
+++  (revision )
@@ -1,47 +1,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.35.
-.TH PKHINT "1" "septembre 2005" "C@LL - Conseil Internet & Logiciels Libres" "User Commands"
-.SH NOM
-pkhint \- page de manuel de pkhint 1.23alpha30_unofficial
-.SH DESCRIPTION
-pkhint v1.23alpha30_unofficial (c) 2003, 2004, 2005 Jerome Alet \- alet@librelogiciel.com
-.PP
-A tool to give hints on what accounting method is best for each printer.
-.PP
-command line usage :
-.IP
-pkhint [options] [printer1 printer2 printer3 ... printerN] <file.conf
-.PP
-options :
-.TP
-\fB\-v\fR | \fB\-\-version\fR
-Prints pkhint's version number then exits.
-.TP
-\fB\-h\fR | \fB\-\-help\fR
-Prints this message then exits.
-.PP
-examples :
-.IP
-\f(CW$ pkhint "hp*" printer103 </etc/cups/printers.conf\fR
-.IP
-Will analyze your printing system to test which accounter
-is the best for each of the defined printer which
-name matches one of the parameters.
-.IP
-If you don't pass any argument on the command line, all
-printers will be analyzed.
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-.PP
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301, USA.
-.PP
-Please report bugs to : Jerome Alet \- alet@librelogiciel.com
Index: pykota/trunk/man/it/pkhint.1
===================================================================
--- pykota/trunk/man/it/pkhint.1 (revision 2453)
+++  (revision )
@@ -1,47 +1,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.35.
-.TH PKHINT "1" "septembre 2005" "C@LL - Conseil Internet & Logiciels Libres" "User Commands"
-.SH NOM
-pkhint \- page de manuel de pkhint 1.23alpha30_unofficial
-.SH DESCRIPTION
-pkhint v1.23alpha30_unofficial (c) 2003, 2004, 2005 Jerome Alet \- alet@librelogiciel.com
-.PP
-A tool to give hints on what accounting method is best for each printer.
-.PP
-command line usage :
-.IP
-pkhint [options] [printer1 printer2 printer3 ... printerN] <file.conf
-.PP
-options :
-.TP
-\fB\-v\fR | \fB\-\-version\fR
-Prints pkhint's version number then exits.
-.TP
-\fB\-h\fR | \fB\-\-help\fR
-Prints this message then exits.
-.PP
-examples :
-.IP
-\f(CW$ pkhint "hp*" printer103 </etc/cups/printers.conf\fR
-.IP
-Will analyze your printing system to test which accounter
-is the best for each of the defined printer which
-name matches one of the parameters.
-.IP
-If you don't pass any argument on the command line, all
-printers will be analyzed.
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-.PP
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301, USA.
-.PP
-Please report bugs to : Jerome Alet \- alet@librelogiciel.com
Index: pykota/trunk/man/pkhint.1
===================================================================
--- pykota/trunk/man/pkhint.1 (revision 2453)
+++  (revision )
@@ -1,47 +1,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.35.
-.TH PKHINT "1" "September 2005" "C@LL - Conseil Internet & Logiciels Libres" "User Commands"
-.SH NAME
-pkhint \- manual page for pkhint 1.23alpha30_unofficial
-.SH DESCRIPTION
-pkhint v1.23alpha30_unofficial (c) 2003, 2004, 2005 Jerome Alet \- alet@librelogiciel.com
-.PP
-A tool to give hints on what accounting method is best for each printer.
-.PP
-command line usage :
-.IP
-pkhint [options] [printer1 printer2 printer3 ... printerN] <file.conf
-.PP
-options :
-.TP
-\fB\-v\fR | \fB\-\-version\fR
-Prints pkhint's version number then exits.
-.TP
-\fB\-h\fR | \fB\-\-help\fR
-Prints this message then exits.
-.PP
-examples :
-.IP
-\f(CW$ pkhint "hp*" printer103 </etc/cups/printers.conf\fR
-.IP
-Will analyze your printing system to test which accounter
-is the best for each of the defined printer which
-name matches one of the parameters.
-.IP
-If you don't pass any argument on the command line, all
-printers will be analyzed.
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-.PP
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301, USA.
-.PP
-Please report bugs to : Jerome Alet \- alet@librelogiciel.com
