PNG  IHDR  8] PLTE S =tRNS   PNG  IHDR  8] PLTE S =tRNS   REDROOM
PHP 7.4.33
Preview: filelist.py Size: 3.80 KB
/opt/alt/python37/lib64/python3.7/idlelib/filelist.py

"idlelib.filelist"

import os
from tkinter import messagebox as tkMessageBox


class FileList:

    # N.B. this import overridden in PyShellFileList.
    from idlelib.editor import EditorWindow

    def __init__(self, root):
        self.root = root
        self.dict = {}
        self.inversedict = {}
        self.vars = {} # For EditorWindow.getrawvar (shared Tcl variables)

    def open(self, filename, action=None):
        assert filename
        filename = self.canonize(filename)
        if os.path.isdir(filename):
            # This can happen when bad filename is passed on command line:
            tkMessageBox.showerror(
                "File Error",
                "%r is a directory." % (filename,),
                master=self.root)
            return None
        key = os.path.normcase(filename)
        if key in self.dict:
            edit = self.dict[key]
            edit.top.wakeup()
            return edit
        if action:
            # Don't create window, perform 'action', e.g. open in same window
            return action(filename)
        else:
            edit = self.EditorWindow(self, filename, key)
            if edit.good_load:
                return edit
            else:
                edit._close()
                return None

    def gotofileline(self, filename, lineno=None):
        edit = self.open(filename)
        if edit is not None and lineno is not None:
            edit.gotoline(lineno)

    def new(self, filename=None):
        return self.EditorWindow(self, filename)

    def close_all_callback(self, *args, **kwds):
        for edit in list(self.inversedict):
            reply = edit.close()
            if reply == "cancel":
                break
        return "break"

    def unregister_maybe_terminate(self, edit):
        try:
            key = self.inversedict[edit]
        except KeyError:
            print("Don't know this EditorWindow object.  (close)")
            return
        if key:
            del self.dict[key]
        del self.inversedict[edit]
        if not self.inversedict:
            self.root.quit()

    def filename_changed_edit(self, edit):
        edit.saved_change_hook()
        try:
            key = self.inversedict[edit]
        except KeyError:
            print("Don't know this EditorWindow object.  (rename)")
            return
        filename = edit.io.filename
        if not filename:
            if key:
                del self.dict[key]
            self.inversedict[edit] = None
            return
        filename = self.canonize(filename)
        newkey = os.path.normcase(filename)
        if newkey == key:
            return
        if newkey in self.dict:
            conflict = self.dict[newkey]
            self.inversedict[conflict] = None
            tkMessageBox.showerror(
                "Name Conflict",
                "You now have multiple edit windows open for %r" % (filename,),
                master=self.root)
        self.dict[newkey] = edit
        self.inversedict[edit] = newkey
        if key:
            try:
                del self.dict[key]
            except KeyError:
                pass

    def canonize(self, filename):
        if not os.path.isabs(filename):
            try:
                pwd = os.getcwd()
            except OSError:
                pass
            else:
                filename = os.path.join(pwd, filename)
        return os.path.normpath(filename)


def _test():  # TODO check and convert to htest
    from tkinter import Tk
    from idlelib.editor import fixwordbreaks
    from idlelib.run import fix_scaling
    root = Tk()
    fix_scaling(root)
    fixwordbreaks(root)
    root.withdraw()
    flist = FileList(root)
    flist.new()
    if flist.inversedict:
        root.mainloop()

if __name__ == '__main__':
    from unittest import main
    main('idlelib.idle_test.test_filelist', verbosity=2)

#    _test()

Directory Contents

Dirs: 3 × Files: 73

Name Size Perms Modified Actions
Icons DIR
- drwxr-xr-x 2024-10-10 12:27:02
Edit Download
idle_test DIR
- drwxr-xr-x 2024-10-10 12:27:02
Edit Download
- drwxr-xr-x 2024-10-10 12:27:02
Edit Download
8.74 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
19.64 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
3.14 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
8.12 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
6.17 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
6.99 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
55.04 KB lrw-r--r-- 2023-06-05 20:45:13
Edit Download
11.06 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
12.69 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
2.21 KB lrw-r--r-- 2023-06-05 20:45:13
Edit Download
2.80 KB lrw-r--r-- 2023-06-05 20:45:13
Edit Download
10.65 KB lrw-r--r-- 2023-06-05 20:45:13
Edit Download
3.09 KB lrw-r--r-- 2023-06-05 20:45:13
Edit Download
37.28 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
102.07 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
14.13 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
1.82 KB lrw-r--r-- 2023-06-05 20:45:13
Edit Download
18.66 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
11.86 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
3.96 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
1.06 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
1.02 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
1.97 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
64.08 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
3.56 KB lrw-r--r-- 2023-06-05 20:45:13
Edit Download
3.80 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
15.41 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
7.30 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
60.76 KB lrw-r--r-- 2023-06-05 20:45:13
Edit Download
11.46 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
8.77 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
3.95 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
10.07 KB lrw-r--r-- 2023-06-05 20:45:13
Edit Download
12.58 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
454 B lrw-r--r-- 2024-04-17 17:55:26
Edit Download
570 B lrw-r--r-- 2023-06-05 20:45:13
Edit Download
20.15 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
9.44 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
3.83 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
18.21 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
47.65 KB lrw-r--r-- 2023-06-05 20:45:13
Edit Download
26.54 KB lrw-r--r-- 2023-06-05 20:45:13
Edit Download
5.65 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
7.04 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
3.12 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
3.06 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
19.48 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
55.91 KB lrwxr-xr-x 2024-04-17 17:55:26
Edit Download
14.55 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
9.37 KB lrw-r--r-- 2023-06-05 20:45:13
Edit Download
6.71 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
9.66 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
20.64 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
19.82 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
8.58 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
4.36 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
5.44 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
7.36 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
7.30 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
13.27 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
12.54 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
4.35 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
1.41 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
6.65 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
8.28 KB lrw-r--r-- 2023-06-05 20:45:13
Edit Download
6.41 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
15.97 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
10.79 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
2.55 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
4.10 KB lrw-r--r-- 2024-04-17 17:55:26
Edit Download
961 B lrw-r--r-- 2024-04-17 17:55:26
Edit Download
396 B lrw-r--r-- 2024-04-17 17:55:26
Edit Download
159 B lrw-r--r-- 2024-04-17 17:55:26
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).
 !"#$%&'(()*+,-./00123456789 t\ wIDATx ]ys  47Y ƒ -  "  Rv  < f{Ɛ $k l L > L  ~h^ 1  [  r G t& h  l F z3O Y ! p A(_g̷ E8 )S 8 c  Kb"z ~ 5 J xAL WU <  *  5 m;W a pB h ~P J 2 3 6 ҙ .Ƹ P i  4g F R L P ΪK/D  M v (a3 k J Œ4N5* SH ` SdJ z  O J Xՠ V>u ߱ BE&L b2 ?2` tX+  c CB A$ i b C ĀMB E : /  # Dx &l =q Ty  0 \p I ( L Ǎ { e 4k ;`u^ヲ eP!( d {  )T A 8 O;Ě n >;s6 !  :Nx `[S D HU ~ q›J F} a g*D 49 / pn k h (t 8NxƐF _!r չ7 ZR R׷ q/5") Ӎ NY 0 x sZ!   o  fu  ,  K"$ ? pg  㕣=  1» {h " fh7    y  } € +7  $ y " X —ą - G P u 4 m >J 5 L =V ' ^@I p ?MS xЌ XV P ! h "C NS9B8̢ ]!K  e   zA , ӏkbY  !< XQ ٿyS| *" f { w  4@[S <  # 0 ! js [m  =,~ o "ݎ DHf Wo $ g ! Vԅ t mB /y Wf V4񺍸 c+@x?  B ~u " xUN e 0 BĂ) ~J pz! 7y6]l Ԥ@ P a< O /DHC `≻  N m"$  0ObB }{ x AO FCG D R ^ "B  { WDH  UR l@ T #  +"d T ; 0 i  D}. 7 ` ' ] w rE &S i ƕiTD EL P _ u h $ Ա FG wVD G L R Zf ' .!] J /ZR oGЍs Mr Ĥ ʬ 3 Q [3 cL ` ^ p + ( F;# B 5 '  2Y f [  ϶R0e }  E 7 6M aۮ H <& n % L] E}Up x紉, Uw' Q  Ǯշo k ވۙ 0N94 VX5 xEDE l D #֤ } C o )W :  ^ s 9  bRf iX5u ཱི 4 :[  T 1. | [E 2ؽ Iy\ : o x K G 5 ylP ' uK E ftb/i[3 .g _  [3M n G, #NwQ5~  ؚ) | n =Ц"x qg gB ` 듘 ~ x w ? ? R~  _ u. &VQ K˻   H C ( TN˄+ `C dA nB׭ D 3"Z G ê ^k H_ /- ~ " R_  .8 Z_ 6@ o  xg  uP ? 3լ @7AM!  E7^ - =V L  x  g-D0  CtmW 7  O  G _ WD0 g C  w1 r d w : a | \  *" f nֳ ^ H# f L ` Z ۽hV  }S F r0Ù Bć5r] @! NL iQ]{s^=4 d  WD  "  "   M; t" 8 5 e dL| "-*st" ) SWD ?R[S e ooF  20.D ? bo =) A i o d ģ ZҰaO @E =) i D a &ܟa CϞ y6 ,<%{^x%{f8? `iw^ ?/ M * IEND B`