Browse Source

Remove project template

rafalp 6 years ago
parent
commit
a1e0aa6d49
47 changed files with 51 additions and 219 deletions
  1. 1 24
      .gitignore
  2. 5 53
      dev
  3. 0 0
      devproject/__init__.py
  4. BIN
      devproject/avatargallery/Colors/0.jpg
  5. BIN
      devproject/avatargallery/Colors/1.jpg
  6. BIN
      devproject/avatargallery/Grays/0.jpg
  7. BIN
      devproject/avatargallery/Grays/1.jpg
  8. 2 0
      devproject/media/.gitignore
  9. 36 28
      devproject/settings.py
  10. 1 1
      devproject/urls.py
  11. 2 0
      devproject/userdata/.gitignore
  12. 3 3
      devproject/wsgi.py
  13. 1 1
      manage.py
  14. 0 69
      misago/bin/misago-start-devproject.py
  15. 0 6
      misago/bin/misago-start.py
  16. BIN
      misago/project_template/avatargallery/Nature/0.jpg
  17. BIN
      misago/project_template/avatargallery/Nature/1.jpg
  18. BIN
      misago/project_template/avatargallery/Nature/10.jpg
  19. BIN
      misago/project_template/avatargallery/Nature/11.jpg
  20. BIN
      misago/project_template/avatargallery/Nature/12.jpg
  21. BIN
      misago/project_template/avatargallery/Nature/13.jpg
  22. BIN
      misago/project_template/avatargallery/Nature/14.jpg
  23. BIN
      misago/project_template/avatargallery/Nature/15.jpg
  24. BIN
      misago/project_template/avatargallery/Nature/16.jpg
  25. BIN
      misago/project_template/avatargallery/Nature/17.jpg
  26. BIN
      misago/project_template/avatargallery/Nature/2.jpg
  27. BIN
      misago/project_template/avatargallery/Nature/3.jpg
  28. BIN
      misago/project_template/avatargallery/Nature/4.jpg
  29. BIN
      misago/project_template/avatargallery/Nature/5.jpg
  30. BIN
      misago/project_template/avatargallery/Nature/6.jpg
  31. BIN
      misago/project_template/avatargallery/Nature/7.jpg
  32. BIN
      misago/project_template/avatargallery/Nature/8.jpg
  33. BIN
      misago/project_template/avatargallery/Nature/9.jpg
  34. 0 5
      misago/project_template/avatargallery/README.txt
  35. BIN
      misago/project_template/avatargallery/Space/0.jpg
  36. BIN
      misago/project_template/avatargallery/Space/1.jpg
  37. BIN
      misago/project_template/avatargallery/Space/2.jpg
  38. BIN
      misago/project_template/avatargallery/Space/3.jpg
  39. BIN
      misago/project_template/avatargallery/Space/4.jpg
  40. 0 16
      misago/project_template/cron.txt
  41. 0 0
      misago/project_template/media/index.html
  42. 0 2
      misago/project_template/static/README.txt
  43. 0 0
      misago/project_template/static/index.html
  44. 0 1
      misago/project_template/theme/static/README.txt
  45. 0 1
      misago/project_template/theme/templates/README.txt
  46. 0 3
      misago/project_template/userdata/README.txt
  47. 0 6
      setup.py

+ 1 - 24
.gitignore

@@ -20,7 +20,7 @@ var/
 *.egg
 node_modules/
 
-# OS stuff
+# OS files
 .DS_Store
 thumbs.db
 
@@ -51,29 +51,6 @@ pylint.txt
 .idea/
 .vscode/
 
-# Rope
-.ropeproject
-
 # Django stuff:
 *.log
 *.pot
-
-# GitBook Documentation
-_book/
-
-# Local development stuff
-dev/
-env/
-venv/
-misago-admin.py
-db.sqlite3
-
-# Local development files
-/avatargallery/
-/avatar_store/
-/devproject/
-/testproject/
-/media/
-/static/
-/userdata/
-/manage.py

+ 5 - 53
dev

@@ -7,19 +7,6 @@ RED='\033[0;31m'
 BOLD=$(tput bold)
 NORMAL=$(tput sgr0)
 
-# Define dev paths
-# Those are paths to dirs and files created for dev project
-dev_paths=(
-    "./avatargallery"
-    "./devproject"
-    "./media"
-    "./static"
-    "./theme"
-    "./userdata"
-    "./cron.txt"
-    "./manage.py"
-)
-
 # Required ports
 # Some tasks test for those ports before continuing
 port_django=8000
@@ -75,7 +62,7 @@ intro() {
     echo
     echo "Development project:"
     echo
-    echo "    ${BOLD}init${NORMAL}              initialize new dev project for development, does nothing if project already exists."
+    echo "    ${BOLD}init${NORMAL}              initialize dev project for development."
     echo "    ${BOLD}afterinit${NORMAL}         repeat help message displayed after init command is complete."
     echo "    ${BOLD}remove${NORMAL}            if dev project exists, remove its files and docker containers."
     echo "    ${BOLD}rebuild${NORMAL}           rebuild docker containers."
@@ -115,16 +102,6 @@ invalid_argument() {
 
 # Initialize new dev project
 init() {
-    for dev_path in "${dev_paths[@]}"; do
-        if [ -e $dev_path ]; then
-            error "Dev project already exists, or was not deleted completely."
-            echo
-            echo "Please use \"remove\" option to remove any possible remaining files and try again."
-            echo
-            exit 1
-        fi
-    done
-
     for port in "${required_ports[@]}"; do
         nc "127.0.0.1" "$port" < /dev/null
         if [[ $? = "0" ]]; then
@@ -150,16 +127,6 @@ init() {
 init_in_docker() {
     require_in_docker
     wait_for_db
-    # initialize django project
-    python misago/bin/misago-start-devproject.py
-    # move items of interest up one level
-    mv devproject/devproject devproject_tmp
-    mv devproject/avatargallery ./avatargallery
-    mv devproject/media ./media
-    mv devproject/userdata ./userdata
-    mv devproject/manage.py ./manage.py
-    rm -rf devproject
-    mv devproject_tmp devproject
     # migrate the database
     python manage.py migrate
     # create superuser Admin with password "password"
@@ -209,35 +176,20 @@ remove() {
     echo -e "${RED}Warning:${NORMAL} You are going remove current development project."
     echo
 
-    will_delete_files=false
-    for dev_path in "${dev_paths[@]}"; do
-        if [ -e $dev_path ]; then
-            will_delete_files=true
-        fi
-    done
     if [[ $will_delete_files = true ]]; then
         echo "Following files and directories will be deleted:"
-        for dev_path in "${dev_paths[@]}"; do
-            if [ -e $dev_path ]; then
-                echo "  $dev_path"
-            fi
-        done
+        find ./devproject/media ! -name '.gitignode'
+        find ./devproject/userdata ! -name '.gitignode'
         echo
     fi
-
     echo "Enter \"y\" to confirm:"
 
     read confirmation
     if [[ $confirmation = "y" ]]; then
-        for dev_path in "${dev_paths[@]}"; do
-            if [ -e $dev_path ]; then
-                echo "Removing $dev_path"
-                rm -rf $dev_path
-            fi
-        done
-
         docker-compose stop
         docker-compose down --remove-orphans
+        find ./devproject/media ! -name '.gitignode' -delete
+        find ./devproject/userdata ! -name '.gitignode' -delete
     else
         echo "Operation canceled."
     fi

+ 0 - 0
misago/project_template/project_name/__init__.py → devproject/__init__.py


BIN
devproject/avatargallery/Colors/0.jpg


BIN
devproject/avatargallery/Colors/1.jpg


BIN
devproject/avatargallery/Grays/0.jpg


BIN
devproject/avatargallery/Grays/1.jpg


+ 2 - 0
devproject/media/.gitignore

@@ -0,0 +1,2 @@
+/*
+!.gitignore

+ 36 - 28
misago/project_template/project_name/settings.py → devproject/settings.py

@@ -1,20 +1,20 @@
 """
-Django settings for {{ project_name }} project.
+Django settings for dev project.
 
-Generated by 'django-admin startproject' using Django {{ django_version }}.
+Generated by 'django-admin startproject' using Django 1.11.15.
 
 For more information on this file, see
-https://docs.djangoproject.com/en/{{ docs_version }}/topics/settings/
+https://docs.djangoproject.com/en/1.11/topics/settings/
 
 For the full list of settings and their values, see
-https://docs.djangoproject.com/en/{{ docs_version }}/ref/settings/
+https://docs.djangoproject.com/en/1.11/ref/settings/
 """
 
 import os
 
 
 # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
-BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+BASE_DIR = os.path.dirname(os.path.abspath(__file__))
 
 
 # Define placeholder gettext function
@@ -24,10 +24,10 @@ _ = lambda s: s
 
 
 # Quick-start development settings - unsuitable for production
-# See https://docs.djangoproject.com/en/{{ docs_version }}/howto/deployment/checklist/
+# See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/
 
 # SECURITY WARNING: keep the secret key used in production secret!
-SECRET_KEY = '{{ secret_key }}'
+SECRET_KEY = '1znyfpwp*_#!r0#l248lht*6)_0b+504n*2-8cxf(2u)fhi0f^'
 
 # SECURITY WARNING: don't run with debug turned on in production!
 DEBUG = True
@@ -40,23 +40,23 @@ ALLOWED_HOSTS = []
 
 
 # Database
-# https://docs.djangoproject.com/en/{{ docs_version }}/ref/settings/#databases
+# https://docs.djangoproject.com/en/1.11/ref/settings/#databases
 
 DATABASES = {
     'default': {
         # Misago requires PostgreSQL to run
         'ENGINE': 'django.db.backends.postgresql',
-        'NAME': '',
-        'USER': '',
-        'PASSWORD': '',
-        'HOST': 'localhost',
+        'NAME': os.environ.get('POSTGRES_DB'),
+        'USER': os.environ.get('POSTGRES_USER'),
+        'PASSWORD': os.environ.get('POSTGRES_PASSWORD'),
+        'HOST': os.environ.get('POSTGRES_HOST'),
         'PORT': 5432,
     }
 }
 
 
 # Caching
-# https://docs.djangoproject.com/en/{{ docs_version }}/topics/cache/#setting-up-the-cache
+# https://docs.djangoproject.com/en/1.11/topics/cache/#setting-up-the-cache
 
 CACHES = {
     'default': {
@@ -67,7 +67,7 @@ CACHES = {
 
 
 # Password validation
-# https://docs.djangoproject.com/en/{{ docs_version }}/ref/settings/#auth-password-validators
+# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators
 
 AUTH_PASSWORD_VALIDATORS = [
     {
@@ -92,7 +92,7 @@ AUTH_PASSWORD_VALIDATORS = [
 
 
 # Internationalization
-# https://docs.djangoproject.com/en/{{ docs_version }}/topics/i18n/
+# https://docs.djangoproject.com/en/1.11/topics/i18n/
 
 LANGUAGE_CODE = 'en-us'
 
@@ -106,25 +106,25 @@ USE_TZ = True
 
 
 # Static files (CSS, JavaScript, Images)
-# https://docs.djangoproject.com/en/{{ docs_version }}/howto/static-files/
+# https://docs.djangoproject.com/en/1.11/howto/static-files/
 
 STATIC_URL = '/static/'
 
 
 # User uploads (Avatars, Attachments, files uploaded in other Django apps, ect.)
-# https://docs.djangoproject.com/en/{{ docs_version }}/howto/static-files/
+# https://docs.djangoproject.com/en/1.11/howto/static-files/
 
 MEDIA_URL = '/media/'
 
 
 # The absolute path to the directory where collectstatic will collect static files for deployment.
-# https://docs.djangoproject.com/en/{{ docs_version }}/ref/settings/#static-root
+# https://docs.djangoproject.com/en/1.11/ref/settings/#static-root
 
 STATIC_ROOT = os.path.join(BASE_DIR, 'static')
 
 
 # Absolute filesystem path to the directory that will hold user-uploaded files.
-# https://docs.djangoproject.com/en/{{ docs_version }}/ref/settings/#media-root
+# https://docs.djangoproject.com/en/1.11/ref/settings/#media-root
 
 MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
 
@@ -133,13 +133,11 @@ MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
 # is enabled, e.g. if you use the collectstatic or findstatic management command or use the static file serving view.
 # https://docs.djangoproject.com/en/1.10/ref/settings/#staticfiles-dirs
 
-STATICFILES_DIRS = [
-    os.path.join(BASE_DIR, 'theme', 'static'),
-]
+STATICFILES_DIRS = []
 
 
 # Email configuration
-# https://docs.djangoproject.com/en/{{ docs_version }}/ref/settings/#email-backend
+# https://docs.djangoproject.com/en/1.11/ref/settings/#email-backend
 
 EMAIL_HOST = 'localhost'
 EMAIL_PORT = 25
@@ -234,7 +232,7 @@ MIDDLEWARE = [
     'misago.core.middleware.threadstore.ThreadStoreMiddleware',
 ]
 
-ROOT_URLCONF = '{{ project_name }}.urls'
+ROOT_URLCONF = 'devproject.urls'
 
 SOCIAL_AUTH_PIPELINE = (
     # Steps required by social pipeline to work - don't delete those!
@@ -273,9 +271,7 @@ SOCIAL_AUTH_POSTGRES_JSONFIELD = True
 TEMPLATES = [
     {
         'BACKEND': 'django.template.backends.django.DjangoTemplates',
-        'DIRS': [
-            os.path.join(BASE_DIR, 'theme', 'templates'),
-        ],
+        'DIRS': [],
         'APP_DIRS': True,
         'OPTIONS': {
             'context_processors': [
@@ -310,7 +306,7 @@ TEMPLATES = [
     },
 ]
 
-WSGI_APPLICATION = '{{ project_name }}.wsgi.application'
+WSGI_APPLICATION = 'devproject.wsgi.application'
 
 
 # Django Crispy Forms
@@ -444,3 +440,15 @@ MISAGO_PROFILE_FIELDS = [
         ],
     },
 ]
+
+
+# Set dev instance to send e-mails to console
+
+EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
+
+
+# Display debug toolbar if IN_MISAGO_DOCKER enviroment var is set to "1"
+
+DEBUG_TOOLBAR_CONFIG = {
+    'SHOW_TOOLBAR_CALLBACK': 'misago.conf.debugtoolbar.enable_debug_toolbar'
+}

+ 1 - 1
misago/project_template/project_name/urls.py → devproject/urls.py

@@ -1,4 +1,4 @@
-"""{{ project_name }} URL Configuration
+"""devproject URL Configuration
 
 The `urlpatterns` list routes URLs to views. For more information please see:
     https://docs.djangoproject.com/en/1.10/topics/http/urls/

+ 2 - 0
devproject/userdata/.gitignore

@@ -0,0 +1,2 @@
+/*
+!.gitignore

+ 3 - 3
misago/project_template/project_name/wsgi.py → devproject/wsgi.py

@@ -1,10 +1,10 @@
 """
-WSGI config for {{ project_name }} project.
+WSGI config for devproject project.
 
 It exposes the WSGI callable as a module-level variable named ``application``.
 
 For more information on this file, see
-https://docs.djangoproject.com/en/{{ docs_version }}/howto/deployment/wsgi/
+https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/
 """
 
 import os
@@ -12,6 +12,6 @@ import os
 from django.core.wsgi import get_wsgi_application
 
 
-os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings")
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "devproject.settings")
 
 application = get_wsgi_application()

+ 1 - 1
misago/project_template/manage.py → manage.py

@@ -4,7 +4,7 @@ import sys
 
 
 if __name__ == "__main__":
-    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings")
+    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "devproject.settings")
     try:
         from django.core.management import execute_from_command_line
     except ImportError:

+ 0 - 69
misago/bin/misago-start-devproject.py

@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-# pylint: disable=E0401
-"""
-Creates a dev project for local development
-"""
-
-import os
-import sys
-
-BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
-
-PROJECT_NAME = 'devproject'
-
-
-def main():
-    settings_file = os.path.join(BASE_DIR, PROJECT_NAME, PROJECT_NAME, 'settings.py')
-
-    # Avoid recreating if already present
-    if os.path.exists(settings_file):
-        return
-
-    from misago.core import setup
-
-    setup.start_misago_project()
-    fill_in_settings(settings_file)
-
-
-def fill_in_settings(f):
-    with open(f, 'r') as fd:
-        s = fd.read()
-
-        # Read PostgreSQL's config from env variables
-        s = s.replace("'NAME': '',", "'NAME': os.environ.get('POSTGRES_DB'),")
-        s = s.replace("'USER': '',", "'USER': os.environ.get('POSTGRES_USER'),")
-        s = s.replace("'PASSWORD': '',", "'PASSWORD': os.environ.get('POSTGRES_PASSWORD'),")
-        s = s.replace("'HOST': 'localhost',", "'HOST': os.environ.get('POSTGRES_HOST'),")
-
-        # Specify console backend for email
-        s += "\n"
-        s += "\n# Set dev instance to send e-mails to console"
-        s += "\n"
-        s += "\nEMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'"
-        s += "\n"
-
-        # Tie Debug Toolbar visibility to env variable
-        s += "\n"
-        s += "\n# Display debug toolbar if IN_MISAGO_DOCKER enviroment var is set to \"1\""
-        s += "\n"
-        s += "\nDEBUG_TOOLBAR_CONFIG = {"
-        s += "\n    'SHOW_TOOLBAR_CALLBACK': 'misago.conf.debugtoolbar.enable_debug_toolbar'"
-        s += "\n}"
-        s += "\n"
-
-        # Empty the contents of STATICFILES_DIRS (STATICFILES_DIRS = [])
-        pos = s.find('STATICFILES_DIRS')
-        s = s[:s.find('[', pos) + 1] + s[s.find(']', pos):]
-
-        # Remove theme dir from template dirs
-        pos = s.find("'DIRS': [")
-        s = s[:s.find('[', pos) + 1] + s[s.find(']', pos):]
-
-    with open(f, 'w') as fd:
-        fd.write(s)
-
-
-if __name__ == '__main__':
-    sys.argv.append(PROJECT_NAME)
-    sys.path.append(BASE_DIR)
-    main()

+ 0 - 6
misago/bin/misago-start.py

@@ -1,6 +0,0 @@
-#!/usr/bin/env python
-from misago.core.setup import start_misago_project
-
-
-if __name__ == "__main__":
-    start_misago_project()

BIN
misago/project_template/avatargallery/Nature/0.jpg


BIN
misago/project_template/avatargallery/Nature/1.jpg


BIN
misago/project_template/avatargallery/Nature/10.jpg


BIN
misago/project_template/avatargallery/Nature/11.jpg


BIN
misago/project_template/avatargallery/Nature/12.jpg


BIN
misago/project_template/avatargallery/Nature/13.jpg


BIN
misago/project_template/avatargallery/Nature/14.jpg


BIN
misago/project_template/avatargallery/Nature/15.jpg


BIN
misago/project_template/avatargallery/Nature/16.jpg


BIN
misago/project_template/avatargallery/Nature/17.jpg


BIN
misago/project_template/avatargallery/Nature/2.jpg


BIN
misago/project_template/avatargallery/Nature/3.jpg


BIN
misago/project_template/avatargallery/Nature/4.jpg


BIN
misago/project_template/avatargallery/Nature/5.jpg


BIN
misago/project_template/avatargallery/Nature/6.jpg


BIN
misago/project_template/avatargallery/Nature/7.jpg


BIN
misago/project_template/avatargallery/Nature/8.jpg


BIN
misago/project_template/avatargallery/Nature/9.jpg


+ 0 - 5
misago/project_template/avatargallery/README.txt

@@ -1,5 +0,0 @@
-This directory contains your site's avatar gallery. It has been already prepopulated with some two example galleries: "Nature" and "Space". You can load those to your forum using "loadavatargallery".
-
-Feel free to remove existing galleries or add your own.
-
-If you create gallery named "__default__" and set avatar gallery as default user avatar, Misago will select new users avatars from it while keeping this gallery hidden from existing users.

BIN
misago/project_template/avatargallery/Space/0.jpg


BIN
misago/project_template/avatargallery/Space/1.jpg


BIN
misago/project_template/avatargallery/Space/2.jpg


BIN
misago/project_template/avatargallery/Space/3.jpg


BIN
misago/project_template/avatargallery/Space/4.jpg


+ 0 - 16
misago/project_template/cron.txt

@@ -1,16 +0,0 @@
-# this is example crontab configuration
-# you'll likely need to change it to use
-# valid python version or paths to manage.py
-
-0 1 * * * python manage.py deletemarkedusers
-5 1 * * * python manage.py prunecategories
-10 1 * * * python manage.py buildactivepostersranking
-15 1 * * * python manage.py clearattachments
-20 1 * * * python manage.py clearreadtracker
-25 1 * * * python manage.py clearsessions
-30 1 * * * python manage.py clearsocial
-35 1 * * * python manage.py invalidatebans
-40 1 * * * python manage.py removeoldips
-45 1 * * * python manage.py deleteinactiveusers
-50 1 * * * python manage.py expireuserdatadownloads
-0 7 * * * python manage.py prepareuserdatadownloads

+ 0 - 0
misago/project_template/media/index.html


+ 0 - 2
misago/project_template/static/README.txt

@@ -1,2 +0,0 @@
-This directory is used to gather publicly available assets like images, icons, css filers et all.
-Don't put any files here yourself, as they may be deleted by "collectstatic" command. Use "theme/static" directory instead.

+ 0 - 0
misago/project_template/static/index.html


+ 0 - 1
misago/project_template/theme/static/README.txt

@@ -1 +0,0 @@
-You can use this directory to replace default assets with custom ones or add new ones to your site. Remember to use collectstatic command with "-c" argument to make your changes visible.

+ 0 - 1
misago/project_template/theme/templates/README.txt

@@ -1 +0,0 @@
-You can use this directory to replace default templates with custom ones as well as add new ones to your theme.

+ 0 - 3
misago/project_template/userdata/README.txt

@@ -1,3 +0,0 @@
-This directory is used by Misago to prepare user data downloads.
-
-Make sure it's not accessible from internet.

+ 0 - 6
setup.py

@@ -38,12 +38,6 @@ setup(
     install_requires=REQUIREMENTS,
     packages=find_packages(exclude=EXCLUDE_FROM_PACKAGES),
     include_package_data=True,
-    scripts=[
-        'misago/bin/misago-start.py',
-    ],
-    entry_points={'console_scripts': [
-        'misago-start = misago.core.setup:start_misago_project',
-    ]},
     test_suite="runtests.runtests",
     classifiers=[
         'Development Status :: 4 - Beta',