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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# =========================================================================
# FILE: Appconfig.py
#
# USAGE: ---
#
# DESCRIPTION: This define all configuration used in Application.
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Fahim Khan, fahim.elex@gmail.com
# MODIFIED: Rahul Paknikar, rahulp@iitb.ac.in
# ORGANIZATION: eSim team at FOSSEE, IIT Bombay.
# CREATED: Tuesday 24 Feb 2015
# REVISION: Wednesday 18 Dec 2019
# =========================================================================
from PyQt4 import QtGui
import os
import json
from configparser import SafeConfigParser
class Appconfig(QtGui.QWidget):
"""
All configuration goes here.
May change in future for code optimization.
This class also contains function for
- Printing error.
- Showing warnings.
- Dispalying information.
"""
# Home directory
home = os.path.join(os.path.expanduser("~"), "eSim-Workspace")
default_workspace = {"workspace": home}
# Current Project detail
current_project = {"ProjectName": None}
# Current Subcircuit detail
current_subcircuit = {"SubcircuitName": None}
# Workspace detail
workspace_text = '''eSim stores your project in a folder called a \
eSim-Workspace. You can choose a different workspace folder to use\
for this session.'''
procThread_list = []
proc_dict = {}
# holds the pids of all external windows corresponds to the current project
dock_dict = {} # holds all dockwidgets
dictPath = os.path.join(os.path.expanduser("~"), ".projectExplorer.txt")
noteArea = {}
parser_esim = SafeConfigParser()
parser_esim.read(
os.path.join(
os.path.expanduser("~"),
os.path.join(
'.esim',
'config.ini')))
# Try catch added, since eSim cannot be accessed under parser for Win10
try:
modelica_map_json = parser_esim.get('eSim', 'MODELICA_MAP_JSON')
except BaseException:
print("Cannot access Modelica's map_json path --- .esim folder")
try:
project_explorer = json.load(open(dictPath))
except BaseException:
project_explorer = {}
process_obj = []
def __init__(self):
super(Appconfig, self).__init__()
# Application Details
self._APPLICATION = 'eSim'
self._VERSION = 'v1.1'
self._AUTHOR = 'Fahim'
# Application geometry setting
self._app_xpos = 100
self._app_ypos = 100
self._app_width = 600
self._app_heigth = 400
def print_info(self, info):
self.noteArea['Note'].append('[INFO]: ' + info)
def print_warning(self, warning):
self.noteArea['Note'].append('[WARNING]: ' + warning)
def print_error(self, error):
self.noteArea['Note'].append('[ERROR]: ' + error)
|