-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
53 lines (35 loc) · 1.57 KB
/
main.py
File metadata and controls
53 lines (35 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/env python
import argparse
from pptx import Presentation
from src.parser.MetatagHandler import MetatagsHandler
from src.utils.Logger import Logger
from src.parser.PresentationParser import PresentationParser
from src.provider.basic.ImageProvider import ImageProvider
from src.provider.basic.TextProvider import TextProvider
from src.provider.basic.TableProvider import TableProvider
from src.provider.ValueProvider import ValueProvider
def main(inputFile, outputFile):
templateData = {
'title' : 'Maka Paka',
'test' : 'testText',
'items' : [
{'name' : 'ItemA', 'estimate' : 1},
{'name' : 'ItemB', 'estimate' : 2},
{'name' : 'ItemC', 'estimate' : 3}
]
}
presentationHandler = MetatagsHandler(templateData)
presentationHandler.addProvider(ImageProvider())
presentationHandler.addProvider(TableProvider())
presentationHandler.addProvider(TextProvider(templateData))
presentation = Presentation(inputFile)
PresentationParser(presentationHandler).parse(presentation)
presentation.save(outputFile)
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('-t', '--template', dest='template', help='PPT template')
parser.add_argument('-o', '--output', default='output.pptx', dest='output', help='Output presentation')
parser.add_argument('-l', '--loglevel', dest='loglevel', default='WARN', help='processing log level(DEBUG, INFO, WARN, ERROR)')
args = parser.parse_args()
Logger.setLevel(args.loglevel)
main(args.template, args.output)