Changeset ee8e6d0 for server/lib/gutenbach/server/job.py
- Timestamp:
- Dec 27, 2011, 7:03:46 PM (12 years ago)
- Branches:
- no-cups
- Children:
- 7c143c9
- Parents:
- 1037115
- git-author:
- Jessica B. Hamrick <jhamrick@…> (12/27/11 19:03:46)
- git-committer:
- Jessica B. Hamrick <jhamrick@…> (12/27/11 19:03:46)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
server/lib/gutenbach/server/job.py
r793432f ree8e6d0 2 2 import os 3 3 import gutenbach.ipp as ipp 4 import logging 4 5 5 6 # initialize logger … … 18 19 ] 19 20 20 def __init__(self, document=None):21 def __init__(self, jid, printer, creator="", name="", size=0): 21 22 """Initialize a Gutenbach job. 22 23 … … 24 25 document to print to the value of document. 25 26 """ 26 27 self.jid = None 28 self.name = document 29 self.status = None 30 self.document = document 31 self.printer = None 27 28 self.jid = jid 29 self.printer = printer 30 31 self.creator = creator 32 self.name = name 33 self.size = size 34 35 self.status = ipp.JobStates.PENDING 32 36 33 37 def __getattr__(self, attr): 34 38 try: 35 return s uper(Job, self).__getattr__(attr)39 return self.__getattribute__(attr) 36 40 except AttributeError: 37 41 pass 38 39 return super(Job, self).__getattr__( 40 attr.replace("-", "_")) 42 return self.__getattribute__(attr.replace("-", "_")) 41 43 42 44 def __hasattr__(self, attr): 43 has = super(Job, self).__hasattr__(attr)44 if not has:45 has = super(Job, self).__hasattr__(46 attr.replace("-", "_"))47 return has45 try: 46 getattr(self, attr) 47 return True 48 except AttributeError: 49 return False 48 50 49 51 #### Job attributes … … 60 62 @property 61 63 def job_originating_user_name(self): 62 return ipp.JobOriginatingUserName( "jhamrick")64 return ipp.JobOriginatingUserName(self.creator) 63 65 64 66 # XXX: we need to actually calculate this! 65 67 @property 66 68 def job_k_octets(self): 67 return ipp.JobKOctets( 1)69 return ipp.JobKOctets(self.size) 68 70 69 71 @property … … 75 77 return ipp.JobPrinterUri(self.printer.uri) 76 78 77 def get_job_attributes(self, request): 78 attributes = [getattr(self, attr) for attr in self.attributes] 79 def get_job_attributes(self, request=None): 80 if request and 'requested-attributes' in request: 81 requested = [] 82 for value in request['requested-attributes'].values: 83 if value.value in self.attributes: 84 requested.append(value.value) 85 else: 86 requested = self.attributes 87 88 attributes = [getattr(self, attr) for attr in requested] 79 89 return attributes 80 90 81 91 ####### 82 83 def enqueue(self, printer, job_id):84 if self.status != None:85 raise InvalidJobException(86 "Cannot enqueue a job that has " + \87 "already been initialized!")88 self.printer = printer89 self.jid = job_id90 self.status = const.JobStates.PENDING91 92 92 93 def play(self): … … 107 108 108 109 def __str__(self): 109 return "<Job %d '%s'>" % \ 110 (self.jid if self.jid is not None else -1, \ 111 self.document) 110 return "<Job %d '%s'>" % (self.jid if self.jid is not None else -1, self.name)
Note: See TracChangeset
for help on using the changeset viewer.