# -*- coding: utf-8 -*-
import appdirs
import os
import re
import logging
from coalib import VERSION
THIS_IS_A_BUG = ('This is a bug. We are sorry for the inconvenience. '
'Please contact the developers for assistance.')
CRASH_MESSAGE = ('An unknown error occurred. This is a bug. We are '
'sorry for the inconvenience. Please contact the '
'developers for assistance. During execution of '
'coala an exception was raised. This should never '
'happen. When asked for, the following information '
'may help investigating:')
VERSION_CONFLICT_MESSAGE = ('There is a conflict in the version of a '
'dependency you have installed and the '
'requirements of coala. This may be resolved by '
'creating a separate virtual environment for '
'coala or running `pip3 install "%s"`. Be aware '
'that the latter solution might break other '
'python packages that depend on the currently '
'installed version.')
OBJ_NOT_ACCESSIBLE = '{} is not accessible and will be ignored!'
TRUE_STRINGS = ['1',
'on',
'okay',
'ok',
'okey-dokey',
'y',
'yes',
'yeah',
'yea',
'ya',
'ye',
'yessir',
'sure',
'true',
'tru',
'uh-huh',
'definitely',
'yup',
'yep',
'right',
'aye',
'alright',
'alrighty',
'hell yeah',
'affirmative',
'certainly',
'definitely',
'absolutely',
'roger',
'righto',
'ja',
'da',
'si',
'oui',
'amen',
'totally',
'10-4',
'positive']
FALSE_STRINGS = ['0',
'off',
'n',
'no',
'nix',
'nope',
'nop',
'nah',
'nay',
'false',
'uh-uh',
'wrong',
'none',
'nay',
'hell no',
'fat chance',
'not a chance in hell',
'not in a million years',
'out of the question',
'no siree',
'no way',
'nein',
'njet',
'nee',
'non',
'hakuna',
'negative']
# This string contains many unicode characters to challenge tests.
COMPLEX_TEST_STRING = ('4 r34l ch4ll3n63: 123 ÄÖü ABc @€¥ §&% {[( ←↓→↑ '
'ĦŊħ ß°^ \\\n\u2192')
# Path to the coalib directory
coalib_root = os.path.join(os.path.dirname(__file__),
os.path.pardir)
# Path to the language definition files
language_definitions = os.path.join(coalib_root,
'bearlib',
'languages',
'definitions')
[docs]def get_system_coafile(coalib_root):
if os.path.isfile(os.path.join(coalib_root, 'system_coafile')):
return os.path.join(coalib_root, 'system_coafile')
else:
logging.warning('Filename default_coafile has been deprecated. '
'Please use system_coafile instead.')
return os.path.join(coalib_root, 'default_coafile')
system_coafile = get_system_coafile(coalib_root)
user_coafile = os.path.join(os.path.expanduser('~'), '.coarc')
default_coafile = '.coafile'
USER_DATA_DIR = appdirs.user_data_dir('coala', version=VERSION)
GLOBBING_SPECIAL_CHARS = '()[]|?*'
URL_REGEX = re.compile(
r'^(?:(?:http|ftp)[s]?://)?' # scheme
r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+' # domain name
r'(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|'
r'localhost|' # OR localhost
r'(?:\d{1,3}\.){3}\d{1,3})' # OR an ip
r'(?::\d+)?' # optional port number
r'(?:/?|[/?]\S+)$', # path
re.IGNORECASE)