-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathserverTree.py
More file actions
84 lines (72 loc) · 2.56 KB
/
serverTree.py
File metadata and controls
84 lines (72 loc) · 2.56 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
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
#-*- coding:utf-8 -*-
import sys
import os
from xml.etree import ElementTree as ET
from config import *
try:
import pygtk
pygtk.require('2.0')
except:
pass
try:
import gtk
except:
print "GTK Not avaliable!"
sys.exit(1)
class serverTree:
"""serverTreeView Configuration
为了删除特定的行,在添加时就记下当时的跌代器
省的以后麻烦,我了个去的阿,这个难度有木有阿!
"""
def __init__(self,treestore,treeview):
self.ts=treestore
self.tv=treeview
self.serverlist=[]
self.servergrouplist=[]
#此迭代器记住每个servergroup所在的行
self.sgiter={}
self.siter={}
self.piter={}
#创建基本的treeviewcolumn
self.tvcolumn=gtk.TreeViewColumn('Server Group')
self.tv.append_column(self.tvcolumn)
self.cell=gtk.CellRendererText()
self.tvcolumn.pack_start(self.cell,True)
self.tvcolumn.add_attribute(self.cell,'text',0)
#找到selection
self.tsc=self.tv.get_selection()
self.mode=self.tsc.get_mode()
#初始化左侧的目录树
self.initTree()
#初始化左侧目录树
def initTree(self):
"""若服务器列表文件存在,则初始化左侧服务器列表"""
if os.path.isfile('./server.xml'):
root=ET.parse('server.xml').getroot()
for parent in root.getchildren():
self.piter[parent.tag]=self.ts.append(None,["%s" % parent.tag])
for child in parent.getchildren():
self.piter[child.tag]=self.ts.append(self.piter[parent.tag],["%s" % child.tag])
def updateTree(self):
"""对server或者servergroup改动后后更新,首先进行删除操作 """
#首先将treestore中的列表清空
self.ts.clear()
#再重新初始化服务器列表
if os.path.isfile('./server.xml'):
root=ET.parse('server.xml').getroot()
for parent in root.getchildren():
self.piter[parent.tag]=self.ts.append(None,["%s" % parent.tag])
for child in parent.getchildren():
self.piter[child.tag]=self.ts.append(self.piter[parent.tag],["%s" % child.tag])
#增加Server时的行为
def addServer(self,text1,text2):
pass
#增加ServerGroup时的行为
def addServerGroup(self,text2):
pass
#增加删除server的行为
def delServer(self,text):
pass
#此部分暂时没写好了
def delServerGroup(self,text):
pass