Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from datetime import timedelta, datetime
- from django.db import models
- from django.contrib.auth.models import User
- from main.models import Challenge, ChallengeTaken, Language, Submission, Task
- def create_challenge(title='title test', overview='overview test',
- date_created=None, date_opened=None, published=None,
- date_closed=None, date_published=None,
- language=None, enviroment='', **kwargs):
- if date_created is None:
- date_created = datetime.now()
- if date_opened is None:
- date_opened = date_created
- if date_closed is None:
- date_closed = date_created + timedelta(days=1)
- if date_published is None:
- date_published = date_created
- if language is None:
- language = Language.objects.get(pk=1)
- if published is None:
- published = True
- kwargs.update(title=title,
- overview=overview,
- enviroment=enviroment,
- date_created=date_created,
- date_opened=date_opened,
- date_closed=date_closed,
- date_published=date_published,
- published=published,
- language=language)
- challenge = Challenge.objects.create(**kwargs)
- return challenge
- def create_challenge_taken(started_at=None, username=None,
- challenge=None, task=None, **kwargs):
- if username is None:
- username = 'admin'
- else:
- user = create_user()
- username = user.username
- if started_at is None:
- started_at = datetime.now()
- if challenge is None:
- title = 'take 1'
- challenge = Challenge.objects.get(title=title)
- userprofile = User.objects.get(username=username).profile
- if task is None:
- task = Task.objects.filter(challenge=challenge).order_by('?')[0]
- kwargs.update(started_at=started_at,
- user=userprofile,
- task=task,
- challenge=challenge)
- challenge_taken = ChallengeTaken.objects.create(**kwargs)
- return challenge_taken
- def create_submission(challenge_taken=None, code=None, attempt=None,
- submitted_at=None, **kwargs):
- if challenge_taken is None:
- challenge_taken = 1
- if submitted_at is None:
- submitted_at = datetime.now()
- if code is None:
- code = 'code'
- if attempt is None:
- attempt = 1
- challenge_taken = ChallengeTaken.objects.get(pk=challenge_taken)
- kwargs.update(challenge_taken=challenge_taken,
- submitted_at=submitted_at,
- attempt=attempt,
- code=code)
- submission = Submission.objects.create(**kwargs)
- return submission
- def create_task(description=None, challenge=None, **kwargs):
- if description is None:
- description = 'TESTTTTTTTT!!'
- if challenge is None:
- title = 'take 1'
- challenge = Challenge.objects.get(title=title)
- kwargs.update(description=description,
- challenge=challenge)
- task = Task.objects.create(**kwargs)
- return task
- def create_user(username=None, email=None,password =None, **kwargs):
- if username is None:
- username = 'john'
- if email is None:
- email = 'lennon@thebeatles.com'
- if password is None:
- password = 'johnpassword'
- kwargs.update(username=username,
- email=email,
- password=password)
- user = User.objects.create_user(**kwargs)
- user.is_staff = False
- user.save()
- return user
Add Comment
Please, Sign In to add comment