Fri, 29 Jul 2011 19:01:14 +0200
Added code to start monitoring the Mercurial hgrc file when it was created by starting the hgrc file editor.
1071
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2011 Detlev Offenbach <detlev@die-offenbachs.de> |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the purge extension interface. |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import os |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
1087
fb8cd56819a9
Changed the Mercurial extension interface code to use custom base classes instead of inheriting QObject directly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1071
diff
changeset
|
12 | from PyQt4.QtCore import QProcess |
1071
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | from PyQt4.QtGui import QDialog |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
1087
fb8cd56819a9
Changed the Mercurial extension interface code to use custom base classes instead of inheriting QObject directly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1071
diff
changeset
|
15 | from ..HgExtension import HgExtension |
1071
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | from ..HgDialog import HgDialog |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | from .HgPurgeListDialog import HgPurgeListDialog |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | from UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | import Preferences |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | |
1087
fb8cd56819a9
Changed the Mercurial extension interface code to use custom base classes instead of inheriting QObject directly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1071
diff
changeset
|
25 | class Purge(HgExtension): |
1071
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | """ |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | Class implementing the purge extension interface. |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | """ |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | def __init__(self, vcs): |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | """ |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | Constructor |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | @param vcs reference to the Mercurial vcs object |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | """ |
1087
fb8cd56819a9
Changed the Mercurial extension interface code to use custom base classes instead of inheriting QObject directly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1071
diff
changeset
|
35 | super().__init__(vcs) |
1071
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | self.purgeListDialog = None |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | def shutdown(self): |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | """ |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | Public method used to shutdown the purge interface. |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | """ |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | if self.purgeListDialog is not None: |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | self.purgeListDialog.close() |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | def __getEntries(self, repodir, all): |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | """ |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | Public method to get a list of files/directories being purged. |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | @param repodir directory name of the repository (string) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | @param all flag indicating to delete all files including ignored ones (boolean) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | @return name of the current patch (string) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | """ |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | purgeEntries = [] |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | ioEncoding = Preferences.getSystem("IOEncoding") |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | process = QProcess() |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | args = [] |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | args.append("purge") |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | args.append("--print") |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | if all: |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | args.append("--all") |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | process.setWorkingDirectory(repodir) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | process.start('hg', args) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | procStarted = process.waitForStarted() |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | if procStarted: |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | finished = process.waitForFinished(30000) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | if finished and process.exitCode() == 0: |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | purgeEntries = str( |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | process.readAllStandardOutput(), |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | ioEncoding, 'replace').strip().split() |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | return purgeEntries |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | def hgPurge(self, name, all=False): |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | """ |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | Public method to purge files and directories not tracked by Mercurial. |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | @param name file/directory name (string) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | @param all flag indicating to delete all files including ignored ones (boolean) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | """ |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | # find the root of the repo |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | repodir = self.vcs.splitPath(name)[0] |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | repodir = os.path.dirname(repodir) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | if repodir == os.sep: |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | return False |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | if all: |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | title = self.trUtf8("Purge All Files") |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | message = self.trUtf8("""Do really want to delete all files not tracked by""" |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | """ Mercurial (including ignored ones)?""") |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | else: |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | title = self.trUtf8("Purge Files") |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | message = self.trUtf8("""Do really want to delete files not tracked by""" |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | """ Mercurial?""") |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | entries = self.__getEntries(repodir, all) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | dlg = DeleteFilesConfirmationDialog(None, title, message, entries) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | if dlg.exec_() == QDialog.Accepted: |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | args = [] |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | args.append("purge") |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | if all: |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | args.append("--all") |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | args.append("-v") |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | dia = HgDialog(title) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | res = dia.startProcess(args, repodir) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | if res: |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | dia.exec_() |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | def hgPurgeList(self, name, all=False): |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | """ |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | Public method to list files and directories not tracked by Mercurial. |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | @param name file/directory name (string) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | @param all flag indicating to list all files including ignored ones (boolean) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | """ |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | # find the root of the repo |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | repodir = self.vcs.splitPath(name)[0] |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | repodir = os.path.dirname(repodir) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | if repodir == os.sep: |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | return False |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | entries = self.__getEntries(repodir, all) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | self.purgeListDialog = HgPurgeListDialog(entries) |
ac0f74c0b870
Added support for the Mercurial purge extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | self.purgeListDialog.show() |