mirror of
https://github.com/YunoHost-Apps/django-for-runners_ynh.git
synced 2024-09-03 18:26:16 +02:00
46 lines
1.1 KiB
Python
46 lines
1.1 KiB
Python
#!/usr/bin/env python3
|
|
import argparse
|
|
import os
|
|
import sys
|
|
|
|
|
|
def main():
|
|
os.environ['DJANGO_SETTINGS_MODULE'] = 'ynh_for_runners_settings'
|
|
|
|
parser = argparse.ArgumentParser(
|
|
description='Create or update Django super user.'
|
|
)
|
|
parser.add_argument('--username')
|
|
parser.add_argument('--email')
|
|
parser.add_argument('--password')
|
|
|
|
args = parser.parse_args()
|
|
username = args.username
|
|
email = args.email or ''
|
|
password = args.password
|
|
|
|
import django
|
|
django.setup()
|
|
|
|
from django.contrib.auth import get_user_model
|
|
User = get_user_model()
|
|
user = User.objects.filter(username=username).first()
|
|
if user:
|
|
print('Update existing user and set his password.', file=sys.stderr)
|
|
user.is_active = True
|
|
user.is_staff = True
|
|
user.is_superuser = True
|
|
user.set_password(password)
|
|
user.email = email
|
|
user.save()
|
|
else:
|
|
print('Create new super user', file=sys.stderr)
|
|
User.objects.create_superuser(
|
|
username=username,
|
|
email=email,
|
|
password=password
|
|
)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|