Test Failed
Push — master ( b264b0...0ab505 )
by Yoshihiro
03:23
created

NovelEditor.MainProcessing   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 132
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 7
eloc 89
dl 0
loc 132
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
B MainProcessingClass.initialize() 0 30 6
B MainProcessingClass.__init__() 0 69 1
1
#!/usr/bin/env python3
2
import os
3
import shutil
4
import tkinter as tk
5
6
from . import CreateWindow
7
from . import EventProcessing
8
from . import SubfunctionProcessing
9
from . import HighlightProcessing
10
from . import FindProcessing
11
from . import ComplementProcessing
12
from . import FileMenu
13
from . import EditMenu
14
from . import HelpMenu
15
from . import ProcessingMenu
16
from . import ListMenuClass
17
from . import Definition
18
19
20
class MainProcessingClass(Definition.DefinitionClass):
21
    """メインフレーム処理のクラス.
22
23
    ・初期設定をするプログラム群
24
25
    Args:
26
        tokenizer (instance): Tokenizer のインスタンス
27
        wiki_wiki (instance): wikipediaapi.Wikipedia のインスタンス
28
        locale_var (str): ロケーション
29
        master (instance): toplevel のインスタンス
30
    """
31
32
    def __init__(self, tokenizer, wiki_wiki, locale_var, master=None):
33
        super().__init__(locale_var, master)
34
        # 自作クラスの読み込み
35
        self.cwc = CreateWindow.CreateWindowClass(
36
            self,
37
            locale_var,
38
            master
39
        )
40
        self.epc = EventProcessing.EventProcessingClass(
41
            self,
42
            locale_var,
43
            master
44
        )
45
        self.spc = SubfunctionProcessing.SubfunctionProcessingClass(
46
            self,
47
            locale_var,
48
            master
49
        )
50
        self.hpc = HighlightProcessing.HighlightProcessingClass(
51
            self,
52
            tokenizer,
53
            locale_var,
54
            master
55
        )
56
        self.fpc = FindProcessing.FindProcessingClass(
57
            self,
58
            locale_var,
59
            master
60
        )
61
        self.cpc = ComplementProcessing.ComplementProcessingClass(
62
            self,
63
            tokenizer,
64
            locale_var,
65
            master
66
        )
67
        self.fmc = FileMenu.FileMenuClass(
68
            self,
69
            locale_var,
70
            master
71
        )
72
        self.emc = EditMenu.EditMenuClass(
73
            self,
74
            locale_var,
75
            master
76
        )
77
        self.pmc = ProcessingMenu.ProcessingMenuClass(
78
            self,
79
            tokenizer,
80
            wiki_wiki,
81
            locale_var,
82
            master
83
        )
84
        self.lmc = ListMenuClass.ListMenuClass(
85
            self,
86
            locale_var,
87
            master
88
        )
89
        self.hmc = HelpMenu.HelpMenuClass(
90
            self,
91
            locale_var,
92
            master
93
        )
94
        # メニューバーの作成
95
        self.menu_bar = tk.Menu(master)
96
        self.master.config(menu=self.menu_bar)
97
        # 初期化処理
98
        self.initialize()
99
        self.cwc.create_widgets()
100
        self.epc.create_event()
101
102
    def initialize(self):
103
        """初期化処理.
104
105
        ・変数の初期化及び起動準備をする。
106
        """
107
        # 今の処理ししているファイルのパス
108
        FileMenu.FileMenuClass.now_path = ""
109
        # 現在開いているファイル
110
        FileMenu.FileMenuClass.file_path = ""
111
        # 検索文字列
112
        FindProcessing.FindProcessingClass.find_text = ""
113
        # 現在入力中の初期テキスト
114
        ListMenuClass.ListMenuClass.text_text = ""
115
        ListMenuClass.ListMenuClass.select_list_item = ""
116
        # 文字の大きさ
117
        ProcessingMenu.ProcessingMenuClass.font_size = 16
118
        ProcessingMenu.ProcessingMenuClass.yahoo_appid = ""
119
        if os.path.isfile("./appid.txt"):
120
            with open("./appid.txt", encoding='utf-8') as f:
121
                ProcessingMenu.ProcessingMenuClass.yahoo_appid = f.read()
122
123
        if u"ここを消して、" in ProcessingMenu.ProcessingMenuClass.yahoo_appid:
124
            ProcessingMenu.ProcessingMenuClass.yahoo_appid = ""
125
126
        # dataフォルダがあるときは、削除する
127
        if os.path.isdir('./data'):
128
            shutil.rmtree('./data')
129
        # 新しくdataフォルダを作成する
130
        for val in self.TREE_FOLDER:
131
            os.makedirs('./{0}'.format(val[0]))
132