Пример #1
0
def load_categories_content(cli, size, fake):
    """
    Load categories and subcategories for tutorial and article
    """

    lics = [
        "CB-BY", "CC-BY-ND", "CC-BY-ND-SA", "CC-BY-SA", "CC", "CC-BY-IO",
        "Tout-Droits"
    ]
    for lic in lics:
        ex = Licence.objects.filter(code=lic).all()
        if len(ex) is 0:
            licence = Licence(code=lic, title=lic, description="")
            licence.save()
            cli.stdout.write(u'Note: ajout de la licence {}'.format(lic))
    categories = []
    sub_categories = []
    nb_categories = size * 5
    nb_sub_categories = size * 10
    cli.stdout.write(u"Nombres de catégories de contenus à créer : {}".format(
        nb_categories))
    cli.stdout.write(
        u"Nombres de sous-catégories de contenus à créer : {}".format(
            nb_sub_categories))
    tps1 = time.time()
    for i in range(0, nb_categories):
        ttl = fake.word() + str(i)
        cat = TCategory(title=ttl,
                        description=fake.sentence(nb_words=15,
                                                  variable_nb_words=True),
                        slug=slugify(ttl))
        cat.save()
        categories.append(cat)
        sys.stdout.write(" Cat. {}/{}  \r".format(i + 1, nb_categories))
        sys.stdout.flush()

    for i in range(0, nb_sub_categories):
        ttl = fake.word() + str(i * 10) + str(i)
        subcat = SubCategory(title=ttl,
                             subtitle=fake.sentence(nb_words=5,
                                                    variable_nb_words=True),
                             slug=slugify(ttl))
        subcat.save()
        sub_categories.append(subcat)
        sys.stdout.write(" SubCat. {}/{}  \r".format(i + 1, nb_sub_categories))
        sys.stdout.flush()

    for i in range(0, nb_sub_categories):
        catsubcat = CategorySubCategory(category=categories[i % nb_categories],
                                        subcategory=sub_categories[i],
                                        is_main=True)
        catsubcat.save()
        sys.stdout.write(" CatSubCat. {}/{}  \r".format(
            i + 1, nb_sub_categories))
        sys.stdout.flush()

    tps2 = time.time()
    cli.stdout.write(u"\nFait en {} sec".format(tps2 - tps1))
Пример #2
0
def load_categories_content(cli, size, fake, *_, **__):
    """
    Load categories and subcategories for tutorial and article
    """

    lics = ['CB-BY', 'CC-BY-ND', 'CC-BY-ND-SA', 'CC-BY-SA', 'CC', 'CC-BY-IO', 'Tout-Droits']
    for lic in lics:
        ex = Licence.objects.filter(code=lic).all()
        if len(ex) == 0:
            licence = Licence(code=lic, title=lic, description='')
            licence.save()
            cli.stdout.write('Note: ajout de la licence {}'.format(lic))
    categories = []
    sub_categories = []
    nb_categories = size * 5
    nb_sub_categories = size * 10
    cli.stdout.write('Nombres de catégories de contenus à créer : {}'.format(nb_categories))
    cli.stdout.write('Nombres de sous-catégories de contenus à créer : {}'.format(nb_sub_categories))
    tps1 = time.time()
    for i in range(0, nb_categories):
        ttl = str(i) + ' ' + fake.job()
        cat = TCategory(title=ttl,
                        description=fake.sentence(nb_words=15, variable_nb_words=True),
                        slug=slugify(ttl))
        cat.save()
        categories.append(cat)
        sys.stdout.write(' Cat. {}/{}  \r'.format(i + 1, nb_categories))
        sys.stdout.flush()

    for i in range(0, nb_sub_categories):
        with contextlib.suppress(IntegrityError):
            ttl = str(i * 10) + str(i) + ' ' + fake.word()
            subcat = SubCategory(title=ttl,
                                 subtitle=fake.sentence(nb_words=5, variable_nb_words=True),
                                 slug=slugify(ttl))
            subcat.save()
            sub_categories.append(subcat)
        sys.stdout.write(' SubCat. {}/{}  \r'.format(i + 1, nb_sub_categories))
        sys.stdout.flush()

    for i in range(0, nb_sub_categories):
        with contextlib.suppress(IntegrityError):
            catsubcat = CategorySubCategory(category=categories[i % nb_categories],
                                            subcategory=sub_categories[i],
                                            is_main=True)
            catsubcat.save()
        sys.stdout.write(' CatSubCat. {}/{}  \r'.format(i + 1, nb_sub_categories))
        sys.stdout.flush()

    tps2 = time.time()
    cli.stdout.write('\nFait en {} sec'.format(tps2 - tps1))
Пример #3
0
    def update_categories(self):
        """
        Delete all categories and create new ones.

        :return: None
        """
        for cat in SubCategory.objects.all():
            self.stdout.write('[ZEP-25] : Old category "{}" deleted'.format(cat))
            cat.delete()
        for cat in Category.objects.all():
            self.stdout.write('[ZEP-25] : Old subcategory "{}" deleted'.format(cat))
            cat.delete()
        for cat in CategorySubCategory.objects.all():
            cat.delete()
        self.stdout.write('[ZEP-25] : Categories and subcatagories deleted')
        categories = ['Informatique', 'Sciences de la nature', 'Sciences humaines et sociales', 'Autres']
        subcategories = [
            # Informatique
            [
                ('Bureautique et rédaction', 'Excel, LaTeX, Powerpoint, Word'),
                ('Matériel et électronique', 'Arduino, Disque dur, DIY, Electronique*, Mémoires, Ordinateur'),
                ('Programmation et algorithmique',
                 '.NET, Ada, Algorithmique, C, C#, C++, Cobol, Fonctionnel, Génie logicie'
                 'l, Haskell, Java, Julia, Lisp, Ocaml, Orienté objet, Python, Ruby, Vers'
                 'ioning'),
                ('Site web',
                 'Accessibilité, Actionscript, Angular JS, CakePHP, Django, HTML/CSS, Java EE, JavaScript, Ngin'
                 'x, Node.js, Oxygen, PHP, Ruby On Rails, SEO/Réferencement*, Symfony, Websocket'),
                ("Systèmes d'exploitation", 'Android, GNU/Linux, iOS, MAC OS, Windows, Windows Phone'),
                ('Autres (informatique)',
                 'API, Base de données, FTP, Jeux vidéos, MySQL, Oracle, Protocole, Sécurité, TCP/'
                 'IP'),
            ],
            # Sciences de la nature
            [
                ('Astronomie', 'Astronomie'),
                ('Géologie et géographie physique', 'Géologie'),
                ('Biologie', 'Biologie'),
                ('Physique', 'Physique'),
                ('Chimie', 'Chimie'),
                ('Mathématiques', 'Mathématiques'),
                ('Autres (sciences de la nature)', 'Autres sciences de la nature')
            ],
            # Sciences humaines et sociales
            [
                ('Droit', 'Droit'),
                ('Histoire', 'Histoire'),
                ('Langues', 'Langues'),
                ('Psychologie', 'Psychologie, Pédagogie'),
                ('Économie', 'Économie'),
                ('Autres (sciences humaines et sociales)', 'Autres sciences humaines et sociales comme la géographie')
            ],
            # Autres
            [
                ('Arts, graphisme et multimédia', 'Graphisme 2D, Graphisme 3D, Musique, Son'),
                ('Communication et management', 'Monde du travail'),
                ('Zeste de Savoir', 'Zeste de Savoir'),
                ('Autres', 'Littérature, Interview')
            ]
        ]
        i = 0
        for category in categories:
            cat = Category()
            cat.title = category
            cat.description = category
            cat.position = i
            cat.slug = slugify('{}'.format(category))
            cat.save()
            self.stdout.write('[ZEP-25] : New category "{}" added'.format(cat))
            for subcategory in subcategories[i]:
                sub = SubCategory()
                sub.title = subcategory[0]
                sub.subtitle = subcategory[1]
                sub.slug = slugify('{}'.format(subcategory[0]))
                sub.save()
                self.stdout.write('[ZEP-25] : New subcategory "{}" added'.format(sub))
                catsubcat = CategorySubCategory()
                catsubcat.category = cat
                catsubcat.subcategory = sub
                catsubcat.save()
                self.stdout.write('[ZEP-25] : Relation "{}" <--> "{}" added'.format(cat, sub))
            i += 1