コード例 #1
0
ファイル: tasks.py プロジェクト: racpa/wger
def bootstrap_wger(settings_path=None, database_path=None, address='localhost', port=8000, browser=False):
    '''
    Performs all steps necessary to bootstrap the application
    '''

    # Find url to wger
    address, port = detect_listen_opts(address, port)
    if port == 80:
        url = "http://{0}".format(address)
    else:
        url = "http://{0}:{1}".format(address, port)

    # Create settings if necessary
    if settings_path is None:
        settings_path = get_user_config_path('wger', 'settings.py')
    if not os.path.exists(settings_path):
        create_settings(settings_path=settings_path, database_path=database_path, url=url)

    # Find the path to the settings and setup the django environment
    setup_django_environment(settings_path)

    # Create Database if necessary
    if not database_exists():
        print('*** Database does not exist, creating one now')
        migrate_db(settings_path=settings_path)
        load_fixtures(settings_path=settings_path)
        create_or_reset_admin(settings_path=settings_path)

    # Download JS libraries with bower
    call_command('bower', 'install')

    # Start the webserver
    print('*** Bootstraping complete, starting application')
    start_wger(address=address, port=port, browser=browser, settings_path=settings_path)
コード例 #2
0
ファイル: tasks.py プロジェクト: ttracx/wger
def migrate_db(settings_path=None):
    '''
    Run all database migrations
    '''

    # Find the path to the settings and setup the django environment
    setup_django_environment(settings_path)

    call_command("migrate")
コード例 #3
0
ファイル: tasks.py プロジェクト: racpa/wger
def migrate_db(settings_path=None):
    '''
    Run all database migrations
    '''

    # Find the path to the settings and setup the django environment
    setup_django_environment(settings_path)

    call_command("migrate")
コード例 #4
0
ファイル: tasks.py プロジェクト: ttracx/wger
def load_fixtures(settings_path=None):
    '''
    Loads all fixtures
    '''

    # Find the path to the settings and setup the django environment
    setup_django_environment(settings_path)

    os.chdir(os.path.dirname(inspect.stack()[0][1]))
    current_dir = os.path.join(os.getcwd(), 'wger')

    # Gym
    path = os.path.join(current_dir, 'gym', 'fixtures/')
    call_command("loaddata", path + "gym.json")

    # Core
    path = os.path.join(current_dir, 'core', 'fixtures/')
    call_command("loaddata", path + "languages.json")
    call_command("loaddata", path + "groups.json")
    call_command("loaddata", path + "users.json")
    call_command("loaddata", path + "licenses.json")
    call_command("loaddata", path + "days_of_week.json")

    # Config
    path = os.path.join(current_dir, 'config', 'fixtures/')
    call_command("loaddata", path + "language_config.json")
    call_command("loaddata", path + "gym_config.json")

    # Manager
    # path = os.path.join(current_dir, 'manager', 'fixtures/')

    # Exercises
    path = os.path.join(current_dir, 'exercises', 'fixtures/')
    call_command("loaddata", path + "equipment.json")
    call_command("loaddata", path + "muscles.json")
    call_command("loaddata", path + "categories.json")
    call_command("loaddata", path + "exercises.json")

    # Nutrition
    path = os.path.join(current_dir, 'nutrition', 'fixtures/')
    call_command("loaddata", path + "ingredients.json")
    call_command("loaddata", path + "weight_units.json")
    call_command("loaddata", path + "ingredient_units.json")

    # Gym
    path = os.path.join(current_dir, 'gym', 'fixtures/')
    call_command("loaddata", path + "gym.json")
    call_command("loaddata", path + "gym-config.json")
    call_command("loaddata", path + "gym-adminconfig.json")
コード例 #5
0
ファイル: tasks.py プロジェクト: racpa/wger
def load_fixtures(settings_path=None):
    '''
    Loads all fixtures
    '''

    # Find the path to the settings and setup the django environment
    setup_django_environment(settings_path)

    os.chdir(os.path.dirname(inspect.stack()[0][1]))
    current_dir = os.path.join(os.getcwd(), 'wger')

    # Gym
    path = os.path.join(current_dir, 'gym', 'fixtures/')
    call_command("loaddata", path + "gym.json")

    # Core
    path = os.path.join(current_dir, 'core', 'fixtures/')
    call_command("loaddata", path + "languages.json")
    call_command("loaddata", path + "groups.json")
    call_command("loaddata", path + "users.json")
    call_command("loaddata", path + "licenses.json")
    call_command("loaddata", path + "days_of_week.json")

    # Config
    path = os.path.join(current_dir, 'config', 'fixtures/')
    call_command("loaddata", path + "language_config.json")
    call_command("loaddata", path + "gym_config.json")

    # Manager
    # path = os.path.join(current_dir, 'manager', 'fixtures/')

    # Exercises
    path = os.path.join(current_dir, 'exercises', 'fixtures/')
    call_command("loaddata", path + "equipment.json")
    call_command("loaddata", path + "muscles.json")
    call_command("loaddata", path + "categories.json")
    call_command("loaddata", path + "exercises.json")

    # Nutrition
    path = os.path.join(current_dir, 'nutrition', 'fixtures/')
    call_command("loaddata", path + "ingredients.json")
    call_command("loaddata", path + "weight_units.json")
    call_command("loaddata", path + "ingredient_units.json")

    # Gym
    path = os.path.join(current_dir, 'gym', 'fixtures/')
    call_command("loaddata", path + "gym.json")
    call_command("loaddata", path + "gym-config.json")
    call_command("loaddata", path + "gym-adminconfig.json")
コード例 #6
0
ファイル: tasks.py プロジェクト: racpa/wger
def start_wger(address='localhost', port=8000, browser=False, settings_path=None, extra_args=''):
    '''
    Start the application using django's built in webserver
    '''
    if browser:
        start_browser("http://{0}:{1}".format(address, port))

    # Find the path to the settings and setup the django environment
    setup_django_environment(settings_path)

    argv = ["", "runserver", '--noreload']
    if extra_args != '':
        for argument in extra_args.split(' '):
            argv.append(argument)
    argv.append("{0}:{1}".format(address, port))
    execute_from_command_line(argv)
コード例 #7
0
ファイル: tasks.py プロジェクト: ttracx/wger
def create_or_reset_admin(settings_path=None):
    '''
    Creates an admin user or resets the password for an existing one
    '''

    # Find the path to the settings and setup the django environment
    setup_django_environment(settings_path)

    # can't be imported in global scope as it already requires
    # the settings module during import
    from wger.manager.models import User
    try:
        admin = User.objects.get(username="******")
        print("*** Password for user admin was reset to 'admin'")
    except User.DoesNotExist:
        print("*** Created default admin user")

    os.chdir(os.path.dirname(inspect.stack()[0][1]))
    current_dir = os.path.join(os.getcwd(), 'wger')
    path = os.path.join(current_dir, 'core', 'fixtures/')
    call_command("loaddata", path + "users.json")
コード例 #8
0
ファイル: tasks.py プロジェクト: racpa/wger
def create_or_reset_admin(settings_path=None):
    '''
    Creates an admin user or resets the password for an existing one
    '''

    # Find the path to the settings and setup the django environment
    setup_django_environment(settings_path)

    # can't be imported in global scope as it already requires
    # the settings module during import
    from wger.manager.models import User
    try:
        admin = User.objects.get(username="******")
        print("*** Password for user admin was reset to 'admin'")
    except User.DoesNotExist:
        print("*** Created default admin user")

    os.chdir(os.path.dirname(inspect.stack()[0][1]))
    current_dir = os.path.join(os.getcwd(), 'wger')
    path = os.path.join(current_dir, 'core', 'fixtures/')
    call_command("loaddata", path + "users.json")
コード例 #9
0
ファイル: manage.py プロジェクト: drkarl/wger
#!/usr/bin/env python
import sys

from django.core.management import execute_from_command_line

from wger.utils.main import setup_django_environment, get_user_config_path

if __name__ == "__main__":

    # If user passed the settings flag ignore the default wger settings
    if not any("--settings" in s for s in sys.argv):
        setup_django_environment(get_user_config_path("wger", "settings.py"))

    # Alternative to above
    # os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")

    execute_from_command_line(sys.argv)
コード例 #10
0
#!/usr/bin/env python
import sys

from django.core.management import execute_from_command_line

from wger.utils.main import (setup_django_environment, get_user_config_path)

if __name__ == "__main__":

    # If user passed the settings flag ignore the default wger settings
    if not any('--settings' in s for s in sys.argv):
        setup_django_environment(get_user_config_path('wger', 'settings.py'))

    # Alternative to above
    # os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")

    execute_from_command_line(sys.argv)
コード例 #11
0
ファイル: manage.py プロジェクト: racpa/wger
#!/usr/bin/env python
import sys

from django.core.management import execute_from_command_line

from wger.utils.main import (
    setup_django_environment,
    get_user_config_path
)

if __name__ == "__main__":
    setup_django_environment(
        get_user_config_path('wger', 'settings.py'))
        
    #os.environ.setdefault("DJANGO_SETTINGS_MODULE", "wger.workout_manager.settings")

    execute_from_command_line(sys.argv)