Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1"""LICENSE 

2Copyright 2015 Hermann Krumrey <hermann@krumreyh.com> 

3 

4This file is part of toktokkie. 

5 

6toktokkie is free software: you can redistribute it and/or modify 

7it under the terms of the GNU General Public License as published by 

8the Free Software Foundation, either version 3 of the License, or 

9(at your option) any later version. 

10 

11toktokkie is distributed in the hope that it will be useful, 

12but WITHOUT ANY WARRANTY; without even the implied warranty of 

13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

14GNU General Public License for more details. 

15 

16You should have received a copy of the GNU General Public License 

17along with toktokkie. If not, see <http://www.gnu.org/licenses/>. 

18LICENSE""" 

19 

20from abc import ABC 

21from typing import Dict, Any 

22from toktokkie.metadata.base.Validator import Validator 

23from toktokkie.metadata.comic.ComicExtras import ComicExtras 

24 

25 

26class ComicValidator(Validator, ComicExtras, ABC): 

27 """ 

28 Implements the Validator functionality for comic metadata 

29 """ 

30 

31 @classmethod 

32 def build_schema(cls) -> Dict[str, Any]: 

33 """ 

34 Generates the JSON schema 

35 :return: The JSON schema 

36 """ 

37 base = super().build_schema() 

38 base["properties"].update({ 

39 "special_chapters": { 

40 "type": "array", 

41 "items": { 

42 "type": "string" 

43 } 

44 } 

45 }) 

46 return base