QuickWho

Check-in [9504ff3627]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:More updates
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 9504ff36278ace97e8a29f5a1f857ab83ebf9b6a
User & Date: kevin 2019-11-29 02:17:27
Context
2019-12-02
00:20
Add image check-in: 91cd9e93f2 user: kevin tags: trunk
2019-11-29
02:17
More updates check-in: 9504ff3627 user: kevin tags: trunk
2019-11-22
14:26
Tweak images check-in: 45fbabc932 user: kevin tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to QuickWho.py.

1
2
3
4
5
6
7
8
9
10
11
#QuickWho: GUI for whois

#MIT license.
#(c) 2016 WordTech Communications LLC

##let's get started, import our modules and initialize some variables

from tkinter import *
from tkinter import font
from tkinter import filedialog
from tkinter import messagebox



|







1
2
3
4
5
6
7
8
9
10
11
#QuickWho: GUI for whois

#MIT license.
#(c) 2019 WordTech Communications LLC

##let's get started, import our modules and initialize some variables

from tkinter import *
from tkinter import font
from tkinter import filedialog
from tkinter import messagebox
75
76
77
78
79
80
81

82
83
84
85
86
87
88
89
90
            self.tk.call('console', 'hide')
        except TclError:
            pass
        self.setAppName('QuickWho', '7.0')
        self.makeImages()
        if self.isAqua():
            self.tk.call('package', 'require', 'cocoaprint')

	if self.isWindows():
            self.tk.call('package require dde')
            self.tk.eval('dde servername QuickWho')
			
        self.tk.createcommand('getDomain', self.getDomain)
         
        self.tk.call('package', 'require', 'softwareupdate')
        self.tk.call('softwareupdate::setVersion', self.appname, self.appversion)  
        self.tk.call('package', 'require', 'xplat')







>
|
|







75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
            self.tk.call('console', 'hide')
        except TclError:
            pass
        self.setAppName('QuickWho', '7.0')
        self.makeImages()
        if self.isAqua():
            self.tk.call('package', 'require', 'cocoaprint')
			self.tk.call('package', 'require', 'darkaqua')
		if self.isWindows():
			self.tk.call('package require dde')
            self.tk.eval('dde servername QuickWho')
			
        self.tk.createcommand('getDomain', self.getDomain)
         
        self.tk.call('package', 'require', 'softwareupdate')
        self.tk.call('softwareupdate::setVersion', self.appname, self.appversion)  
        self.tk.call('package', 'require', 'xplat')
119
120
121
122
123
124
125
126
127

128
129
130
131
132
133
134
135
136
137
138
139
        execdir = os.path.dirname(sys.argv[0])

        #icon data
        icondata = """
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
      """

        self.logo = PhotoImage("logo", data=icondata)	
		

        update_icon = """
	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
	"""
		
	self.updateicon = PhotoImage("updateicon", data = update_icon)
 
        #magnifying glass
        glassdata = """
#define xbm_search_32_width 32
#define xbm_search_32_height 32
static char xbm_search_32_bits[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 







|
|
>
|
|
|

|







120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
        execdir = os.path.dirname(sys.argv[0])

        #icon data
        icondata = """
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
      """

        self.logo = PhotoImage("logo", data=icondata)

  		
		update_icon = """
		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
		"""
		
		self.updateicon = PhotoImage("updateicon", data = update_icon)
 
        #magnifying glass
        glassdata = """
#define xbm_search_32_width 32
#define xbm_search_32_height 32
static char xbm_search_32_bits[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202


203
204
205
206
207
208
209
  0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0xFC, 0x00, 0x00, 
  0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 
  0x00, 0xDC, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, };



"""
        self.compassphoto = PhotoImage("compass", data=compassdata)

    #aboutwindow

    def aboutWindow(self):
       
        messagebox.showinfo(title='About QuickWho',   message='QuickWho: Domain Name Service', 
		icon='info', parent=self, detail='Version 6.4\n(c) 2018 WordTech Communications LLC')
        

    #draw the GUI
    def drawGUI(self):

        self.title('QuickWho')
        self.option_add('*tearOff', FALSE)
        if self.isWindows():
            self.tk.call('wm', 'iconphoto', self, '-default', self.logo)


 
        #make the menu
        self.mb = Menu(self)

        if self.isAqua():
            self.createcommand('::tk::mac::Quit', self.closeApp)
            self.createcommand('::tk::mac::ReopenApplication', self.reopenApp)







|






|









>
>







181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
  0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0xFC, 0x00, 0x00, 
  0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 
  0x00, 0xDC, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, };



"""
        self.compassphoto = BitmapImage("compass", data=compassdata)

    #aboutwindow

    def aboutWindow(self):
       
        messagebox.showinfo(title='About QuickWho',   message='QuickWho: Domain Name Service', 
		icon='info', parent=self, detail='Version 7.0\n(c) 2019 WordTech Communications LLC')
        

    #draw the GUI
    def drawGUI(self):

        self.title('QuickWho')
        self.option_add('*tearOff', FALSE)
        if self.isWindows():
            self.tk.call('wm', 'iconphoto', self, '-default', self.logo)
        else:
            self.tk.call('wm', 'iconphoto', self, '-default', self.maclogo)
 
        #make the menu
        self.mb = Menu(self)

        if self.isAqua():
            self.createcommand('::tk::mac::Quit', self.closeApp)
            self.createcommand('::tk::mac::ReopenApplication', self.reopenApp)
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
        self.t3=ToolTip.ToolTip(self.webbutton, 'Save whois data to file')
        self.webbutton.pack(side=LEFT, fill=BOTH, expand=NO)

        self.searchterm = StringVar()
        self.searchfield = Tile.Entry(self.topframe, style = 'ImgEntry', textvariable=self.searchterm)

        self.searchfield.bind('<Return>', lambda event: self.getInfo())
        if self.isAqua():
            self.tk.call('tclservices::registerservicewidget', self.searchfield)
        self.searchfield.bind('<ButtonRelease-1>', lambda event: self.checkEntrySelection())
        self.searchfield.pack(side='right', fill=BOTH, expand=NO)

        self.status=StringVar()

        self.bottomlabel=Tile.Label(self.topframe, text='', textvariable=self.status, padding=2)
        self.bottomlabel.pack(side=RIGHT, fill=BOTH, expand=YES, anchor='e')








<
<
<







281
282
283
284
285
286
287



288
289
290
291
292
293
294
        self.t3=ToolTip.ToolTip(self.webbutton, 'Save whois data to file')
        self.webbutton.pack(side=LEFT, fill=BOTH, expand=NO)

        self.searchterm = StringVar()
        self.searchfield = Tile.Entry(self.topframe, style = 'ImgEntry', textvariable=self.searchterm)

        self.searchfield.bind('<Return>', lambda event: self.getInfo())



        self.searchfield.pack(side='right', fill=BOTH, expand=NO)

        self.status=StringVar()

        self.bottomlabel=Tile.Label(self.topframe, text='', textvariable=self.status, padding=2)
        self.bottomlabel.pack(side=RIGHT, fill=BOTH, expand=YES, anchor='e')

329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360

        self.t1=ToolTip.ToolTip(self.bottomcanvas, 'Geolocation map for domain')
        
        self.bottom_pw.add(self.bottomright)
        self.bottom_pw.add(self.bottomleft)

        self.wm_geometry('1100x600')

    #check for selection in entry widget
    def checkEntrySelection (self):
        if self.isAqua():
            if self.searchfield.selection_present():
                string=self.tk.call('ttk::entry::EntrySelection', self.searchfield)
                self.updateClipboard(string)
            else:
                return
        
    ##write selected text to clipboard
    def updateClipboard (self, selection):
        if self.isAqua():
            self.clipboard_clear()
            self.clipboard_append(selection)


    def geo_ip_lookup(self, domain):

        service = 'http://ip-api.com/'
        kind = '/json/'
        ip = domain

        url = service + kind + ip
        return json.loads(urllib.request.urlopen(url).read().decode('utf-8'))







|
<
<
|
<
<
<
<
<
|
<
<
<
<
<

<
|







330
331
332
333
334
335
336
337


338





339





340

341
342
343
344
345
346
347
348

        self.t1=ToolTip.ToolTip(self.bottomcanvas, 'Geolocation map for domain')
        
        self.bottom_pw.add(self.bottomright)
        self.bottom_pw.add(self.bottomleft)

        self.wm_geometry('1100x600')
		


		if self.isAqua():





            self.tk.call('darkaqua::checkDarkMode')







      def geo_ip_lookup(self, domain):

        service = 'http://ip-api.com/'
        kind = '/json/'
        ip = domain

        url = service + kind + ip
        return json.loads(urllib.request.urlopen(url).read().decode('utf-8'))

Added scriptlibs/darkaqua/darkaqua.tcl.





















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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
#MIT license



package provide darkaqua 1.0

namespace eval darkaqua {
    
    proc changeImagesDark {} {
	
	foreach item [image names]  {
	    if {[image type $item] eq "bitmap"} {
		$item configure -foreground white
	    }
	}
    }
    
    proc changeImagesLight {} {
	
	foreach item [image names]  {
	    if {[image type $item] eq "bitmap"} {
		$item configure -foreground black
	    }
	}
    }
    
    proc checkDarkMode {} {
	set mode [catch {exec defaults read -g AppleInterfaceStyle} msg]
	if {$msg eq "Dark"} {
	    event generate . <<DarkAqua>>
	} else {
	    event generate . <<LightAqua>>
	}
    }
    
    
    bind all <<LightAqua>> {changeImagesLight}
    bind all <<DarkAqua>> {changeImagesDark}
    
    namespace export *
    
}

Added scriptlibs/darkaqua/pkgIndex.tcl.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
# Tcl package index file, version 1.1
# This file is generated by the "pkg_mkIndex" command
# and sourced either when an application starts up or
# by a "package unknown" script.  It invokes the
# "package ifneeded" command to set up package-related
# information so that packages will be loaded automatically
# in response to "package require" commands.  When this
# script is sourced, the variable $dir must contain the
# full path name of this file's directory.
 
package ifneeded darkaqua 1.0 [list source [file join $dir darkaqua.tcl]]