# -*- coding: utf-8; mode: python; -*-
"""
Fabric environment tweaks
"""

from fabfile import env


##############################
# volatile
##############################

# this should be True only when targeting the truly *live* machine, but False
# otherwise, e.g. while building a new "live" machine, or using Vagrant.  it
# determines whether certain features are enabled, which only make sense for a
# truly live machine, e.g. overnight cron jobs, or writing to the POS.
env.machine_is_live = False


##############################
# stable
##############################

# set this to the POS system you wish to integrate with, if any
env.theo_integrates_with = None
#env.theo_integrates_with = 'corepos'
#env.theo_integrates_with = 'catapult'
#env.theo_integrates_with = 'locsms'

# if you wish to "mirror" your POS DB, set this to the type of DB service which
# should contain the mirror.  this mirror DB will exist alongside Theo, i.e. on
# the same machine.  (note that this feature only works for Catapult)
env.theo_mirror_posdb = None
#env.theo_mirror_posdb = 'mysql'
#env.theo_mirror_posdb = 'postgresql'

# should we install a 'production' Theo app?
# (note that the 'stage' app is always installed)
env.theo_install_production = False

# default admin user credentials for Theo web app
env.theo_admin_username = 'username'
env.theo_admin_password = 'password'

# for a list of possible time zone values, see
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
env.timezone = 'America/Chicago'

# default sender and recipients for all emails
env.email_default_sender = 'rattail@localhost'
env.email_default_recipients = ['root@localhost']

# this is for the 'rattail' user within PostgreSQL
env.password_postgresql_rattail = 'password'

# this is for the 'rattail' user within MySQL (if needed for mirror DB)
env.password_mysql_rattail = 'password'

# this is used to secure the user session and/or cookie for the web app
env.theo_beaker_secret = 'ABCDEFGHIJKLMNOPQRST'


##############################
# restricted software
##############################

# these credentials are used to access the "restricted" Rattail Project PyPI
# (https://pypi-restricted.rattailproject.org/).  they are only needed if you
# are integrating with a proprietary POS system, and installing released
# packages instead of running from source; i.e. a typical production setup.
env.restricted_pypi_username = 'username'
env.restricted_pypi_password = 'password'

# these credentials are used to access the Rattail Project source code on
# Kallithea (https://kallithea.rattailproject.org/).  they are only needed if
# you are integrating with a proprietary POS system, and running from source
# instead of released packages; i.e. a typical stage setup.
env.kallithea_username = 'username'
env.kallithea_password = 'password'


##############################
# CORE-POS
##############################

# URL of CORE Office (Fannie) website
env.corepos_office_url = 'http://localhost/'

# URL of CORE Office API
env.corepos_api_url = 'http://localhost/ws/'

# MySQL info for CORE operational DB
env.corepos_db_host = 'localhost'
env.corepos_db_username = 'username'
env.corepos_db_password = 'password'
env.corepos_db_name_office_op = 'core_op'


##############################
# ECRS Catapult
##############################

# this is the hostname for your Catapult WebOffice
env.catapult_host = 'INSTANCE.catapultweboffice.com'

# these credentials are used to access the ODBC DSN for ECRS Catapult
env.catapult_odbc_username = 'username'
env.catapult_odbc_password = 'password'


##############################
# LOC SMS
##############################

# this is the hostname (or IP) for your SMS store server
env.locsms_store_server = 'locsms-server.example.com'

# this is your SMS SQL Server "instance" name, if applicable
env.locsms_store_sqlinstance = None
#env.locsms_store_sqlinstance = 'SQLEXPRESS'

# this is your SMS DB name
env.locsms_store_dbname = 'STORESQL'

# these credentials are used to access the ODBC DSN for LOC SMS
env.locsms_odbc_username = 'username'
env.locsms_odbc_password = 'password'

# which ODBC driver to use?  note that 'mssql' is generally recommended where
# possible, however is not selected by default b/c it is not open source, and
# can be trickier to get working in some situations
# https://docs.sqlalchemy.org/en/13/dialects/mssql.html#driver-unicode-support
# cf. also this issue at https://github.com/microsoft/msphpsql/issues/1112
env.locsms_odbc_driver = 'freetds'
#env.locsms_odbc_driver = 'mssql'

# if using the 'mssql' driver, you must also accept its EULA
env.mssql_driver_accept_eula = False