def import_categories():
    res = csv_load_file(
        os.path.dirname(os.path.abspath(__file__)) + "/categories.csv")
    #print res

    parent_categories = dict()

    for r in res:
        if r[1] == '':
            continue
        level = int(r[1])

        cat = Category.objects.filter(pk=r[0])
        if cat.count() == 0:
            print cat
            item = Category()
            item.id = r[0]
            item.name = r[2]

            if level == 1:
                print item

                item = Category.add_root(name=r[2], id=r[0])
                parent_categories[level] = item
            else:
                item = parent_categories[level - 1].add_child(name=r[2],
                                                              id=r[0])
                parent_categories[level] = item
        else:
            parent_categories[level] = cat[0]
def import_categories():
    res = csv_load_file(os.path.dirname(os.path.abspath (__file__)) + "/categories.csv")
    #print res

    parent_categories = dict()

    for r in res:
        if r[1] == '':
            continue
        level = int(r[1])

        cat = Category.objects.filter(pk=r[0])
        if cat.count() == 0:
            print cat
            item = Category()
            item.id = r[0]
            item.name = r[2]

            if level == 1:
                print item

                item = Category.add_root(name=r[2], id=r[0])
                parent_categories[level] = item
            else:
                item = parent_categories[level-1].add_child(name=r[2], id=r[0])
                parent_categories[level] = item
        else:
            parent_categories[level] = cat[0]
Esempio n. 3
0
 def handle(self, *args, **options):
     fixture = options['fixture']
     if path.exists(fixture):
         root_el = etree.parse(fixture).getroot()
         self.cleanup()
         root_record = Category.add_root(title='Каталог')
         root_record = Category.objects.get(pk=root_record.pk)
         iter_tree(root_el, root_record, add_book)
     else:
         raise CommandError('Fixture file %s does not exist' % fixture)