- Timestamp:
- Dec 20, 2011, 3:20:13 PM (12 years ago)
- Branches:
- no-cups
- Children:
- aef164a
- Parents:
- ef8df33
- git-author:
- Jessica B. Hamrick <jhamrick@…> (12/20/11 15:20:13)
- git-committer:
- Jessica B. Hamrick <jhamrick@…> (12/20/11 15:20:13)
- Location:
- server/lib/gutenbach
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
server/lib/gutenbach/ipp/operations.py
ref8df33 r59a1d4a 21 21 raise err.VersionNotSupported(str(request.version)) 22 22 23 # check operation id23 # XXX: check operation id 24 24 if False: 25 25 raise err.OperationNotSupported(str(request.operation_id)) … … 31 31 "Attribute group does not have OPERATION tag: 0x%x" % op_attrs.tag) 32 32 33 # XXX: if these aren't valid, then you HAVE to return something 34 # special. See RFC 2911 3.1.6.1 33 35 # # check compression 34 36 # if False: … … 474 476 return out 475 477 476 477 478 def make_get_printer_attributes_response(attrs, request): 478 479 """3.2.5.2 Get-Printer-Attributes Response … … 525 526 return response 526 527 528 ### CUPS-GET-DEFAULT 527 529 528 530 def verify_cups_get_default_request(request): … … 576 578 make_printer_attributes(attrs, request, response) 577 579 return response 580 581 ### CUPS-GET-PRINTERS 578 582 579 583 def verify_cups_get_printers_request(request): … … 619 623 """ 620 624 625 # XXX: actually do something here 621 626 return {} 622 627 … … 648 653 make_printer_attributes(printer, request, response) 649 654 return response 655 656 ### CUPS-GET-CLASSES 650 657 651 658 def verify_cups_get_classes_request(request): … … 692 699 """ 693 700 701 # XXX: actually do something here 694 702 return {} 695 703 -
server/lib/gutenbach/server/requests.py
ref8df33 r59a1d4a 73 73 74 74 """ 75 75 76 # verify the request and get an attribute dictionary 76 77 req_dict = ipp.ops.verify_get_jobs_request(request) 78 79 # lookup printer name 77 80 printer_name = req_dict['printer-uri'] 78 81 if printer_name not in self.printers: … … 81 84 [request.attribute_groups[0].attributes[2]]) 82 85 83 # Each job will append a new job attribute group.86 # get the job attributes 84 87 jobs = [job.get_job_attributes(request) for job in \ 85 88 self.printers[printer_name].get_jobs()] 89 90 # build the response 86 91 response = ipp.ops.make_get_jobs_response(jobs, request) 87 92 return response … … 143 148 """ 144 149 145 # this is just like cups_get_default, except the printer name 146 # is given 150 # verify the request and get the attributes dictionary 147 151 req_dict = ipp.ops.verify_get_printer_attributes_request(request) 152 153 # lookup the printer name 148 154 printer_name = req_dict['printer-uri'] 149 155 if printer_name not in self.printers: … … 151 157 "Invalid printer uri: %s" % printer_name, 152 158 [request.attribute_groups[0].attributes[2]]) 153 159 160 # bulid response 154 161 response = ipp.ops.make_get_printer_attributes_response( 155 162 self.printers[printer_name].get_printer_attributes(request), request) … … 171 178 172 179 def get_job_attributes(self, request): 180 181 # verify the request and get the attributes dictionary 173 182 req_dict = ipp.ops.verify_get_jobs_request(request) 183 184 # lookup the printer name 174 185 printer_name = req_dict['printer-uri'] 175 job_id = req_dict['job-id']176 177 186 if printer_name not in self.printers: 178 187 raise ipp.errors.Attributes( 179 188 "Invalid printer uri: %s" % printer_name, 180 189 [request.attribute_groups[0].attributes[2]]) 181 try: 182 job = self.printers[printer_name].get_job(job_id) 190 191 # lookup the job id 192 job_id = req_dict['job-id'] 193 try: job = self.printers[printer_name].get_job(job_id) 183 194 except InvalidJobException: 184 195 raise ipp.errors.Attributes( … … 186 197 [request.attribute_groups[0].attributes[2]]) # XXX: this is wrong 187 198 188 # Each job will append a new job attribute group.189 199 # XXX: we need to honor the things that the request actually asks for 200 # build the response 190 201 response = ipp.ops.make_get_job_attributes_response( 191 202 job.get_job_attributes(request), request) … … 215 226 """ 216 227 228 # verify the request and get the attributes dictionary 217 229 req_dict = ipp.ops.verify_cups_get_default_request(request) 230 # build the response 218 231 response = ipp.ops.make_get_printer_attributes_response( 219 232 self.printers[self.default].get_printer_attributes(request), request) … … 231 244 """ 232 245 246 # verify the request and get the attributes dictionary 233 247 req_dict = ipp.ops.verify_cups_get_printers_request(request) 248 # get the printer attributes 234 249 attrs = [self.printers[printer].get_printer_attributes(request) \ 235 250 for printer in self.printers] 251 # build the response 236 252 response = ipp.ops.make_cups_get_printers_response(attrs, request) 237 253 return response … … 248 264 """ 249 265 266 # verify the request and get the attributes dictionaryu 250 267 req_dict = ipp.ops.verify_cups_get_classes_request(request) 268 # build the response 251 269 response = ipp.ops.make_cups_get_classes_response(request) 252 270 return response
Note: See TracChangeset
for help on using the changeset viewer.