PDF name object.
| 393 | |
| 394 | @total_ordering |
| 395 | class Name: |
| 396 | """PDF name object.""" |
| 397 | __slots__ = ('name',) |
| 398 | _hexify = {c: '#%02x' % c |
| 399 | for c in {*range(256)} - {*range(ord('!'), ord('~') + 1)}} |
| 400 | |
| 401 | def __init__(self, name): |
| 402 | if isinstance(name, Name): |
| 403 | self.name = name.name |
| 404 | else: |
| 405 | if isinstance(name, bytes): |
| 406 | name = name.decode('ascii') |
| 407 | self.name = name.translate(self._hexify).encode('ascii') |
| 408 | |
| 409 | def __repr__(self): |
| 410 | return "<Name %s>" % self.name |
| 411 | |
| 412 | def __str__(self): |
| 413 | return '/' + self.name.decode('ascii') |
| 414 | |
| 415 | def __eq__(self, other): |
| 416 | return isinstance(other, Name) and self.name == other.name |
| 417 | |
| 418 | def __lt__(self, other): |
| 419 | return isinstance(other, Name) and self.name < other.name |
| 420 | |
| 421 | def __hash__(self): |
| 422 | return hash(self.name) |
| 423 | |
| 424 | def pdfRepr(self): |
| 425 | return b'/' + self.name |
| 426 | |
| 427 | |
| 428 | class Verbatim: |
no outgoing calls
no test coverage detected
searching dependent graphs…