<commit_before>'''
    This file is part of python-webuntis

    :copyright: (c) 2012 by <NAME>.
    :license: BSD, see LICENSE for more details.
'''

from __future__ import unicode_literals


class Error(Exception):
    '''Superclass for all `python-webuntis`-specific errors, never gets raised
    directly.'''


class RemoteError(Error, IOError):
    '''There was some kind of error while interacting with the server.'''
    pass


class MethodNotFoundError(RemoteError):
    '''The JSON-RPC method was not found. This really should not occur.'''
    pass


class AuthError(RemoteError):
    '''Errors while logging in.'''
    pass


class BadCredentialsError(AuthError):
    '''Invalid or missing username or password.'''
    pass


class NotLoggedInError(AuthError):
    '''The session expired or we never logged in.'''<commit_msg>API: errors.BadCredentialsError now subclasses ValueError<commit_after>'''
    This file is part of python-webuntis

    :copyright: (c) 2012 by <NAME>.
    :license: BSD, see LICENSE for more details.
'''

from __future__ import unicode_literals


class Error(Exception):
    '''Superclass for all `python-webuntis`-specific errors, never gets raised
    directly.'''


class RemoteError(Error, IOError):
    '''There was some kind of error while interacting with the server.'''
    pass


class MethodNotFoundError(RemoteError):
    '''The JSON-RPC method was not found. This really should not occur.'''
    pass


class AuthError(RemoteError):
    '''Errors while logging in.'''
    pass


class BadCredentialsError(AuthError, ValueError):
    '''Invalid or missing username or password.'''
    pass


class NotLoggedInError(AuthError):
    '''The session expired or we never logged in.'''
{'fraction_non_alphanumeric': 0.10474537037037036, 'fraction_numerical': 0.004629629629629629, 'mean_word_length': 3.925925925925926, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3556121', 'n_tokens_mistral': 491, 'n_tokens_neox': 469, 'n_words': 182}