Show
Ignore:
Timestamp:
06/24/06 15:28:19 (18 years ago)
Author:
jerome
Message:

It's now possible to cancel existing subscriptions.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pkipplib/trunk/pkipplib/pkipplib.py

    r28 r30  
    716716                                      timeinterval=None, 
    717717                                      jobid=None) : 
    718         """Creates a printer or server subscription.""" 
    719         req = self.newRequest(IPP_CREATE_PRINTER_SUBSCRIPTION) 
    720         req.operation["printer-uri"] = ("uri", uri) 
     718        """Creates a job, printer or server subscription.""" 
     719        if jobid is not None : 
     720            opid = IPP_CREATE_JOB_SUBSCRIPTION 
     721            uritype = "job-uri" 
     722        else : 
     723            opid = IPP_CREATE_PRINTER_SUBSCRIPTION 
     724            uritype = "printer-uri" 
     725        req = self.newRequest(opid) 
     726        req.operation[uritype] = ("uri", uri) 
    721727        for event in events : 
    722728            req.subscription["notify-events"] = ("keyword", event) 
     
    739745        return self.doRequest(req) 
    740746             
     747    def cancelSubscription(self, uri, subscriptionid, jobid=None) :     
     748        """Cancels a subscription.""" 
     749        req = self.newRequest(IPP_CANCEL_SUBSCRIPTION) 
     750        if jobid is not None : 
     751            uritype = "job-uri" 
     752        else : 
     753            uritype = "printer-uri" 
     754        req.operation[uritype] = ("uri", uri) 
     755        req.event_notification["notify-subscription-id"] = ("integer", subscriptionid) 
     756        return self.doRequest(req) 
    741757         
    742758if __name__ == "__main__" :