skillbox/server/core/management/commands/migrate_translation.py

44 lines
1.5 KiB
Python

import csv
import os
from django.core import management
from django.core.management import BaseCommand
from basicknowledge.models import BasicKnowledge
from datetime import date
from core.convert_page_translation import convert_page_to_translation
EN = "en"
FR = "fr"
class Command(BaseCommand):
"""
usage: `python manage.py migrate_translation --slug slug --original original_slug --language 'en'`
"""
def add_arguments(self, parser):
parser.add_argument("--slug", type=str, required=True)
parser.add_argument("--original", type=str, required=True)
parser.add_argument("--language", type=str, choices=[EN, FR], default=EN)
def handle(self, *_, **options):
slug = options.get("slug")
original_slug = options.get("original")
language_code = options.get("language")
self.stdout.write(f"args {slug} {original_slug} {language_code}")
convert_page_to_translation(
slug=slug, original_slug=original_slug, language_code=language_code
)
# with open(filename) as f:
# reader = csv.reader(f)
# for name, slugs in reader:
# self.stdout.write(name)
# self.stdout.write(slugs)
# cwd = os.getcwd()
# self.stdout.write(cwd)
# with open(f"{cwd}/exports/{name}.html", "w") as dest:
# management.call_command(
# "export_instruments", slugs=slugs, stdout=dest
# )