You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

44 lines
1.5 KiB

import csv
import jwt
from django.conf import settings
from django.core.management.base import BaseCommand
from django.db import IntegrityError
from progress.models import OpenToken
class Command(BaseCommand):
help = 'Добавляет 1 или нескольких юзеров в указанные группы'
def add_arguments(self, parser):
parser.add_argument(
'--from',
type=str,
dest='from',
help='Файл подгрузки данных'
)
parser.add_argument(
'--to',
type=str,
dest='to',
help='Файл выгрузки'
)
def handle(self, *args, **options):
from_path = options['from']
to_path = options['to']
with open(from_path) as f:
with open(to_path, 'w') as out_f:
fw = csv.writer(out_f)
fr = csv.reader(f, delimiter=';')
for row in fr:
try:
token = OpenToken.objects.create(
email=row[0].lower(),
course_token=row[1],
period_days=row[2],
)
url = "https://go.skillbox.ru/api/v1/progress/progress_token/?token=%s" % str(token.token)
fw.writerow([token.email.lower(), url])
except IntegrityError:
pass