""" :synopsis: the Django Q&A forum application Functions in the askbot module perform various basic actions on behalf of the forum application """ import os import smtplib import sys import logging VERSION = (0, 7, 32) #necessary for interoperability of django and coffin try: from askbot import patches from askbot.deployment.assertions import assert_package_compatibility assert_package_compatibility() patches.patch_django() patches.patch_coffin()#must go after django except ImportError: pass def get_install_directory(): """returns path to directory where code of the askbot django application is installed """ return os.path.dirname(__file__) def get_path_to(relative_path): """returns absolute path to a file relative to ``askbot`` directory ``relative_path`` must use only forward slashes and must not start with a slash """ root_dir = get_install_directory() assert(relative_path[0] != 0) path_bits = relative_path.split('/') return os.path.join(root_dir, *path_bits) def get_version(): """returns version of the askbot app this version is meaningful for pypi only """ return '.'.join([str(subversion) for subversion in VERSION]) def get_database_engine_name(): """returns name of the database engine, independently of the version of django - for django >=1.2 looks into ``settings.DATABASES['default']``, (i.e. assumes that askbot uses database named 'default') , and for django 1.1 and below returns settings.DATABASE_ENGINE """ import django from django.conf import settings as django_settings major_version = django.VERSION[0] minor_version = django.VERSION[1] if major_version == 1: if minor_version > 1: return django_settings.DATABASES['default']['ENGINE'] else: return django_settings.DATABASE_ENGINE