diff --git a/_deploy/debian/localsettings2023-04-05-cleansed.py b/_deploy/debian-laptops/localsettings2023-04-05-cleansed.py similarity index 100% rename from _deploy/debian/localsettings2023-04-05-cleansed.py rename to _deploy/debian-laptops/localsettings2023-04-05-cleansed.py diff --git a/_deploy/debian-laptops/localsettings2023-04-05-secret.py b/_deploy/debian-laptops/localsettings2023-04-05-secret.py new file mode 100644 index 0000000..f73b512 --- /dev/null +++ b/_deploy/debian-laptops/localsettings2023-04-05-secret.py @@ -0,0 +1,160 @@ +import os +import sys +import urllib.parse +from pathlib import Path + +"""Settings for a troggle installation which may vary among different +installations: for development or deployment, in a docker image or +python virtual environment (venv), on ubuntu, debian or in Windows +System for Linux (WSL), on the main server or in the potato hut, +using SQLite or mariaDB. + +It sets the directory locations for the major parts of the system so +that e.g. expofiles can be on a different filesystem. + +This file is included at the end of the main troggle/settings.py file so that +it overwrites defaults in that file. + +NOTE this file is vastly out of sync with troggle/_deploy/wsl/localsettings.py +which is the most recent version used in active maintenance. There should be +essential differences, but there and many, many non-essential differences which +should be eliminated for clarity and to use modern idioms. 8 March 2023. +""" + +print(" * importing troggle/localsettings.py") + +# DO NOT check this file into the git repo - it contains real passwords. + +EXPOFILESREMOTE = False # if True, then re-routes urls in expofiles to remote sever +#SECURE_SSL_REDIRECT = True # breaks 7 tests in test suite 301 not 200 (or 302) and runserver fails completely + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', # 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. + 'NAME' : 'troggle', # Or path to database file if using sqlite3. + 'USER' : 'expo', # Not used with sqlite3. + 'PASSWORD' : 'uFqP56B4XleeyIW', # Not used with sqlite3. + 'HOST' : '', # Set to empty string for localhost. Not used with sqlite3. + 'PORT' : '', # Set to empty string for default. Not used with sqlite3. + } +} + + +EXPOUSER = 'expo' +EXPOUSERPASS = '161:gosser' +EXPOADMINUSER = 'expoadmin' +EXPOADMINUSERPASS = 'gosser:161' +EXPOUSER_EMAIL = 'wookey@wookware.org' +EXPOADMINUSER_EMAIL = 'wookey@wookware.org' + +REPOS_ROOT_PATH = '/home/expo/' +sys.path.append(REPOS_ROOT_PATH) +sys.path.append(REPOS_ROOT_PATH + 'troggle') +# Define the path to the django app (troggle in this case) +PYTHON_PATH = REPOS_ROOT_PATH + 'troggle/' + + +PHOTOS_YEAR = "2023" +# add in 358 when they don't make it crash horribly +NOTABLECAVESHREFS = [ "290", "291", "359", "264", "258", "204", "76", "107"] + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [ + PYTHON_PATH + "templates" + ], + 'OPTIONS': { + 'debug': 'DEBUG', + 'context_processors': [ + # django.template.context_processors.csrf, # is always enabled and cannot be removed, sets csrf_token + 'django.contrib.auth.context_processors.auth', # knowledge of logged-on user & permissions + 'core.context.troggle_context', # in core/troggle.py + 'django.template.context_processors.debug', + #'django.template.context_processors.request', # copy of current request, added in trying to make csrf work + 'django.template.context_processors.i18n', + 'django.template.context_processors.media', # includes a variable MEDIA_URL + 'django.template.context_processors.static', # includes a variable STATIC_URL + 'django.template.context_processors.tz', + 'django.contrib.messages.context_processors.messages', + ], + 'loaders': [ + 'django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader', #For each app, inc admin, in INSTALLED_APPS, loader looks for /templates + # insert your own TEMPLATE_LOADERS here + ] + }, + }, +] + +PUBLIC_SITE = True + +# This should be False for normal running +DEBUG = False +CACHEDPAGES = True # experimental page cache for a handful of page types + + +# executables: +CAVERN = 'cavern' # for parsing .svx files and producing .3d files +SURVEXPORT = 'survexport' # for parsing .3d files and producing .pos files + +PV = "python" + str(sys.version_info.major) + "." + str(sys.version_info.minor) +LIBDIR = Path(REPOS_ROOT_PATH) / 'lib' / PV + +EXPOWEB = Path(REPOS_ROOT_PATH + 'expoweb/') +SURVEYS = REPOS_ROOT_PATH +SURVEY_SCANS = REPOS_ROOT_PATH + 'expofiles/surveyscans/' +FILES = REPOS_ROOT_PATH + 'expofiles' +PHOTOS_ROOT = REPOS_ROOT_PATH + 'expofiles/photos/' + +TROGGLE_PATH = Path(__file__).parent +TEMPLATE_PATH = TROGGLE_PATH / 'templates' +MEDIA_ROOT = TROGGLE_PATH / 'media' +JSLIB_ROOT = TROGGLE_PATH / 'media' / 'jslib' # used for CaveViewer JS utility + + +CAVEDESCRIPTIONS = EXPOWEB / "cave_data" +ENTRANCEDESCRIPTIONS = EXPOWEB / "entrance_data" + + +PYTHON_PATH = REPOS_ROOT_PATH + 'troggle/' + + +#URL_ROOT = 'http://expo.survex.com/' +URL_ROOT = '/' +DIR_ROOT = Path("") #this should end in / if a value is given +EXPOWEB_URL = '/' +SURVEYS_URL = '/survey_scans/' + +REPOS_ROOT_PATH = Path(REPOS_ROOT_PATH) + +SURVEX_DATA = REPOS_ROOT_PATH / "loser" +DRAWINGS_DATA = REPOS_ROOT_PATH / "drawings" + + +EXPOFILES = REPOS_ROOT_PATH / "expofiles" +SCANS_ROOT = EXPOFILES / "surveyscans" +PHOTOS_ROOT = EXPOFILES / "photos" + +#EXPOFILES = urllib.parse.urljoin(REPOS_ROOT_PATH, 'expofiles/') +PHOTOS_URL = urllib.parse.urljoin(URL_ROOT, '/photos/') + +# MEDIA_URL is used by urls.py in a regex. See urls.py & core/views_surveys.py +MEDIA_URL = '/site_media/' + + +STATIC_URL = urllib.parse.urljoin(URL_ROOT , '/static/') # used by Django admin pages. Do not delete. +JSLIB_URL = urllib.parse.urljoin(URL_ROOT , '/javascript/') # always fails, try to revive it ? +# STATIC_ROOT removed after merging content into MEDIA_ROOT. See urls.py & core/views/surveys.py + +#TINY_MCE_MEDIA_ROOT = STATIC_ROOT + '/tiny_mce/' # not needed while TinyMCE not installed +#TINY_MCE_MEDIA_URL = STATIC_URL + '/tiny_mce/' # not needed while TinyMCE not installed + +LOGFILE = '/var/log/troggle/troggle.log' +IMPORTLOGFILE = '/var/log/troggle/import.log' + +# Sanitise these to be strings as Django seems to be particularly sensitive to crashing if they aren't +STATIC_URL = str(STATIC_URL) + "/" +MEDIA_URL = str(MEDIA_URL) + "/" + +print(" + finished importing troggle/localsettings.py") diff --git a/_deploy/debian/localsettingsserver2023-01-cleansed.py b/_deploy/debian-laptops/localsettingsserver2023-01-cleansed.py similarity index 100% rename from _deploy/debian/localsettingsserver2023-01-cleansed.py rename to _deploy/debian-laptops/localsettingsserver2023-01-cleansed.py diff --git a/_deploy/debian/settings2023-02-10.py b/_deploy/debian-laptops/settings2023-02-10.py similarity index 100% rename from _deploy/debian/settings2023-02-10.py rename to _deploy/debian-laptops/settings2023-02-10.py diff --git a/_deploy/debian/settings2023-04-23.py b/_deploy/debian-laptops/settings2023-04-23.py similarity index 100% rename from _deploy/debian/settings2023-04-23.py rename to _deploy/debian-laptops/settings2023-04-23.py diff --git a/_deploy/debian/apache2.conf b/_deploy/debian-server/apache2.conf similarity index 100% rename from _deploy/debian/apache2.conf rename to _deploy/debian-server/apache2.conf diff --git a/_deploy/debian/envvars b/_deploy/debian-server/envvars similarity index 100% rename from _deploy/debian/envvars rename to _deploy/debian-server/envvars diff --git a/_deploy/debian/localsettingsserver-old.py b/_deploy/debian-server/localsettingsserver-old.py similarity index 100% rename from _deploy/debian/localsettingsserver-old.py rename to _deploy/debian-server/localsettingsserver-old.py diff --git a/_deploy/debian-server/localsettingsserver2023-01-secret.py b/_deploy/debian-server/localsettingsserver2023-01-secret.py new file mode 100644 index 0000000..d99e61d --- /dev/null +++ b/_deploy/debian-server/localsettingsserver2023-01-secret.py @@ -0,0 +1,164 @@ +import os +import sys +import urllib.parse +from pathlib import Path + +"""Settings for a troggle installation which may vary among different +installations: for development or deployment, in a docker image or +python virtual environment (venv), on ubuntu, debian or in Windows +System for Linux (WSL), on the main server or in the potato hut, +using SQLite or mariaDB. + +It sets the directory locations for the major parts of the system so +that e.g. expofiles can be on a different filesystem, or /javascript/ can be in +a system-wide location rather than just a local directory. + +This file is included at the end of the main troggle/settings.py file so that +it overwrites defaults in that file. + +Read https://realpython.com/python-pathlib/ +Read https://adamj.eu/tech/2020/03/16/use-pathlib-in-your-django-project/ +""" + +print(" * importing troggle/localsettings.py") + +# DO NOT check this file into the git repo - it contains real passwords. + +EXPOFILESREMOTE = False # if True, then re-routes urls in expofiles to remote sever +#SECURE_SSL_REDIRECT = True # breaks 7 tests in test suite 301 not 200 (or 302) and runserver fails completely + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', # 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. + 'NAME' : 'troggle', # Or path to database file if using sqlite3. + 'USER' : 'expo', # Not used with sqlite3. + 'PASSWORD' : 'uFqP56B4XleeyIW', # Not used with sqlite3. + 'HOST' : '', # Set to empty string for localhost. Not used with sqlite3. + 'PORT' : '', # Set to empty string for default. Not used with sqlite3. + } +} + + +EXPOUSER = 'expo' +EXPOADMINUSER = 'expoadmin' +EXPOUSER_EMAIL = 'wookey@wookware.org' +EXPOADMINUSER_EMAIL = 'wookey@wookware.org' + +SECRET_KEY = "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz" +EXPOUSERPASS = "nope" +EXPOADMINUSERPASS = "nope" +EMAIL_HOST_PASSWORD = "nope" + +REPOS_ROOT_PATH = '/home/expo/' +sys.path.append(REPOS_ROOT_PATH) +sys.path.append(REPOS_ROOT_PATH + 'troggle') +# Define the path to the django app (troggle in this case) +PYTHON_PATH = REPOS_ROOT_PATH + 'troggle/' +PHOTOS_YEAR = "2022" +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [ + PYTHON_PATH + "templates" + ], + 'OPTIONS': { + 'debug': 'DEBUG', + 'context_processors': [ + # django.template.context_processors.csrf, # is always enabled and cannot be removed, sets csrf_token + 'django.contrib.auth.context_processors.auth', # knowledge of logged-on user & permissions + 'core.context.troggle_context', # in core/troggle.py + 'django.template.context_processors.debug', + #'django.template.context_processors.request', # copy of current request, added in trying to make csrf work + 'django.template.context_processors.i18n', + 'django.template.context_processors.media', # includes a variable MEDIA_URL + 'django.template.context_processors.static', # includes a variable STATIC_URL + 'django.template.context_processors.tz', + 'django.contrib.messages.context_processors.messages', + ], + 'loaders': [ + 'django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader', #For each app, inc admin, in INSTALLED_APPS, loader looks for /templates + # insert your own TEMPLATE_LOADERS here + ] + }, + }, +] + +PUBLIC_SITE = True + +# This should be False for normal running +DEBUG = True +CACHEDPAGES = True # experimental page cache for a handful of page types + +SURVEX_DATA = REPOS_ROOT_PATH + 'loser/' +DRAWINGS_DATA = REPOS_ROOT_PATH + 'drawings/' + +# executables: +CAVERN = 'cavern' # for parsing .svx files and producing .3d files +SURVEXPORT = 'survexport' # for parsing .3d files and producing .pos files + +EXPOWEB = REPOS_ROOT_PATH + 'expoweb/' +#SURVEYS = REPOS_ROOT_PATH +SCANS_ROOT = REPOS_ROOT_PATH + 'expofiles/surveyscans/' +FILES = REPOS_ROOT_PATH + 'expofiles' +PHOTOS_ROOT = REPOS_ROOT_PATH + 'expofiles/photos/' + +TROGGLE_PATH = Path(__file__).parent +TEMPLATE_PATH = TROGGLE_PATH / 'templates' +MEDIA_ROOT = TROGGLE_PATH / 'media' +JSLIB_ROOT = TROGGLE_PATH / 'media' / 'jslib' # used for CaveViewer JS utility + + +CAVEDESCRIPTIONS = os.path.join(EXPOWEB, "cave_data") +ENTRANCEDESCRIPTIONS = os.path.join(EXPOWEB, "entrance_data") + +# CACHEDIR = REPOS_ROOT_PATH + 'expowebcache/' +# THREEDCACHEDIR = CACHEDIR + '3d/' +# THUMBNAILCACHE = CACHEDIR + 'thumbs' + +PYTHON_PATH = REPOS_ROOT_PATH + 'troggle/' +PV = "python" + str(sys.version_info.major) + "." + str(sys.version_info.minor) +LIBDIR = Path(REPOS_ROOT_PATH) / 'lib' / PV + +#Note that all these *_URL constants are not actually used in urls.py, they should be.. +#URL_ROOT = 'http://expo.survex.com/' +URL_ROOT = '/' +DIR_ROOT = ''#this should end in / if a value is given +EXPOWEB_URL = '/' +SCANS_URL = '/survey_scans/' +EXPOFILES = urllib.parse.urljoin(REPOS_ROOT_PATH, 'expofiles/') +PHOTOS_URL = urllib.parse.urljoin(URL_ROOT, '/photos/') + +# MEDIA_URL is used by urls.py in a regex. See urls.py & core/views_surveys.py +MEDIA_URL = '/site_media/' + + +STATIC_URL = urllib.parse.urljoin(URL_ROOT , '/static/') # used by Django admin pages. Do not delete. +JSLIB_URL = urllib.parse.urljoin(URL_ROOT , '/javascript/') # always fails, try to revive it ? + +#TINY_MCE_MEDIA_ROOT = STATIC_ROOT + '/tiny_mce/' # not needed while TinyMCE not installed +#TINY_MCE_MEDIA_URL = STATIC_URL + '/tiny_mce/' # not needed while TinyMCE not installed + +LOGFILE = '/var/log/troggle/troggle.log' +IMPORTLOGFILE = '/var/log/troggle/import.log' + +# add in 358 when they don't make it crash horribly +NOTABLECAVESHREFS = [ "290", "291", "359", "264", "258", "204", "76", "107"] + +# Sanitise these to be strings as all other code is expecting strings +# and we have not made the change to pathlib Path type in the other localsettings-* variants yet. +CAVEDESCRIPTIONS = os.fspath(CAVEDESCRIPTIONS) +ENTRANCEDESCRIPTIONS = os.fspath(ENTRANCEDESCRIPTIONS) +LOGFILE = os.fspath(LOGFILE) +#SURVEYS = os.fspath(SURVEYS) +EXPOWEB = os.fspath(EXPOWEB) +DRAWINGS_DATA = os.fspath(DRAWINGS_DATA) +SURVEX_DATA = os.fspath(SURVEX_DATA) +REPOS_ROOT_PATH = os.fspath(REPOS_ROOT_PATH) +TEMPLATE_PATH = os.fspath(TROGGLE_PATH) +MEDIA_ROOT = os.fspath(MEDIA_ROOT) +JSLIB_ROOT = os.fspath(JSLIB_ROOT) +SCANS_ROOT = os.fspath(SCANS_ROOT) +LIBDIR = os.fspath(LIBDIR) + +print(" + finished importing troggle/localsettings.py") \ No newline at end of file diff --git a/_deploy/debian-server/requirements-server.txt b/_deploy/debian-server/requirements-server.txt new file mode 100644 index 0000000..1a5abb1 --- /dev/null +++ b/_deploy/debian-server/requirements-server.txt @@ -0,0 +1,23 @@ +#This requirements txt matches the libaries as of 2023-07-09 on expo.survex.com + +#Nb on the server asgiref==3.3.0, however this conflicts with the Django==3.2.12 requirement +asgiref==3.3.2 +Django==3.2.12 +docutils==0.16 +packaging==20.9 +Pillow==8.1.2 +pytz==2021.1 +sqlparse==0.4.1 +Unidecode==1.2.0 +beautifulsoup4==4.9.3 +piexif==1.1.3 + +#Not installed on expo.survex.com +#black==23.3 +#click==8.1.3 +#coverage==7.2 +#isort==5.12.0 +#mypy-extensions==1.0.0 +#pathspec==0.11 +#platformdirs==3.8 +#ruff==0.0.245 diff --git a/_deploy/debian/serversetup b/_deploy/debian-server/serversetup similarity index 100% rename from _deploy/debian/serversetup rename to _deploy/debian-server/serversetup diff --git a/_deploy/debian/sitecustomize.py b/_deploy/debian-server/sitecustomize.py similarity index 100% rename from _deploy/debian/sitecustomize.py rename to _deploy/debian-server/sitecustomize.py diff --git a/_deploy/debian/this-is-the-live-expo.survex.com-system.txt b/_deploy/debian-server/this-is-the-live-expo.survex.com-system.txt similarity index 100% rename from _deploy/debian/this-is-the-live-expo.survex.com-system.txt rename to _deploy/debian-server/this-is-the-live-expo.survex.com-system.txt diff --git a/_deploy/debian/wookey-exposerver-recipe.txt b/_deploy/debian-server/wookey-exposerver-recipe.txt similarity index 100% rename from _deploy/debian/wookey-exposerver-recipe.txt rename to _deploy/debian-server/wookey-exposerver-recipe.txt diff --git a/_deploy/potatohut/localsettingspotatohut.py b/_deploy/potatohut/localsettingspotatohut.py deleted file mode 100644 index 184f0ab..0000000 --- a/_deploy/potatohut/localsettingspotatohut.py +++ /dev/null @@ -1,79 +0,0 @@ -import sys - -# This is an example file. Copy it to localsettings.py, set the -# password and _don't_ check that file back to the repo as it exposes -# your/our password to the world! - -# This will ALL NEED TO BE CHANGED to match localsettingsWSL / python3 / Django v1.18.29 -# This WILL NOT WORK as it is for an earlier version of Django - - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. - 'NAME': 'troggle', # Or path to database file if using sqlite3. - 'USER': 'expo', # Not used with sqlite3. - 'PASSWORD': 'notarealpassword', # Not used with sqlite3. - 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. - 'PORT': '', # Set to empty string for default. Not used with sqlite3. - } -} - -REPOS_ROOT_PATH = '/home/expo/' -sys.path.append(REPOS_ROOT_PATH) -sys.path.append(REPOS_ROOT_PATH + 'troggle') - -PUBLIC_SITE = True -FIX_PERMISSIONS = ["sudo", "/usr/local/bin/fix_permissions"] - -SURVEX_DATA = REPOS_ROOT_PATH + 'loser/' -DRAWINGS_DATA = REPOS_ROOT_PATH + 'drawings/' -THREEDCACHEDIR = REPOS_ROOT_PATH + 'expowebcache/3d/' - -CAVERN = 'cavern' -THREEDTOPOS = '3dtopos' -EXPOWEB = REPOS_ROOT_PATH + 'expoweb/' -SURVEYS = REPOS_ROOT_PATH -SURVEY_SCANS = REPOS_ROOT_PATH + 'expoimages/' -FILES = REPOS_ROOT_PATH + 'expoimages' - - -PYTHON_PATH = '/home/expo/troggle/' - -URL_ROOT = "http://expo/" -DIR_ROOT = ''#this should end in / if a value is given -EXPOWEB_URL = 'http://expo/' -SURVEYS_URL = 'http://expo/survey_scans/' -MEDIA_URL = '/' + DIR_ROOT + 'site_media/' - -STATIC_URL = URL_ROOT -STATIC_ROOT = DIR_ROOT - -MEDIA_ROOT = REPOS_ROOT_PATH + '/troggle/media/' -MEDIA_ADMIN_DIR = '/usr/lib/python2.7/site-packages/django/contrib/admin/media/' - -JSLIB_PATH = '/usr/share/javascript/' - -TINY_MCE_MEDIA_ROOT = '/usr/share/tinymce/www/' -TINY_MCE_MEDIA_URL = URL_ROOT + DIR_ROOT + 'tinymce_media/' - -TEMPLATE_DIRS = ( - PYTHON_PATH + "templates", - # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) - -LOGFILE = '/home/expo/troggle/troggle_log.txt' - -FEINCMS_ADMIN_MEDIA='/site_media/feincms/' - -EMAIL_HOST = "smtp.gmail.com" - -EMAIL_HOST_USER = "cuccexpo@gmail.com" - -EMAIL_HOST_PASSWORD = "insert-real-email-password-here" - -EMAIL_PORT=587 - -EMAIL_USE_TLS = True diff --git a/_deploy/readme.txt b/_deploy/readme.txt new file mode 100644 index 0000000..0986324 --- /dev/null +++ b/_deploy/readme.txt @@ -0,0 +1,18 @@ +2023-07-17 Philip Sargent + +Trying to sort out configurations as we got into a bit of a mess on +Expo in the last couple of weeks with two (notionally identical Debian +Bullseye) expo laptops Crowley (which has local troggle installed and +can run locally) and Aziraphale (has local copy of troggle repo but is +not configured to run locally), Martin Green's laptop (Ubuntu 22.04.2), +Philip's Barbie laptop Ubuntu 22.04.3). And of course the server itself +expo.survex.com which is running Debian Bullseye. But most development +recently had been done on Philip's two other machines, desktop and PC, +both running Ubuntu on WSL on Windows and both using venv environments, +which Crowley also does. + +- settings.py +is common to all configurations, +but these are all different: +- localsettings.py +- requirements.txt \ No newline at end of file diff --git a/_deploy/wsl/localsettingsWSL.py b/_deploy/wsl/localsettingsWSL.py index ffead19..2824125 100644 --- a/_deploy/wsl/localsettingsWSL.py +++ b/_deploy/wsl/localsettingsWSL.py @@ -47,6 +47,7 @@ PV = "python" + str(sys.version_info.major) + "." + str(sys.version_info.minor) REPOS_ROOT_PATH = Path(__file__).parent.parent LIBDIR = REPOS_ROOT_PATH / "lib" / PV + TROGGLE_PATH = Path(__file__).parent TEMPLATE_PATH = TROGGLE_PATH / "templates" MEDIA_ROOT = TROGGLE_PATH / "media" @@ -64,9 +65,9 @@ NOTABLECAVESHREFS = ["290", "291", "264", "258", "204", "359", "76", "107"] # PYTHON_PATH = os.fspath(PYTHON_PATH) PYTHON_PATH = REPOS_ROOT_PATH / "troggle" LOGFILE = PYTHON_PATH / "troggle.log" +SQLITEDB = PYTHON_PATH / "troggle.sqlite" +KMZ_ICONS_PATH = PYTHON_PATH / "kmz_icons" -#sys.path.append(os.fspath(REPOS_ROOT_PATH)) -#sys.path.append(os.fspath(PYTHON_PATH)) # URL that handles the media served from MEDIA_ROOT. Make sure to use a # trailing slash if there is a path component (optional in other cases). @@ -99,7 +100,7 @@ DBSQLITE = { "default": { "ENGINE": "django.db.backends.sqlite3", # 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. #'NAME' : 'troggle.sqlite', - "NAME": "/home/philip/p11d4/troggle.sqlite", + "NAME": str(SQLITEDB), "USER": "expo", # Not used with sqlite3. "PASSWORD": "sekrit", # Not used with sqlite3. "HOST": "", # Set to empty string for localhost. Not used with sqlite3.