Changeset 0c4f3bf


Ignore:
Timestamp:
Dec 20, 2011, 9:17:05 AM (12 years ago)
Author:
Jessica B. Hamrick <jhamrick@…>
Branches:
no-cups
Children:
c70a3c9
Parents:
110d8be
git-author:
Jessica B. Hamrick <jhamrick@…> (12/20/11 09:17:05)
git-committer:
Jessica B. Hamrick <jhamrick@…> (12/20/11 09:17:05)
Message:

Rename value_tag to tag in ipp.value

File:
1 edited

Legend:

Unmodified
Added
Removed
  • server/lib/gutenbach/ipp/value.py

    rd04a689 r0c4f3bf  
    2323    """
    2424
    25     def __init__(self, value_tag=None, value=None):
     25    def __init__(self, tag=None, value=None):
    2626        """Initialize a Value.  There are three different ways you can
    2727        call this method:
     
    2929            Value() -- creates an empty Value instance
    3030
    31             Value(value_tag, value) -- creates a Value instance from
     31            Value(tag, value) -- creates a Value instance from
    3232            a non-binary value
    3333
    3434        If you create an empty Value instance, once you have set
    35         value_tag and value, you can retrieve the packed value from
     35        tag and value, you can retrieve the packed value from
    3636        the packed_value property.
    3737
    3838        Arguments:
    3939
    40             value_tag -- one byte, identifying the type of value
     40            tag -- one byte, identifying the type of value
    4141
    4242            value -- variable size, containing the actual value.
     
    4747        # make sure the arguments are valid
    4848        if value is not None:
    49             assert value_tag is not None, \
    50                    "value_tag must not be null because " + \
     49            assert tag is not None, \
     50                   "tag must not be null because " + \
    5151                   "value is not null!"
    5252
    5353        # initialize member variables
    54         self.value_tag = value_tag # one byte, the type of value
     54        self.tag = tag # one byte, the type of value
    5555        self.value     = value     # non-binary value of self.value
    5656
    5757    @classmethod
    58     def unpack(cls, value_tag, packed_value):
     58    def unpack(cls, tag, packed_value):
    5959        """Unpack a binary IPP value into a Value object.
    6060
    6161        """
    62         return cls(value_tag, cls._unpack(value_tag, packed_value))
     62        return cls(tag, cls._unpack(tag, packed_value))
    6363
    6464    @staticmethod
    65     def _unpack(value_tag, packed_value):
    66         """Given self.value_tag and self.packed_value, unpack the
     65    def _unpack(tag, packed_value):
     66        """Given self.tag and self.packed_value, unpack the
    6767        binary value into either a string or number.  These values
    6868        MUST NOT be null.
     
    7272        """
    7373
    74         assert value_tag is not None, \
     74        assert tag is not None, \
    7575               "Cannot unpack values with unspecified value tag!"
    7676        assert packed_value is not None, \
     
    8080
    8181        # out-of-band value tags
    82         if value_tag == OutOfBandTags.UNSUPPORTED or \
    83                value_tag == OutOfBandTags.DEFAULT or \
    84                value_tag == OutOfBandTags.UNKNOWN or \
    85                value_tag == OutOfBandTags.NO_VALUE:
     82        if tag == OutOfBandTags.UNSUPPORTED or \
     83               tag == OutOfBandTags.DEFAULT or \
     84               tag == OutOfBandTags.UNKNOWN or \
     85               tag == OutOfBandTags.NO_VALUE:
    8686            value_size = 0
    8787            value = ''
    8888
    8989        # integer value tags
    90         elif value_tag == IntegerTags.INTEGER:
     90        elif tag == IntegerTags.INTEGER:
    9191            value = struct.unpack('>i', packed_value)[0]
    92         elif value_tag == IntegerTags.BOOLEAN:
     92        elif tag == IntegerTags.BOOLEAN:
    9393            value = struct.unpack('>b', packed_value)[0]
    94         elif value_tag == IntegerTags.ENUM:
     94        elif tag == IntegerTags.ENUM:
    9595            value = struct.unpack('>i', packed_value)[0]
    9696
    9797       
    98         elif value_tag == OctetStringTags.DATETIME:
     98        elif tag == OctetStringTags.DATETIME:
    9999            # field  octets  contents                  range
    100100            # -----  ------  --------                  -----
     
    113113            value = struct.unpack('>hbbbbbbcbb', packed_value)
    114114           
    115         elif value_tag == OctetStringTags.RESOLUTION:
     115        elif tag == OctetStringTags.RESOLUTION:
    116116            # OCTET-STRING consisting of nine octets of 2
    117117            # SIGNED-INTEGERs followed by a SIGNED-BYTE. The first
     
    123123            value = struct.unpack('>iib', packed_value)
    124124           
    125         elif value_tag == OctetStringTags.RANGE_OF_INTEGER:
     125        elif tag == OctetStringTags.RANGE_OF_INTEGER:
    126126            # Eight octets consisting of 2 SIGNED-INTEGERs.  The first
    127127            # SIGNED-INTEGER contains the lower bound and the second
     
    130130            value = struct.unpack('>ii', packed_value)
    131131
    132         elif value_tag == OctetStringTags.TEXT_WITH_LANGUAGE or \
    133                  value_tag == OctetStringTags.NAME_WITH_LANGUAGE:
     132        elif tag == OctetStringTags.TEXT_WITH_LANGUAGE or \
     133                 tag == OctetStringTags.NAME_WITH_LANGUAGE:
    134134            a = struct.unpack('>h', packed_value[:2])[0]
    135135            b = struct.unpack('>%ss' % a, packed_value[2:a+2])[0]
     
    139139
    140140        # character string value tags
    141         elif value_tag == \
     141        elif tag == \
    142142                 CharacterStringTags.TEXT_WITHOUT_LANGUAGE or \
    143                  value_tag == \
     143                 tag == \
    144144                 CharacterStringTags.NAME_WITHOUT_LANGUAGE:
    145145            value = str(packed_value)
    146         elif value_tag == CharacterStringTags.GENERIC or \
    147                  value_tag == CharacterStringTags.KEYWORD or \
    148                  value_tag == CharacterStringTags.URI or \
    149                  value_tag == CharacterStringTags.URI_SCHEME or \
    150                  value_tag == CharacterStringTags.CHARSET or \
    151                  value_tag == CharacterStringTags.NATURAL_LANGUAGE or \
    152                  value_tag == CharacterStringTags.MIME_MEDIA_TYPE:
     146        elif tag == CharacterStringTags.GENERIC or \
     147                 tag == CharacterStringTags.KEYWORD or \
     148                 tag == CharacterStringTags.URI or \
     149                 tag == CharacterStringTags.URI_SCHEME or \
     150                 tag == CharacterStringTags.CHARSET or \
     151                 tag == CharacterStringTags.NATURAL_LANGUAGE or \
     152                 tag == CharacterStringTags.MIME_MEDIA_TYPE:
    153153            value = str(packed_value)
    154154
     
    162162    @property
    163163    def packed_value(self):
    164         """Given self.value_tag and self.value, pack the value into
     164        """Given self.tag and self.value, pack the value into
    165165        binary form.  These values MUST NOT be null.
    166166
     
    169169        """
    170170       
    171         assert self.value_tag is not None, \
     171        assert self.tag is not None, \
    172172               "cannot pack value with null value tag!"
    173173        assert self.value is not None, \
     
    177177
    178178        # out-of-band value tags
    179         if self.value_tag == OutOfBandTags.UNSUPPORTED or \
    180                self.value_tag == OutOfBandTags.DEFAULT or \
    181                self.value_tag == OutOfBandTags.UNKNOWN or \
    182                self.value_tag == OutOfBandTags.NO_VALUE:
     179        if self.tag == OutOfBandTags.UNSUPPORTED or \
     180               self.tag == OutOfBandTags.DEFAULT or \
     181               self.tag == OutOfBandTags.UNKNOWN or \
     182               self.tag == OutOfBandTags.NO_VALUE:
    183183            packed_value = ''
    184184
    185185        # integer value tags
    186         elif self.value_tag == IntegerTags.INTEGER:
     186        elif self.tag == IntegerTags.INTEGER:
    187187            packed_value = struct.pack('>i', self.value)
    188         elif self.value_tag == IntegerTags.BOOLEAN:
     188        elif self.tag == IntegerTags.BOOLEAN:
    189189            packed_value = struct.pack('>b', self.value)
    190         elif self.value_tag == IntegerTags.ENUM:
     190        elif self.tag == IntegerTags.ENUM:
    191191            packed_value = struct.pack('>i', self.value)
    192192
    193193        # octet string value tags
    194         elif self.value_tag == OctetStringTags.DATETIME:
     194        elif self.tag == OctetStringTags.DATETIME:
    195195            # field  octets  contents                  range
    196196            # -----  ------  --------                  -----
     
    209209            packed_value = struct.pack('>hbbbbbbcbb', *self.value)
    210210           
    211         elif self.value_tag == OctetStringTags.RESOLUTION:
     211        elif self.tag == OctetStringTags.RESOLUTION:
    212212            # OCTET-STRING consisting of nine octets of 2
    213213            # SIGNED-INTEGERs followed by a SIGNED-BYTE. The first
     
    219219            packed_value = truct.pack('>iib', *self.value)
    220220           
    221         elif self.value_tag == OctetStringTags.RANGE_OF_INTEGER:
     221        elif self.tag == OctetStringTags.RANGE_OF_INTEGER:
    222222            # Eight octets consisting of 2 SIGNED-INTEGERs.  The first
    223223            # SIGNED-INTEGER contains the lower bound and the second
     
    226226            packed_value = struct.pack('>ii', *self.value)
    227227
    228         elif self.value_tag == OctetStringTags.TEXT_WITH_LANGUAGE or \
    229                  self.value_tag == OctetStringTags.NAME_WITH_LANGUAGE:
     228        elif self.tag == OctetStringTags.TEXT_WITH_LANGUAGE or \
     229                 self.tag == OctetStringTags.NAME_WITH_LANGUAGE:
    230230           
    231231            a_bin = struct.pack('>h', self.value[0])
     
    237237
    238238        # character string value tags
    239         elif self.value_tag == \
     239        elif self.tag == \
    240240                 CharacterStringTags.TEXT_WITHOUT_LANGUAGE or \
    241                  self.value_tag == \
     241                 self.tag == \
    242242                 CharacterStringTags.NAME_WITHOUT_LANGUAGE:
    243243
     
    245245                                       self.value)
    246246                   
    247         elif self.value_tag == CharacterStringTags.GENERIC or \
    248                  self.value_tag == CharacterStringTags.KEYWORD or \
    249                  self.value_tag == CharacterStringTags.URI or \
    250                  self.value_tag == CharacterStringTags.URI_SCHEME or \
    251                  self.value_tag == CharacterStringTags.CHARSET or \
    252                  self.value_tag == CharacterStringTags.NATURAL_LANGUAGE or \
    253                  self.value_tag == CharacterStringTags.MIME_MEDIA_TYPE:
     247        elif self.tag == CharacterStringTags.GENERIC or \
     248                 self.tag == CharacterStringTags.KEYWORD or \
     249                 self.tag == CharacterStringTags.URI or \
     250                 self.tag == CharacterStringTags.URI_SCHEME or \
     251                 self.tag == CharacterStringTags.CHARSET or \
     252                 self.tag == CharacterStringTags.NATURAL_LANGUAGE or \
     253                 self.tag == CharacterStringTags.MIME_MEDIA_TYPE:
    254254           
    255255            packed_value = struct.pack('>%ss' % len(self.value),
     
    265265        """Replace a value using a new packed value
    266266
    267         Unpacks a new packed_value (of the same value_tag).
    268 
    269         """
    270         self.value = self._unpack(self.value_tag, packed_value)
     267        Unpacks a new packed_value (of the same tag).
     268
     269        """
     270        self.value = self._unpack(self.tag, packed_value)
    271271
    272272    @property
     
    287287        return self.packed_value_size + 1
    288288
     289    @property
     290    def pyobj(self):
     291        return (self.tag, self.value)
     292
    289293    def __str__(self):
    290294        return str(self.value)
    291295
    292296    def __repr__(self):
    293         return '<IPPValue (%x, %r)>' % (self.value_tag, self.value)
     297        return '<IPPValue (%x, %r)>' % (self.tag, self.value)
Note: See TracChangeset for help on using the changeset viewer.