#!/usr/bin/python from bottle import Bottle, static_file, request, response from caddy.utils import env import os import ujson from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker, scoped_session dot_env = os.path.join(os.getcwd(), '.env') if os.path.exists(dot_env): from dotenv import read_dotenv read_dotenv() database_url = env('DATABASE_URL').replace('postgis', 'postgresql') engine = create_engine(database_url) Session = scoped_session(sessionmaker(bind=engine, autoflush=True)) app = application = Bottle() @app.route('/') def index(): return static_file('index.html', root='caddy/templates') @app.route('/api/<object_id>') def detail(object_id): response.content_type = 'application/json' response.headers['Access-Control-Allow-Origin'] = '*' response.headers['Access-Control-Allow-Methods'] = 'GET, OPTIONS' response.headers[ 'Access-Control-Allow-Headers'] = 'Origin, Accept, Content-Type, X-Requested-With, X-CSRF-Token' sql = "SELECT object_id, address_nice, owner, ST_AsText(centroid), ST_AsText(envelope), data FROM shack_address WHERE object_id = '{}'".format(
Django settings for caddy project. """ from caddy.utils import env import dj_database_url import os import sys # Project paths # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) PROJECT_DIR = os.path.join(BASE_DIR, 'caddy') # Add PROJECT_DIR to the system path. sys.path.insert(0, PROJECT_DIR) # Application definition DEBUG = env('DEBUG', False) DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' SECRET_KEY = env('SECRET_KEY', 'PlaceholderSecretKey') CSRF_COOKIE_SECURE = env('CSRF_COOKIE_SECURE', False) SESSION_COOKIE_SECURE = env('SESSION_COOKIE_SECURE', False) SECURE_SSL_REDIRECT = env('SECURE_SSL_REDIRECT', False) SECURE_REFERRER_POLICY = env('SECURE_REFERRER_POLICY', None) SECURE_HSTS_SECONDS = env('SECURE_HSTS_SECONDS', 0) if not DEBUG: ALLOWED_HOSTS = env('ALLOWED_DOMAINS', '').split(',') else: ALLOWED_HOSTS = ['*'] INTERNAL_IPS = ['127.0.0.1', '::1'] ROOT_URLCONF = 'caddy.urls' WSGI_APPLICATION = 'caddy.wsgi.application' INSTALLED_APPS = (
""" # Build paths inside the project like this: os.path.join(BASE_DIR, ...) from caddy.utils import env import dj_database_url import os import sys # Project paths BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) PROJECT_DIR = os.path.join(BASE_DIR, 'caddy') # Add PROJECT_DIR to the system path. sys.path.insert(0, PROJECT_DIR) # Application definition DEBUG = env('DEBUG', False) SECRET_KEY = env('SECRET_KEY', 'PlaceholderSecretKey') CSRF_COOKIE_SECURE = env('CSRF_COOKIE_SECURE', False) SESSION_COOKIE_SECURE = env('SESSION_COOKIE_SECURE', False) if not DEBUG: ALLOWED_HOSTS = env('ALLOWED_DOMAINS', '').split(',') else: ALLOWED_HOSTS = ['*'] INTERNAL_IPS = ['127.0.0.1', '::1'] ROOT_URLCONF = 'caddy.urls' WSGI_APPLICATION = 'caddy.wsgi.application' INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.staticfiles',