Update workflows/publish_pypi.yml
[manga-dl.git] / embedded.md
blob84d25b0c4fb5a3f23e1c7277bb81aecacb4b9f7f
1 ### Use manga-py in your project
4 ```python
5 from manga_py.parser import Parser
6 from manga_py.info import Info
9 my_awesome_handler = open('my-handler')
12 class MyAwesomeInfo(Info):
13     pass
16 # main class (you will have your own)
17 class MyAwesomeClass:
18     args = {}
19     """
20     is just a Namespace or dict with arguments
21      (filled below. You can implement your implementation. The main thing is to have all keys possible)
22     see manga_py.cli.args.get_cli_arguments()
23     """
25     parser = None  # the found parser gets here (see below)
27     def get_info(self):
28         MyAwesomeInfo(self.args)  # use the Info class from manga-py or overload the Info class from manga-py
30     def start(self):
31         self.parser = Parser(self.args)
32         try:
33             self.parser.init_provider(
34                 progress=self.progress,
35                 log=self.print,
36                 quest=self.quest,
37                 quest_password=self.quest_password,
38                 info=self.get_info(),
39             )
40         except AttributeError as e:
41             raise e
42         self.parser.start()  # provider main method
44     def progress(self, items_count: int, current_item: int, re_init: bool = False): # the same progress function. re_init = True means "next chapter"
45         # simple progress
46         pass
48     def print(self, text, **kwargs):
49         """
50         Not used everywhere. Better reload global print method
51         """
52         print(text, **kwargs, file=my_awesome_handler)
54     def quest(self, variants: enumerate, title: str, select_type=0):  # 0 = single, 1 = multiple
55         if select_type == 0:
56             print(' Question ')
57             return 'Answer'
58         else:
59             print(' Question multiple answers')
60             return [
61                 'Answer 1',
62                 'Answer 2',
63                 ...
64             ]
66     def quest_password(self, title):
67         """
68         used to ask user password
69         """
70         print(title)
71         return 'my_awesome_password'
72 ```