def create_manga(self): tank_list = Tag.objects.filter(tag_type=TagType.TANK) collection_list = Tag.objects.filter(tag_type=TagType.COLLECTION) tank_chapter = defaultdict(int) collection_part = defaultdict(int) manga_category_keys = list(MangaCategory.choices_dict) manga_list = [] for i in range(1, self.config['MANGA']+1): title = 'Test Manga {}'.format(i) manga = Manga( title=title, slug=slugify(title), status=MangaStatus.PUBLISHED, category=random.choice(manga_category_keys), language=random.choice(['en'] * 9 + ['ja'] * 1), uncensored=random.random() < 0.05, published_on=timezone.now(), created_by=self.user, updated_by=self.user, ) if random.random() < 0.1: manga.tank = random.choice(tank_list) manga.tank_chapter = tank_chapter[manga.tank.id] + 1 if random.random() < 0.1: manga.collection = random.choice(collection_list) manga.collection_part = collection_part[manga.collection.id] + 1 manga_list.append(manga) Manga.objects.bulk_create(manga_list) two_days_ago = timezone.now() - timezone.timedelta(days=2) Manga.objects.update(created_on=two_days_ago, updated_on=two_days_ago, published_on=two_days_ago)
def post(self, request): if not SiteSetting.as_dict().get(SiteSettingKey.ENABLE_UPLOADS): return redirect('upload.list') if self.get_upload_slots_used() > request.user.upload_limit: messages.error(request, _('You have reached your limit of {} uploads within the past 24 hours.').format(request.user.upload_limit)) return redirect('upload.list') manga = Manga() manga.save(updated_by=request.user) return redirect('manga.edit.images', id=manga.id, slug=manga.slug)
def test_manga_delete_draft(self): manga = Manga(status=MangaStatus.DRAFT) manga.save(updated_by=self.user) manga.delete() self.assertFalse(Manga.all.filter(id=manga.id).exists())
def test_manga_save_slugify(self): manga = Manga(title='Some Brand New Title') manga.save(updated_by=self.user) self.assertEqual(manga.slug, 'some-brand-new-title')