# coding=utf-8
import threading
class SettingsLocal(threading.local):
USING_SQLALCHEMY = False # If SQLAlchemy is installed, set to True to use it
# Ignore these
BOARD = None
CONN = None
IS_TOR = None
IS_PROXY = None
HOST = None
class Settings(object):
LANG = "es"
# *************** PATH INFORMATION ***************
NAME = "localhost"
DOMAIN = ".localdomain"
ROOT_DIR = "/var/www/"
HOME_DIR = "/var/www/"
IMAGES_DIR = "/var/www/"
STATIC_DIR = "/var/www/static/"
HOME_URL = "http://localhost/"
BOARDS_URL = "/"
CGI_URL = "/cgi/" # URL to folder containing the script
IMAGES_URL = "/"
STATIC_URL = "/static/"
USE_MULTITHREADING = False
MAX_PROGRAM_THREADS = 8 # Maximum threads this Python application can start (must be 2 or greater)
# Setting this too high can cause the program to terminate before finishing
# (Only needed if multithreading is on)
CONVERT_PATH = "convert" # Location to ImageMagick's convert tool
FFMPEG_PATH = "ffmpeg"
FFPROBE_PATH = "ffprobe"
# CONVERT_PATH = "C:\\Utils\\ImageMagick-6.7.0-Q16\\convert"
# *************** DATABASE INFORMATION ***************
DATABASE_HOST = "localhost"
DATABASE_USERNAME = "user"
DATABASE_PASSWORD = "pass"
DATABASE_DB = "db"
# The following two entries apply only if USING_SQLALCHEMY is set to True
DATABASE_POOL_SIZE = 5 # Initial number of database connections
DATABASE_POOL_OVERFLOW = 21 # Maximum number of database connections
# Keys
SECRET = 'CHANGEME' # Random seed for secure tripcodes, change it to something random
GOOGLE_API_KEY = ''
DISCORD_HOOK_URL = ''
# *************** HOME PAGE INFORMATION ***************
SITE_TITLE = "My site"
SITE_LOGO = Env.STATIC_URL + "logo.png"
SITE_SLOGAN = "My slogan"
MAINTENANCE = False # Set to True if you are making changes to the server so users can't post
FULL_MAINTENANCE = False
ENABLE_RSS = False
ENABLE_DISCORD_HOOK = True
# *************** BANNER INFORMATION ***************
ENABLE_BANNERS = True
banners_folder = Env.STATIC_URL + "img/" # Folder containing banners
banners = { # filename, width, height
'default': [("default.png", "500", "81")],
}
# *************** IMAGES ***************
THUMB_QUALITY = 85 # Image quality for thumbnails (0-100)
# *************** BANS ***************
HTACCESS_GEN = True # Set to True to use .htaccess for bans (needed for blind bans!)
EXCLUDE_GLOBAL_BANS = [] # Excludes the following boards from global bans (not board specific bans)
# 'Name': ('Tripcode', 'New BBS name', 'New IB name', 'New ID', Hide Slip[bool])
CAPCODES = {}
# *************** BOARDS ***************
MAX_THREADS = 500 # IB
TXT_MAX_THREADS = 10000 # BBS
TRIM_METHOD = 0 # Which threads are trimmed first:
TXT_TRIM_METHOD = 1 # 0 = oldest (Futaba), 1 = inactive (2ch), 2 = least bumped (4chan)
CLOSE_THREAD_ON_REPLIES = 1000
TXT_CLOSE_THREAD_ON_REPLIES = 1000
MAX_AGE_ALERT = 0.15 # Multiplier for thread expiration alert
ALLOW_SECURE_TRIPCODES = False
TRIP_CHAR = '◆'
HOME_NEWS = 10 # News posts shown on home
HOME_LASTPOSTS = 25 # Last posts shown on home
HOME_NEWTHREADS = 17 # New threads shown on home
HOME_LASTPOSTS_LENGTH = 100
MODNEWS_MAX_POSTS = 30 # Max posts in the Manage front page
REPORTS_ENABLE = True # Enable or disable report system
REPORTS_PER_PAGE = 100
RECYCLEBIN_POSTS_PER_PAGE = 25
DELETE_FORBID_LENGTH = 5 # User can't delete own thread if replies exceed this
ARCHIVE_MIN_LENGTH = 5 # Minimum thread length to archive (0 = archive always)
# *************** STYLES ***************
STYLES = ('Rene', 'Dickgirl', 'Red', 'Photon', 'Cyber', 'Easymodo', 'Guro', 'Night', 'Futaba', 'Buri', 'Kraut', 'VNDB', 'Putaba')
STYLES_DEFAULT = 0
TXT_STYLES = ('4am', 'Amber', 'Ayashii', 'Baisano', 'BIOS', 'Blue Moon', 'Ciber', 'Futanari', 'Headline', 'Postal', 'Ventanas')
TXT_STYLES_DEFAULT = 3
# *************** MISC ***************
TIME_ZONE = -3
USE_MARKDOWN = False
USE_HTML = False
VIDEO_THUMBS = False
VIDEO_THUMBS_LIMIT = 5
SESSION_TIME = 30 * 60
_ = SettingsLocal() # Used when running multiple threads