NovelEditor.MainProcessing   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 92
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 7
eloc 56
dl 0
loc 92
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
B MainProcessingClass.initialize() 0 30 6
A MainProcessingClass.__init__() 0 29 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(self, locale_var, master)
36
        self.epc = EventProcessing.EventProcessingClass(self, locale_var, master)
37
        self.spc = SubfunctionProcessing.SubfunctionProcessingClass(
38
            self, locale_var, master
39
        )
40
        self.hpc = HighlightProcessing.HighlightProcessingClass(
41
            self, tokenizer, locale_var, master
42
        )
43
        self.fpc = FindProcessing.FindProcessingClass(self, locale_var, master)
44
        self.cpc = ComplementProcessing.ComplementProcessingClass(
45
            self, tokenizer, locale_var, master
46
        )
47
        self.fmc = FileMenu.FileMenuClass(self, locale_var, master)
48
        self.emc = EditMenu.EditMenuClass(self, locale_var, master)
49
        self.pmc = ProcessingMenu.ProcessingMenuClass(
50
            self, tokenizer, wiki_wiki, locale_var, master
51
        )
52
        self.lmc = ListMenuClass.ListMenuClass(self, locale_var, master)
53
        self.hmc = HelpMenu.HelpMenuClass(self, locale_var, master)
54
        # メニューバーの作成
55
        self.menu_bar = tk.Menu(master)
56
        self.master.config(menu=self.menu_bar)
57
        # 初期化処理
58
        self.initialize()
59
        self.cwc.create_widgets()
60
        self.epc.create_event()
61
62
    def initialize(self):
63
        """初期化処理.
64
65
        ・変数の初期化及び起動準備をする。
66
        """
67
        # 今の処理ししているファイルのパス
68
        FileMenu.FileMenuClass.now_path = ""
69
        # 現在開いているファイル
70
        FileMenu.FileMenuClass.file_path = ""
71
        # 検索文字列
72
        FindProcessing.FindProcessingClass.find_text = ""
73
        # 現在入力中の初期テキスト
74
        ListMenuClass.ListMenuClass.text_text = ""
75
        ListMenuClass.ListMenuClass.select_list_item = ""
76
        # 文字の大きさ
77
        ProcessingMenu.ProcessingMenuClass.font_size = 16
78
        ProcessingMenu.ProcessingMenuClass.yahoo_appid = ""
79
        if os.path.isfile("./appid.txt"):
80
            with open("./appid.txt", encoding="utf-8") as f:
81
                ProcessingMenu.ProcessingMenuClass.yahoo_appid = f.read()
82
83
        if "ここを消して、" in ProcessingMenu.ProcessingMenuClass.yahoo_appid:
84
            ProcessingMenu.ProcessingMenuClass.yahoo_appid = ""
85
86
        # dataフォルダがあるときは、削除する
87
        if os.path.isdir("./data"):
88
            shutil.rmtree("./data")
89
        # 新しくdataフォルダを作成する
90
        for val in self.TREE_FOLDER:
91
            os.makedirs("./{0}".format(val[0]))
92