diff --git a/dmoj/local_settings.py b/dmoj/local_settings.py deleted file mode 100755 index df260ac..0000000 --- a/dmoj/local_settings.py +++ /dev/null @@ -1,314 +0,0 @@ -##################################### -########## Django settings ########## -##################################### -# See -# for more info and help. If you are stuck, you can try Googling about -# Django - many of these settings below have external documentation about them. -# -# The settings listed here are of special interest in configuring the site. - -# SECURITY WARNING: keep the secret key used in production secret! -# You may use -# to generate this key. -SECRET_KEY = 's(8*xdlaiy4r@09cidu#)h%%iey39099g=hp(#+kzz+7vefs4u' - -# SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True # Change to False once you are done with runserver testing. - -# Uncomment and set to the domain names this site is intended to serve. -# You must do this once you set DEBUG to False. -ALLOWED_HOSTS = ['0.0.0.0', '10.8.120.148', 'localhost', 'd7272478.ngrok.io'] - -# Optional apps that DMOJ can make use of. -INSTALLED_APPS += ( -) - -#path to problem folder -DMOJ_PROBLEM_DATA_ROOT = '/home/cuom1999/DMOJ/problems' - -# Caching. You can use memcached or redis instead. -# Documentation: -CACHES = { - 'default': { - 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache' - } -} - -# Your database credentials. Only MySQL is supported by DMOJ. -# Documentation: -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.mysql', - 'NAME': 'dmoj', - 'USER': 'dmoj', - 'PASSWORD': '', - 'HOST': '127.0.0.1', - 'OPTIONS': { - 'charset': 'utf8mb4', - 'sql_mode': 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION', - }, - } -} - -# Sessions. -# Documentation: -#SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db' - -# Internationalization. -# Documentation: -LANGUAGE_CODE = 'en-ca' -DEFAULT_USER_TIME_ZONE = 'America/Mexico_City' -USE_I18N = True -USE_L10N = True -USE_TZ = True - -## django-compressor settings, for speeding up page load times by minifying CSS and JavaScript files. -# Documentation: https://django-compressor.readthedocs.io/en/latest/ -COMPRESS_OUTPUT_DIR = 'cache' -COMPRESS_CSS_FILTERS = [ - 'compressor.filters.css_default.CssAbsoluteFilter', - 'compressor.filters.cssmin.CSSMinFilter', -] -COMPRESS_JS_FILTERS = ['compressor.filters.jsmin.JSMinFilter'] -COMPRESS_STORAGE = 'compressor.storage.GzipCompressorFileStorage' -STATICFILES_FINDERS += ('compressor.finders.CompressorFinder',) - - -######################################### -########## Email configuration ########## -######################################### -# See -# for more documentation. You should follow the information there to define -# your email settings. - -# Use this if you are just testing. -EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' - -# The following block is included for your convenience, if you want -# to use Gmail. -#EMAIL_USE_TLS = True -#EMAIL_HOST = 'smtp.gmail.com' -#EMAIL_HOST_USER = '@gmail.com' -#EMAIL_HOST_PASSWORD = '' -#EMAIL_PORT = 587 - -# To use Mailgun, uncomment this block. -# You will need to run `pip install django-mailgun` for to get `MailgunBackend`. -#EMAIL_BACKEND = 'django_mailgun.MailgunBackend' -#MAILGUN_ACCESS_KEY = '' -#MAILGUN_SERVER_NAME = '' - -# You can also use Sendgrid, with `pip install sendgrid-django`. -#EMAIL_BACKEND = 'sgbackend.SendGridBackend' -#SENDGRID_API_KEY = '' - -# The DMOJ site is able to notify administrators of errors via email, -# if configured as shown below. - -# A tuple of (name, email) pairs that specifies those who will be mailed -# when the server experiences an error when DEBUG = False. -ADMINS = ( - ('cuom1999', 'your.email@example.com'), -) - -# The sender for the aforementioned emails. -SERVER_EMAIL = 'DMOJ: Modern Online Judge ' - - -################################################## -########### Static files configuration. ########## -################################################## -# See . - -# Change this to somewhere more permanent., especially if you are using a -# webserver to serve the static files. This is the directory where all the -# static files DMOJ uses will be collected to. -# You must configure your webserver to serve this directory as /static/ in production. -STATIC_ROOT = '/home/cuom1999/DMOJ/static_root' - -# URL to access static files. -#STATIC_URL = '/static/' - -# Uncomment to use hashed filenames with the cache framework. -#STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.CachedStaticFilesStorage' - -############################################ -########## DMOJ-specific settings ########## -############################################ - -## DMOJ site display settings. -SITE_NAME = 'FOOJ' -SITE_LONG_NAME = 'FOOJ: Modern Online Judge' -SITE_ADMIN_EMAIL = 'admin@example.com' -TERMS_OF_SERVICE_URL = '//dmoj.ca/tos' # Use a flatpage. - -## Bridge controls. -# The judge connection address and port; where the judges will connect to the site. -# You should change this to something your judges can actually connect to -# (e.g., a port that is unused and unblocked by a firewall). -BRIDGED_JUDGE_ADDRESS = [('0.0.0.0', 9999)] - -# The bridged daemon bind address and port to communicate with the site. -BRIDGED_DJANGO_ADDRESS = [('localhost', 9998)] - -## DMOJ features. -# Set to True to enable full-text searching for problems. -ENABLE_FTS = True - -# Set of email providers to ban when a user registers, e.g., {'throwawaymail.com'}. -BAD_MAIL_PROVIDERS = set() - -# The number of submissions that a staff user can rejudge at once without -# requiring the permission 'Rejudge a lot of submissions'. -# Uncomment to change the submission limit. -REJUDGE_SUBMISSION_LIMIT = 10 - -## Event server. -# Uncomment to enable live updating. -# EVENT_DAEMON_USE = True - -# Uncomment this section to use websocket/daemon.js included in the site. -#EVENT_DAEMON_POST = '' - -# If you are using the defaults from the guide, it is this: -EVENT_DAEMON_POST = 'ws://127.0.0.1:15101/' - -# These are the publicly accessed interface configurations. -# They should match those used by the script. -#EVENT_DAEMON_GET = '' -#EVENT_DAEMON_GET_SSL = '' -#EVENT_DAEMON_POLL = '' -# i.e. the path to /channels/ exposed by the daemon, through whatever proxy setup you have. - -# Using our standard nginx configuration, these should be. -#EVENT_DAEMON_GET = 'ws:///event/' -#EVENT_DAEMON_GET_SSL = 'wss:///event/' # Optional -#EVENT_DAEMON_POLL = '/channels/' - -# If you would like to use the AMQP-based event server from , -# uncomment this section instead. This is more involved, and recommended to be done -# only after you have a working event server. -#EVENT_DAEMON_AMQP = '' -#EVENT_DAEMON_AMQP_EXCHANGE = '' - -## CDN control. -# Base URL for a copy of ace editor. -# Should contain ace.js, along with mode-*.js. -ACE_URL = '//cdnjs.cloudflare.com/ajax/libs/ace/1.2.3/' -JQUERY_JS = '//cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js' -SELECT2_JS_URL = '//cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js' -SELECT2_CSS_URL = '//cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css' - -# A map of Earth in Equirectangular projection, for timezone selection. -# Please try not to hotlink this poor site. -TIMEZONE_MAP = 'http://naturalearth.springercarto.com/ne3_data/8192/textures/3_no_ice_clouds_8k.jpg' - -## Camo (https://github.com/atmos/camo) usage. -#CAMO_URL = "" -#CAMO_KEY = "" - -# Domains to exclude from being camo'd. -#CAMO_EXCLUDE = ("https://dmoj.ml", "https://dmoj.ca") - -# Set to True to use https when dealing with protocol-relative URLs. -# See for what they are. -#CAMO_HTTPS = False - -# HTTPS level. Affects elements generated. -# Set to 0 to make http URLs canonical. -# Set to 1 to make the currently used protocol canonical. -# Set to 2 to make https URLs canonical. -#DMOJ_HTTPS = 0 - -## PDF rendering settings. -# Directory to cache the PDF. -# PROBLEM_PDF_CACHE = '/home/dmoj-uwsgi/pdfcache' - -# Path to use for nginx's X-Accel-Redirect feature. -# Should be an internal location mapped to the above directory. -# PROBLEM_PDF_INTERNAL = '/pdfcache' - -# Path to a PhantomJS executable. -#PHANTOMJS = '/usr/local/bin/phantomjs' - -# If you can't use PhantomJS or prefer wkhtmltopdf, set the path to wkhtmltopdf executable instead. -#WKHTMLTOPDF = '/usr/local/bin/wkhtmltopdf' - -# Note that PhantomJS is preferred over wkhtmltopdf and would be used when both are defined. - -## ======== Logging Settings ======== -# Documentation: https://docs.djangoproject.com/en/1.9/ref/settings/#logging -# https://docs.python.org/2/library/logging.config.html#logging-config-dictschema -LOGGING = { - 'version': 1, - 'disable_existing_loggers': False, - 'formatters': { - 'file': { - 'format': '%(levelname)s %(asctime)s %(module)s %(message)s', - }, - 'simple': { - 'format': '%(levelname)s %(message)s', - }, - }, - 'handlers': { - # You may use this handler as example for logging to other files.. - 'bridge': { - 'level': 'INFO', - 'class': 'logging.handlers.RotatingFileHandler', - 'filename': '', - 'maxBytes': 10 * 1024 * 1024, - 'backupCount': 10, - 'formatter': 'file', - }, - 'mail_admins': { - 'level': 'ERROR', - 'class': 'dmoj.throttle_mail.ThrottledEmailHandler', - }, - 'console': { - 'level': 'DEBUG', - 'class': 'logging.StreamHandler', - 'formatter': 'file', - }, - }, - 'loggers': { - # Site 500 error mails. - 'django.request': { - 'handlers': ['mail_admins'], - 'level': 'ERROR', - 'propagate': False, - }, - # Judging logs as received by bridged. - 'judge.bridge': { - 'handlers': ['bridge', 'mail_admins'], - 'level': 'INFO', - 'propagate': True, - }, - # Catch all log to stderr. - '': { - 'handlers': ['console'], - }, - # Other loggers of interest. Configure at will. - # - judge.user: logs naughty user behaviours. - # - judge.problem.pdf: PDF generation log. - # - judge.html: HTML parsing errors when processing problem statements etc. - # - judge.mail.activate: logs for the reply to activate feature. - # - event_socket_server - }, -} - -## ======== Integration Settings ======== -## Python Social Auth -# Documentation: https://python-social-auth.readthedocs.io/en/latest/ -# You can define these to enable authentication through the following services. -#SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = '' -#SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = '' -#SOCIAL_AUTH_FACEBOOK_KEY = '' -#SOCIAL_AUTH_FACEBOOK_SECRET = '' -#SOCIAL_AUTH_GITHUB_SECURE_KEY = '' -#SOCIAL_AUTH_GITHUB_SECURE_SECRET = '' -#SOCIAL_AUTH_DROPBOX_OAUTH2_KEY = '' -#SOCIAL_AUTH_DROPBOX_OAUTH2_SECRET = '' - -## ======== Custom Configuration ======== -# You may add whatever django configuration you would like here. -# Do try to keep it separate so you can quickly patch in new settings.