This file is indexed.

/usr/share/pyshared/smartcard/pcsc/PCSCExceptions.py is in python-pyscard 1.6.12.1-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
"""Smartcard module exceptions.

This module defines the exceptions raised by the smartcard.pcsc modules.

__author__ = "http://www.gemalto.com"

Copyright 2001-2012 gemalto
Author: Jean-Daniel Aussel, mailto:jean-daniel.aussel@gemalto.com

This file is part of pyscard.

pyscard is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.

pyscard is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with pyscard; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
"""

# gemalto scard library
import smartcard.scard


class BaseSCardException(Exception):
    """Base class for scard (aka PCSC) exceptions.

    scard exceptions are raised by the scard module, i.e.
    low-level PCSC access to readers and cards.

    """

    def __init__(self, hresult):
        """Constructor that stores the pcsc error status."""
        self.hresult = hresult

    def __str__(self):
        """Returns a string representation of the exception."""
        return repr("scard exception: " +
            smartcard.scard.SCardGetErrorMessage(self.hresult))


class AddReaderToGroupException(BaseSCardException):
    """Raised when scard fails to add a new reader to a PCSC reader group."""

    def __init__(self, hresult, readername="", groupname=""):
        BaseSCardException.__init__(self, hresult)
        self.readername = readername
        self.groupname = groupname

    def __str__(self):
        return repr('Failure to add reader: ' + self.readername +
            ' to group: ' + self.groupname + ' ' +
            smartcard.scard.SCardGetErrorMessage(self.hresult))


class EstablishContextException(BaseSCardException):
    """Raised when scard failed to establish context with PCSC."""

    def __str__(self):
        """Returns a string representation of the exception."""
        return repr('Failure to establish context: ' +
            smartcard.scard.SCardGetErrorMessage(self.hresult))


class ListReadersException(BaseSCardException):
    """Raised when scard failed to list readers."""

    def __str__(self):
        return repr('Failure to list readers: ' +
            smartcard.scard.SCardGetErrorMessage(self.hresult))


class IntroduceReaderException(BaseSCardException):
    """Raised when scard fails to introduce a new reader to PCSC."""

    def __init__(self, hresult, readername=""):
        BaseSCardException.__init__(self, hresult)
        self.readername = readername

    def __str__(self):
        return repr('Failure to introduce a new reader: ' + self.readername
            + ' ' + smartcard.scard.SCardGetErrorMessage(self.hresult))


class ReleaseContextException(BaseSCardException):
    """Raised when scard failed to release PCSC context."""

    def __str__(self):
        return repr('Failure to release context: ' +
            smartcard.scard.SCardGetErrorMessage(self.hresult))


class RemoveReaderFromGroupException(BaseSCardException):
    """Raised when scard fails to remove a reader from a PCSC reader group."""

    def __init__(self, hresult, readername="", groupname=""):
        BaseSCardException.__init__(self, hresult)
        self.readername = readername
        self.groupname = groupname

    def __str__(self):
        return repr('Failure to remove reader: ' + self.readername +
            ' from group: ' + self.groupname + ' ' +
            smartcard.scard.SCardGetErrorMessage(self.hresult))

if __name__ == "__main__":
    try:
        raise EstablishContextException(smartcard.scard.SCARD_E_NO_MEMORY)
    except BaseSCardException, exc:
        print exc