X7ROOT File Manager
Current Path:
/usr/lib64/python2.7/Demo/tkinter/guido
usr
/
lib64
/
python2.7
/
Demo
/
tkinter
/
guido
/
ðŸ“
..
📄
AttrDialog.py
(14 KB)
📄
AttrDialog.pyc
(18.33 KB)
📄
AttrDialog.pyo
(18.33 KB)
📄
ManPage.py
(6.7 KB)
📄
ManPage.pyc
(6.27 KB)
📄
ManPage.pyo
(6.27 KB)
📄
MimeViewer.py
(4.39 KB)
📄
MimeViewer.pyc
(4.83 KB)
📄
MimeViewer.pyo
(4.83 KB)
📄
ShellWindow.py
(4.07 KB)
📄
ShellWindow.pyc
(5.47 KB)
📄
ShellWindow.pyo
(5.47 KB)
📄
brownian.py
(1.07 KB)
📄
brownian.pyc
(1.59 KB)
📄
brownian.pyo
(1.59 KB)
📄
brownian2.py
(1.35 KB)
📄
brownian2.pyc
(1.74 KB)
📄
brownian2.pyo
(1.74 KB)
📄
canvasevents.py
(6.45 KB)
📄
canvasevents.pyc
(10.46 KB)
📄
canvasevents.pyo
(10.46 KB)
📄
dialog.py
(3.13 KB)
📄
dialog.pyc
(3.11 KB)
📄
dialog.pyo
(3.11 KB)
📄
electrons.py
(2.27 KB)
📄
electrons.pyc
(2.33 KB)
📄
electrons.pyo
(2.33 KB)
📄
hanoi.py
(4.54 KB)
📄
hanoi.pyc
(3.82 KB)
📄
hanoi.pyo
(3.82 KB)
📄
hello.py
(331 B)
📄
hello.pyc
(701 B)
📄
hello.pyo
(701 B)
📄
imagedraw.py
(509 B)
📄
imagedraw.pyc
(1.13 KB)
📄
imagedraw.pyo
(1.13 KB)
📄
imageview.py
(205 B)
📄
imageview.pyc
(570 B)
📄
imageview.pyo
(570 B)
📄
kill.py
(3.79 KB)
📄
kill.pyc
(4.81 KB)
📄
kill.pyo
(4.81 KB)
📄
listtree.py
(991 B)
📄
listtree.pyc
(1.5 KB)
📄
listtree.pyo
(1.5 KB)
📄
mbox.py
(7.3 KB)
📄
mbox.pyc
(8.17 KB)
📄
mbox.pyo
(8.17 KB)
📄
newmenubardemo.py
(1.2 KB)
📄
newmenubardemo.pyc
(1.59 KB)
📄
newmenubardemo.pyo
(1.59 KB)
📄
optionmenu.py
(441 B)
📄
optionmenu.pyc
(594 B)
📄
optionmenu.pyo
(594 B)
📄
paint.py
(1.85 KB)
📄
paint.pyc
(2.19 KB)
📄
paint.pyo
(2.19 KB)
📄
rmt.py
(4.39 KB)
📄
rmt.pyc
(4.93 KB)
📄
rmt.pyo
(4.93 KB)
📄
solitaire.py
(17.37 KB)
📄
solitaire.pyc
(20.41 KB)
📄
solitaire.pyo
(20.41 KB)
📄
sortvisu.py
(18.89 KB)
📄
sortvisu.pyc
(23.18 KB)
📄
sortvisu.pyo
(23.18 KB)
📄
ss1.py
(25.57 KB)
📄
ss1.pyc
(31.67 KB)
📄
ss1.pyo
(31.07 KB)
📄
svkill.py
(4.75 KB)
📄
svkill.pyc
(5.8 KB)
📄
svkill.pyo
(5.8 KB)
📄
switch.py
(1.52 KB)
📄
switch.pyc
(2.85 KB)
📄
switch.pyo
(2.85 KB)
📄
tkman.py
(8.79 KB)
📄
tkman.pyc
(8.88 KB)
📄
tkman.pyo
(8.88 KB)
📄
wish.py
(623 B)
📄
wish.pyc
(737 B)
📄
wish.pyo
(737 B)
Editing: mbox.py
#! /usr/bin/python2.7 # Scan MH folder, display results in window import os import sys import re import getopt import string import mhlib from Tkinter import * from dialog import dialog mailbox = os.environ['HOME'] + '/Mail' def main(): global root, tk, top, mid, bot global folderbox, foldermenu, scanbox, scanmenu, viewer global folder, seq global mh, mhf # Parse command line options folder = 'inbox' seq = 'all' try: opts, args = getopt.getopt(sys.argv[1:], '') except getopt.error, msg: print msg sys.exit(2) for arg in args: if arg[:1] == '+': folder = arg[1:] else: seq = arg # Initialize MH mh = mhlib.MH() mhf = mh.openfolder(folder) # Build widget hierarchy root = Tk() tk = root.tk top = Frame(root) top.pack({'expand': 1, 'fill': 'both'}) # Build right part: folder list right = Frame(top) right.pack({'fill': 'y', 'side': 'right'}) folderbar = Scrollbar(right, {'relief': 'sunken', 'bd': 2}) folderbar.pack({'fill': 'y', 'side': 'right'}) folderbox = Listbox(right, {'exportselection': 0}) folderbox.pack({'expand': 1, 'fill': 'both', 'side': 'left'}) foldermenu = Menu(root) foldermenu.add('command', {'label': 'Open Folder', 'command': open_folder}) foldermenu.add('separator') foldermenu.add('command', {'label': 'Quit', 'command': 'exit'}) foldermenu.bind('<ButtonRelease-3>', folder_unpost) folderbox['yscrollcommand'] = (folderbar, 'set') folderbar['command'] = (folderbox, 'yview') folderbox.bind('<Double-1>', open_folder, 1) folderbox.bind('<3>', folder_post) # Build left part: scan list left = Frame(top) left.pack({'expand': 1, 'fill': 'both', 'side': 'left'}) scanbar = Scrollbar(left, {'relief': 'sunken', 'bd': 2}) scanbar.pack({'fill': 'y', 'side': 'right'}) scanbox = Listbox(left, {'font': 'fixed'}) scanbox.pack({'expand': 1, 'fill': 'both', 'side': 'left'}) scanmenu = Menu(root) scanmenu.add('command', {'label': 'Open Message', 'command': open_message}) scanmenu.add('command', {'label': 'Remove Message', 'command': remove_message}) scanmenu.add('command', {'label': 'Refile Message', 'command': refile_message}) scanmenu.add('separator') scanmenu.add('command', {'label': 'Quit', 'command': 'exit'}) scanmenu.bind('<ButtonRelease-3>', scan_unpost) scanbox['yscrollcommand'] = (scanbar, 'set') scanbar['command'] = (scanbox, 'yview') scanbox.bind('<Double-1>', open_message) scanbox.bind('<3>', scan_post) # Separator between middle and bottom part rule2 = Frame(root, {'bg': 'black'}) rule2.pack({'fill': 'x'}) # Build bottom part: current message bot = Frame(root) bot.pack({'expand': 1, 'fill': 'both'}) # viewer = None # Window manager commands root.minsize(800, 1) # Make window resizable # Fill folderbox with text setfolders() # Fill scanbox with text rescan() # Enter mainloop root.mainloop() def folder_post(e): x, y = e.x_root, e.y_root foldermenu.post(x - 10, y - 10) foldermenu.grab_set() def folder_unpost(e): tk.call('update', 'idletasks') foldermenu.grab_release() foldermenu.unpost() foldermenu.invoke('active') def scan_post(e): x, y = e.x_root, e.y_root scanmenu.post(x - 10, y - 10) scanmenu.grab_set() def scan_unpost(e): tk.call('update', 'idletasks') scanmenu.grab_release() scanmenu.unpost() scanmenu.invoke('active') scanparser = re.compile('^ *([0-9]+)') def open_folder(e=None): global folder, mhf sel = folderbox.curselection() if len(sel) != 1: if len(sel) > 1: msg = "Please open one folder at a time" else: msg = "Please select a folder to open" dialog(root, "Can't Open Folder", msg, "", 0, "OK") return i = sel[0] folder = folderbox.get(i) mhf = mh.openfolder(folder) rescan() def open_message(e=None): global viewer sel = scanbox.curselection() if len(sel) != 1: if len(sel) > 1: msg = "Please open one message at a time" else: msg = "Please select a message to open" dialog(root, "Can't Open Message", msg, "", 0, "OK") return cursor = scanbox['cursor'] scanbox['cursor'] = 'watch' tk.call('update', 'idletasks') i = sel[0] line = scanbox.get(i) if scanparser.match(line) >= 0: num = string.atoi(scanparser.group(1)) m = mhf.openmessage(num) if viewer: viewer.destroy() from MimeViewer import MimeViewer viewer = MimeViewer(bot, '+%s/%d' % (folder, num), m) viewer.pack() viewer.show() scanbox['cursor'] = cursor def interestingheader(header): return header != 'received' def remove_message(e=None): itop = scanbox.nearest(0) sel = scanbox.curselection() if not sel: dialog(root, "No Message To Remove", "Please select a message to remove", "", 0, "OK") return todo = [] for i in sel: line = scanbox.get(i) if scanparser.match(line) >= 0: todo.append(string.atoi(scanparser.group(1))) mhf.removemessages(todo) rescan() fixfocus(min(todo), itop) lastrefile = '' tofolder = None def refile_message(e=None): global lastrefile, tofolder itop = scanbox.nearest(0) sel = scanbox.curselection() if not sel: dialog(root, "No Message To Refile", "Please select a message to refile", "", 0, "OK") return foldersel = folderbox.curselection() if len(foldersel) != 1: if not foldersel: msg = "Please select a folder to refile to" else: msg = "Please select exactly one folder to refile to" dialog(root, "No Folder To Refile", msg, "", 0, "OK") return refileto = folderbox.get(foldersel[0]) todo = [] for i in sel: line = scanbox.get(i) if scanparser.match(line) >= 0: todo.append(string.atoi(scanparser.group(1))) if lastrefile != refileto or not tofolder: lastrefile = refileto tofolder = None tofolder = mh.openfolder(lastrefile) mhf.refilemessages(todo, tofolder) rescan() fixfocus(min(todo), itop) def fixfocus(near, itop): n = scanbox.size() for i in range(n): line = scanbox.get(repr(i)) if scanparser.match(line) >= 0: num = string.atoi(scanparser.group(1)) if num >= near: break else: i = 'end' scanbox.select_from(i) scanbox.yview(itop) def setfolders(): folderbox.delete(0, 'end') for fn in mh.listallfolders(): folderbox.insert('end', fn) def rescan(): global viewer if viewer: viewer.destroy() viewer = None scanbox.delete(0, 'end') for line in scanfolder(folder, seq): scanbox.insert('end', line) def scanfolder(folder = 'inbox', sequence = 'all'): return map( lambda line: line[:-1], os.popen('scan +%s %s' % (folder, sequence), 'r').readlines()) main()
Upload File
Create Folder