-
Notifications
You must be signed in to change notification settings - Fork 1
/
reference.py
72 lines (52 loc) · 2.01 KB
/
reference.py
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
"""
Help module of Sara.
Created on 10.02.2017
@author: Ruslan Dolovanyuk
"""
import logging
import os
from gui.windows import AppWindow
from gui.windows import HtmlWindow
from gui.windows import TextWindow
class Help:
"""Class help for Sara."""
def __init__(self, config, phrases):
"""Initialize help class."""
self.log = logging.getLogger()
self.log.info('initialize help...')
self.config = config
self.phrases = phrases.reference
self.gui_phrases = phrases.gui
def get_html_path(self):
"""Return html path."""
file_name = self.config.code + '.html'
file_path = os.path.join(self.config.languages_dir,
self.config.help_dir)
html_file = os.path.join(file_path, file_name)
return os.path.normpath(html_file)
def show_help(self):
"""Show html help."""
self.log.info('show help html file...')
with open(self.get_html_path(), 'rb') as data:
content = data.read()
wnd = AppWindow(HtmlWindow, self.gui_phrases)
wnd.run(self.phrases.title_help, content.decode('utf-8'))
def show_browser(self):
"""Show html help in browser."""
self.log.info('show help html file in browser...')
os.startfile(self.get_html_path())
def show_features(self):
"""Show features information."""
self.log.info('show features information')
wnd = AppWindow(TextWindow, self.gui_phrases)
wnd.run(self.phrases.title_features, self.get_features())
def get_features(self):
"""Get features information."""
self.log.info('Get features from file...')
file_name = self.config.code + '.txt'
file_path = os.path.join(self.config.languages_dir,
self.config.features_dir)
features_path = os.path.join(file_path, file_name)
with open(features_path, 'rb') as data:
features = data.read()
return features.decode('utf-8')