Initial commit
This commit is contained in:
commit
a3ed03bcad
62
PyGeoIP.py
Normal file
62
PyGeoIP.py
Normal file
@ -0,0 +1,62 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
import ipwhois
|
||||
from ipwhois.net import Net
|
||||
from ipwhois.asn import IPASN
|
||||
import warnings
|
||||
|
||||
ipList = []
|
||||
|
||||
def lookupIP(inData):
|
||||
try:
|
||||
with warnings.catch_warnings():
|
||||
warnings.filterwarnings("ignore", category=UserWarning)
|
||||
ipnet = Net(inData)
|
||||
ipobj = IPASN(ipnet)
|
||||
results = ipobj.lookup()
|
||||
# print(results)
|
||||
return results
|
||||
|
||||
except ipwhois.exceptions.IPDefinedError:
|
||||
pass # We do not care about local/invalid IPs
|
||||
except Exception as e:
|
||||
pass # Garbage data was given lol
|
||||
|
||||
|
||||
def parseIPS():
|
||||
with open("testData.txt", 'r') as f:
|
||||
testdata = f.read()
|
||||
|
||||
data = testdata.split('\n')
|
||||
for ip in data:
|
||||
ip = ip.strip()
|
||||
ipAddr = ip.split()
|
||||
if len(ipAddr) == 2:
|
||||
ipList.append(ipAddr)
|
||||
else:
|
||||
pass
|
||||
|
||||
parseIPS()
|
||||
|
||||
ff = lookupIP("122.106.224.146")
|
||||
|
||||
print(ff["asn_country_code"])
|
||||
|
||||
for ips in ipList:
|
||||
# ccode = ipCheck(lookupIP(ips[1]))
|
||||
ret = lookupIP(ips[1])
|
||||
if ret == None:
|
||||
continue
|
||||
cc = ret["asn_country_code"]
|
||||
desc = ret["asn_description"]
|
||||
if cc == "AU" or cc == "NZ" or cc == "US":
|
||||
continue
|
||||
print("IP: {}\t\tCountry: {}\tDesc: {}\tCount: {}".format(ips[1], cc, desc, ips[0]))
|
||||
|
||||
|
||||
|
||||
|
||||
# print(ipList[0])
|
||||
# lookupIP("123.23.23.12")
|
||||
|
||||
##{'asn_registry': 'apnic', 'asn': '4134', 'asn_cidr': '220.174.0.0/16', 'asn_country_code': 'CN', 'asn_date': '2002-10-30', 'asn_description': 'CHINANET-BACKBONE No.31,Jin-rong Street, CN'}
|
||||
249
cc.csv
Normal file
249
cc.csv
Normal file
@ -0,0 +1,249 @@
|
||||
Afghanistan,AF
|
||||
Åland Islands,AX
|
||||
Albania,AL
|
||||
Algeria,DZ
|
||||
American Samoa,AS
|
||||
Andorra,AD
|
||||
Angola,AO
|
||||
Anguilla,AI
|
||||
Antarctica,AQ
|
||||
Antigua and Barbuda,AG
|
||||
Argentina,AR
|
||||
Armenia,AM
|
||||
Aruba,AW
|
||||
Australia,AU
|
||||
Austria,AT
|
||||
Azerbaijan,AZ
|
||||
Bahamas,BS
|
||||
Bahrain,BH
|
||||
Bangladesh,BD
|
||||
Barbados,BB
|
||||
Belarus,BY
|
||||
Belgium,BE
|
||||
Belize,BZ
|
||||
Benin,BJ
|
||||
Bermuda,BM
|
||||
Bhutan,BT
|
||||
Bolivia (Plurinational State of),BO
|
||||
"Bonaire, Sint Eustatius and Saba",BQ
|
||||
Bosnia and Herzegovina,BA
|
||||
Botswana,BW
|
||||
Bouvet Island,BV
|
||||
Brazil,BR
|
||||
British Indian Ocean Territory,IO
|
||||
Brunei Darussalam,BN
|
||||
Bulgaria,BG
|
||||
Burkina Faso,BF
|
||||
Burundi,BI
|
||||
Cambodia,KH
|
||||
Cameroon,CM
|
||||
Canada,CA
|
||||
Cabo Verde,CV
|
||||
Cayman Islands,KY
|
||||
Central African Republic,CF
|
||||
Chad,TD
|
||||
Chile,CL
|
||||
China,CN
|
||||
Christmas Island,CX
|
||||
Cocos (Keeling) Islands,CC
|
||||
Colombia,CO
|
||||
Comoros,KM
|
||||
Congo,CG
|
||||
Congo (Democratic Republic of the),CD
|
||||
Cook Islands,CK
|
||||
Costa Rica,CR
|
||||
Côte d'Ivoire,CI
|
||||
Croatia,HR
|
||||
Cuba,CU
|
||||
Curaçao,CW
|
||||
Cyprus,CY
|
||||
Czech Republic,CZ
|
||||
Denmark,DK
|
||||
Djibouti,DJ
|
||||
Dominica,DM
|
||||
Dominican Republic,DO
|
||||
Ecuador,EC
|
||||
Egypt,EG
|
||||
El Salvador,SV
|
||||
Equatorial Guinea,GQ
|
||||
Eritrea,ER
|
||||
Estonia,EE
|
||||
Ethiopia,ET
|
||||
Falkland Islands (Malvinas),FK
|
||||
Faroe Islands,FO
|
||||
Fiji,FJ
|
||||
Finland,FI
|
||||
France,FR
|
||||
French Guiana,GF
|
||||
French Polynesia,PF
|
||||
French Southern Territories,TF
|
||||
Gabon,GA
|
||||
Gambia,GM
|
||||
Georgia,GE
|
||||
Germany,DE
|
||||
Ghana,GH
|
||||
Gibraltar,GI
|
||||
Greece,GR
|
||||
Greenland,GL
|
||||
Grenada,GD
|
||||
Guadeloupe,GP
|
||||
Guam,GU
|
||||
Guatemala,GT
|
||||
Guernsey,GG
|
||||
Guinea,GN
|
||||
Guinea-Bissau,GW
|
||||
Guyana,GY
|
||||
Haiti,HT
|
||||
Heard Island and McDonald Islands,HM
|
||||
Holy See,VA
|
||||
Honduras,HN
|
||||
Hong Kong,HK
|
||||
Hungary,HU
|
||||
Iceland,IS
|
||||
India,IN
|
||||
Indonesia,ID
|
||||
Iran (Islamic Republic of),IR
|
||||
Iraq,IQ
|
||||
Ireland,IE
|
||||
Isle of Man,IM
|
||||
Israel,IL
|
||||
Italy,IT
|
||||
Jamaica,JM
|
||||
Japan,JP
|
||||
Jersey,JE
|
||||
Jordan,JO
|
||||
Kazakhstan,KZ
|
||||
Kenya,KE
|
||||
Kiribati,KI
|
||||
Korea (Democratic People's Republic of),KP
|
||||
Korea (Republic of),KR
|
||||
Kuwait,KW
|
||||
Kyrgyzstan,KG
|
||||
Lao People's Democratic Republic,LA
|
||||
Latvia,LV
|
||||
Lebanon,LB
|
||||
Lesotho,LS
|
||||
Liberia,LR
|
||||
Libya,LY
|
||||
Liechtenstein,LI
|
||||
Lithuania,LT
|
||||
Luxembourg,LU
|
||||
Macao,MO
|
||||
Macedonia (the former Yugoslav Republic of),MK
|
||||
Madagascar,MG
|
||||
Malawi,MW
|
||||
Malaysia,MY
|
||||
Maldives,MV
|
||||
Mali,ML
|
||||
Malta,MT
|
||||
Marshall Islands,MH
|
||||
Martinique,MQ
|
||||
Mauritania,MR
|
||||
Mauritius,MU
|
||||
Mayotte,YT
|
||||
Mexico,MX
|
||||
Micronesia (Federated States of),FM
|
||||
Moldova (Republic of),MD
|
||||
Monaco,MC
|
||||
Mongolia,MN
|
||||
Montenegro,ME
|
||||
Montserrat,MS
|
||||
Morocco,MA
|
||||
Mozambique,MZ
|
||||
Myanmar,MM
|
||||
Namibia,NA
|
||||
Nauru,NR
|
||||
Nepal,NP
|
||||
Netherlands,NL
|
||||
New Caledonia,NC
|
||||
New Zealand,NZ
|
||||
Nicaragua,NI
|
||||
Niger,NE
|
||||
Nigeria,NG
|
||||
Niue,NU
|
||||
Norfolk Island,NF
|
||||
Northern Mariana Islands,MP
|
||||
Norway,NO
|
||||
Oman,OM
|
||||
Pakistan,PK
|
||||
Palau,PW
|
||||
"Palestine, State of",PS
|
||||
Panama,PA
|
||||
Papua New Guinea,PG
|
||||
Paraguay,PY
|
||||
Peru,PE
|
||||
Philippines,PH
|
||||
Pitcairn,PN
|
||||
Poland,PL
|
||||
Portugal,PT
|
||||
Puerto Rico,PR
|
||||
Qatar,QA
|
||||
Réunion,RE
|
||||
Romania,RO
|
||||
Russian Federation,RU
|
||||
Rwanda,RW
|
||||
Saint Barthélemy,BL
|
||||
"Saint Helena, Ascension and Tristan da Cunha",SH
|
||||
Saint Kitts and Nevis,KN
|
||||
Saint Lucia,LC
|
||||
Saint Martin (French part),MF
|
||||
Saint Pierre and Miquelon,PM
|
||||
Saint Vincent and the Grenadines,VC
|
||||
Samoa,WS
|
||||
San Marino,SM
|
||||
Sao Tome and Principe,ST
|
||||
Saudi Arabia,SA
|
||||
Senegal,SN
|
||||
Serbia,RS
|
||||
Seychelles,SC
|
||||
Sierra Leone,SL
|
||||
Singapore,SG
|
||||
Sint Maarten (Dutch part),SX
|
||||
Slovakia,SK
|
||||
Slovenia,SI
|
||||
Solomon Islands,SB
|
||||
Somalia,SO
|
||||
South Africa,ZA
|
||||
South Georgia and the South Sandwich Islands,GS
|
||||
South Sudan,SS
|
||||
Spain,ES
|
||||
Sri Lanka,LK
|
||||
Sudan,SD
|
||||
Suriname,SR
|
||||
Svalbard and Jan Mayen,SJ
|
||||
Swaziland,SZ
|
||||
Sweden,SE
|
||||
Switzerland,CH
|
||||
Syrian Arab Republic,SY
|
||||
"Taiwan, Province of China",TW
|
||||
Tajikistan,TJ
|
||||
"Tanzania, United Republic of",TZ
|
||||
Thailand,TH
|
||||
Timor-Leste,TL
|
||||
Togo,TG
|
||||
Tokelau,TK
|
||||
Tonga,TO
|
||||
Trinidad and Tobago,TT
|
||||
Tunisia,TN
|
||||
Turkey,TR
|
||||
Turkmenistan,TM
|
||||
Turks and Caicos Islands,TC
|
||||
Tuvalu,TV
|
||||
Uganda,UG
|
||||
Ukraine,UA
|
||||
United Arab Emirates,AE
|
||||
United Kingdom of Great Britain and Northern Ireland,GB
|
||||
United States of America,US
|
||||
United States Minor Outlying Islands,UM
|
||||
Uruguay,UY
|
||||
Uzbekistan,UZ
|
||||
Vanuatu,VU
|
||||
Venezuela (Bolivarian Republic of),VE
|
||||
Viet Nam,VN
|
||||
Virgin Islands (British),VG
|
||||
Virgin Islands (U.S.),VI
|
||||
Wallis and Futuna,WF
|
||||
Western Sahara,EH
|
||||
Yemen,YE
|
||||
Zambia,ZM
|
||||
Zimbabwe,ZW
|
||||
|
BIN
env/bin/__pycache__/ipwhois_cli.cpython-37.pyc
vendored
Normal file
BIN
env/bin/__pycache__/ipwhois_cli.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/bin/__pycache__/ipwhois_utils_cli.cpython-37.pyc
vendored
Normal file
BIN
env/bin/__pycache__/ipwhois_utils_cli.cpython-37.pyc
vendored
Normal file
Binary file not shown.
78
env/bin/activate
vendored
Normal file
78
env/bin/activate
vendored
Normal file
@ -0,0 +1,78 @@
|
||||
# This file must be used with "source bin/activate" *from bash*
|
||||
# you cannot run it directly
|
||||
|
||||
deactivate () {
|
||||
unset -f pydoc >/dev/null 2>&1
|
||||
|
||||
# reset old environment variables
|
||||
# ! [ -z ${VAR+_} ] returns true if VAR is declared at all
|
||||
if ! [ -z "${_OLD_VIRTUAL_PATH+_}" ] ; then
|
||||
PATH="$_OLD_VIRTUAL_PATH"
|
||||
export PATH
|
||||
unset _OLD_VIRTUAL_PATH
|
||||
fi
|
||||
if ! [ -z "${_OLD_VIRTUAL_PYTHONHOME+_}" ] ; then
|
||||
PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME"
|
||||
export PYTHONHOME
|
||||
unset _OLD_VIRTUAL_PYTHONHOME
|
||||
fi
|
||||
|
||||
# This should detect bash and zsh, which have a hash command that must
|
||||
# be called to get it to forget past commands. Without forgetting
|
||||
# past commands the $PATH changes we made may not be respected
|
||||
if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
|
||||
hash -r 2>/dev/null
|
||||
fi
|
||||
|
||||
if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then
|
||||
PS1="$_OLD_VIRTUAL_PS1"
|
||||
export PS1
|
||||
unset _OLD_VIRTUAL_PS1
|
||||
fi
|
||||
|
||||
unset VIRTUAL_ENV
|
||||
if [ ! "${1-}" = "nondestructive" ] ; then
|
||||
# Self destruct!
|
||||
unset -f deactivate
|
||||
fi
|
||||
}
|
||||
|
||||
# unset irrelevant variables
|
||||
deactivate nondestructive
|
||||
|
||||
VIRTUAL_ENV="/home/ben/Documents/Projects/Python/PyGeoIP/env"
|
||||
export VIRTUAL_ENV
|
||||
|
||||
_OLD_VIRTUAL_PATH="$PATH"
|
||||
PATH="$VIRTUAL_ENV/bin:$PATH"
|
||||
export PATH
|
||||
|
||||
# unset PYTHONHOME if set
|
||||
if ! [ -z "${PYTHONHOME+_}" ] ; then
|
||||
_OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME"
|
||||
unset PYTHONHOME
|
||||
fi
|
||||
|
||||
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then
|
||||
_OLD_VIRTUAL_PS1="$PS1"
|
||||
if [ "x" != x ] ; then
|
||||
PS1="$PS1"
|
||||
else
|
||||
PS1="(`basename \"$VIRTUAL_ENV\"`) $PS1"
|
||||
fi
|
||||
export PS1
|
||||
fi
|
||||
|
||||
# Make sure to unalias pydoc if it's already there
|
||||
alias pydoc 2>/dev/null >/dev/null && unalias pydoc
|
||||
|
||||
pydoc () {
|
||||
python -m pydoc "$@"
|
||||
}
|
||||
|
||||
# This should detect bash and zsh, which have a hash command that must
|
||||
# be called to get it to forget past commands. Without forgetting
|
||||
# past commands the $PATH changes we made may not be respected
|
||||
if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
|
||||
hash -r 2>/dev/null
|
||||
fi
|
||||
36
env/bin/activate.csh
vendored
Normal file
36
env/bin/activate.csh
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
# This file must be used with "source bin/activate.csh" *from csh*.
|
||||
# You cannot run it directly.
|
||||
# Created by Davide Di Blasi <davidedb@gmail.com>.
|
||||
|
||||
alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate && unalias pydoc'
|
||||
|
||||
# Unset irrelevant variables.
|
||||
deactivate nondestructive
|
||||
|
||||
setenv VIRTUAL_ENV "/home/ben/Documents/Projects/Python/PyGeoIP/env"
|
||||
|
||||
set _OLD_VIRTUAL_PATH="$PATH"
|
||||
setenv PATH "$VIRTUAL_ENV/bin:$PATH"
|
||||
|
||||
|
||||
|
||||
if ("" != "") then
|
||||
set env_name = ""
|
||||
else
|
||||
set env_name = `basename "$VIRTUAL_ENV"`
|
||||
endif
|
||||
|
||||
# Could be in a non-interactive environment,
|
||||
# in which case, $prompt is undefined and we wouldn't
|
||||
# care about the prompt anyway.
|
||||
if ( $?prompt ) then
|
||||
set _OLD_VIRTUAL_PROMPT="$prompt"
|
||||
set prompt = "[$env_name] $prompt"
|
||||
endif
|
||||
|
||||
unset env_name
|
||||
|
||||
alias pydoc python -m pydoc
|
||||
|
||||
rehash
|
||||
|
||||
76
env/bin/activate.fish
vendored
Normal file
76
env/bin/activate.fish
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
# This file must be used using `. bin/activate.fish` *within a running fish ( http://fishshell.com ) session*.
|
||||
# Do not run it directly.
|
||||
|
||||
function deactivate -d 'Exit virtualenv mode and return to the normal environment.'
|
||||
# reset old environment variables
|
||||
if test -n "$_OLD_VIRTUAL_PATH"
|
||||
set -gx PATH $_OLD_VIRTUAL_PATH
|
||||
set -e _OLD_VIRTUAL_PATH
|
||||
end
|
||||
|
||||
if test -n "$_OLD_VIRTUAL_PYTHONHOME"
|
||||
set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
|
||||
set -e _OLD_VIRTUAL_PYTHONHOME
|
||||
end
|
||||
|
||||
if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
|
||||
# Set an empty local `$fish_function_path` to allow the removal of `fish_prompt` using `functions -e`.
|
||||
set -l fish_function_path
|
||||
|
||||
# Erase virtualenv's `fish_prompt` and restore the original.
|
||||
functions -e fish_prompt
|
||||
functions -c _old_fish_prompt fish_prompt
|
||||
functions -e _old_fish_prompt
|
||||
set -e _OLD_FISH_PROMPT_OVERRIDE
|
||||
end
|
||||
|
||||
set -e VIRTUAL_ENV
|
||||
|
||||
if test "$argv[1]" != 'nondestructive'
|
||||
# Self-destruct!
|
||||
functions -e pydoc
|
||||
functions -e deactivate
|
||||
end
|
||||
end
|
||||
|
||||
# Unset irrelevant variables.
|
||||
deactivate nondestructive
|
||||
|
||||
set -gx VIRTUAL_ENV "/home/ben/Documents/Projects/Python/PyGeoIP/env"
|
||||
|
||||
set -gx _OLD_VIRTUAL_PATH $PATH
|
||||
set -gx PATH "$VIRTUAL_ENV/bin" $PATH
|
||||
|
||||
# Unset `$PYTHONHOME` if set.
|
||||
if set -q PYTHONHOME
|
||||
set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
|
||||
set -e PYTHONHOME
|
||||
end
|
||||
|
||||
function pydoc
|
||||
python -m pydoc $argv
|
||||
end
|
||||
|
||||
if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
|
||||
# Copy the current `fish_prompt` function as `_old_fish_prompt`.
|
||||
functions -c fish_prompt _old_fish_prompt
|
||||
|
||||
function fish_prompt
|
||||
# Save the current $status, for fish_prompts that display it.
|
||||
set -l old_status $status
|
||||
|
||||
# Prompt override provided?
|
||||
# If not, just prepend the environment name.
|
||||
if test -n ""
|
||||
printf '%s%s' "" (set_color normal)
|
||||
else
|
||||
printf '%s(%s) ' (set_color normal) (basename "$VIRTUAL_ENV")
|
||||
end
|
||||
|
||||
# Restore the original $status
|
||||
echo "exit $old_status" | source
|
||||
_old_fish_prompt
|
||||
end
|
||||
|
||||
set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
|
||||
end
|
||||
34
env/bin/activate_this.py
vendored
Normal file
34
env/bin/activate_this.py
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
"""By using execfile(this_file, dict(__file__=this_file)) you will
|
||||
activate this virtualenv environment.
|
||||
|
||||
This can be used when you must use an existing Python interpreter, not
|
||||
the virtualenv bin/python
|
||||
"""
|
||||
|
||||
try:
|
||||
__file__
|
||||
except NameError:
|
||||
raise AssertionError(
|
||||
"You must run this like execfile('path/to/activate_this.py', dict(__file__='path/to/activate_this.py'))")
|
||||
import sys
|
||||
import os
|
||||
|
||||
old_os_path = os.environ.get('PATH', '')
|
||||
os.environ['PATH'] = os.path.dirname(os.path.abspath(__file__)) + os.pathsep + old_os_path
|
||||
base = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
if sys.platform == 'win32':
|
||||
site_packages = os.path.join(base, 'Lib', 'site-packages')
|
||||
else:
|
||||
site_packages = os.path.join(base, 'lib', 'python%s' % sys.version[:3], 'site-packages')
|
||||
prev_sys_path = list(sys.path)
|
||||
import site
|
||||
site.addsitedir(site_packages)
|
||||
sys.real_prefix = sys.prefix
|
||||
sys.prefix = base
|
||||
# Move the added items to the front of the path:
|
||||
new_sys_path = []
|
||||
for item in list(sys.path):
|
||||
if item not in prev_sys_path:
|
||||
new_sys_path.append(item)
|
||||
sys.path.remove(item)
|
||||
sys.path[:0] = new_sys_path
|
||||
11
env/bin/easy_install
vendored
Executable file
11
env/bin/easy_install
vendored
Executable file
@ -0,0 +1,11 @@
|
||||
#!/home/ben/Documents/Projects/Python/PyGeoIP/env/bin/python
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
|
||||
from setuptools.command.easy_install import main
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
11
env/bin/easy_install-3.7
vendored
Executable file
11
env/bin/easy_install-3.7
vendored
Executable file
@ -0,0 +1,11 @@
|
||||
#!/home/ben/Documents/Projects/Python/PyGeoIP/env/bin/python
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
|
||||
from setuptools.command.easy_install import main
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
1517
env/bin/ipwhois_cli.py
vendored
Normal file
1517
env/bin/ipwhois_cli.py
vendored
Normal file
File diff suppressed because it is too large
Load Diff
269
env/bin/ipwhois_utils_cli.py
vendored
Normal file
269
env/bin/ipwhois_utils_cli.py
vendored
Normal file
@ -0,0 +1,269 @@
|
||||
# Copyright (c) 2013-2017 Philip Hane
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
# CLI python script interface for ipwhois.utils lookups.
|
||||
|
||||
import argparse
|
||||
from collections import OrderedDict
|
||||
import json
|
||||
from ipwhois.utils import (ipv4_lstrip_zeros, calculate_cidr, get_countries,
|
||||
ipv4_is_defined, ipv6_is_defined, unique_everseen,
|
||||
unique_addresses)
|
||||
|
||||
# CLI ANSI rendering
|
||||
ANSI = {
|
||||
'end': '\033[0m',
|
||||
'b': '\033[1m',
|
||||
'ul': '\033[4m',
|
||||
'red': '\033[31m',
|
||||
'green': '\033[32m',
|
||||
'yellow': '\033[33m',
|
||||
'cyan': '\033[36m'
|
||||
}
|
||||
|
||||
# Setup the arg parser.
|
||||
parser = argparse.ArgumentParser(
|
||||
description='ipwhois utilities CLI interface'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--ipv4_lstrip_zeros',
|
||||
type=str,
|
||||
nargs=1,
|
||||
metavar='"IP ADDRESS"',
|
||||
help='Strip leading zeros in each octet of an IPv4 address.'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--calculate_cidr',
|
||||
type=str,
|
||||
nargs=2,
|
||||
metavar='"IP ADDRESS"',
|
||||
help='Calculate a CIDR range(s) from a start and end IP address.'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--get_countries',
|
||||
action='store_true',
|
||||
help='Output a dictionary containing ISO_3166-1 country codes to names.'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--get_country',
|
||||
type=str,
|
||||
nargs=1,
|
||||
metavar='"COUNTRY CODE"',
|
||||
help='Output the ISO_3166-1 name for a country code.'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--ipv4_is_defined',
|
||||
type=str,
|
||||
nargs=1,
|
||||
metavar='"IP ADDRESS"',
|
||||
help='Check if an IPv4 address is defined (in a reserved address range).'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--ipv6_is_defined',
|
||||
type=str,
|
||||
nargs=1,
|
||||
metavar='"IP ADDRESS"',
|
||||
help='Check if an IPv6 address is defined (in a reserved address range).'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--unique_everseen',
|
||||
type=json.loads,
|
||||
nargs=1,
|
||||
metavar='"ITERABLE"',
|
||||
help='List unique elements from input iterable, preserving the order.'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--unique_addresses',
|
||||
type=str,
|
||||
nargs=1,
|
||||
metavar='"FILE PATH"',
|
||||
help='Search an input file, extracting, counting, and summarizing '
|
||||
'IPv4/IPv6 addresses/networks.'
|
||||
)
|
||||
|
||||
# Output options
|
||||
group = parser.add_argument_group('Output options')
|
||||
group.add_argument(
|
||||
'--colorize',
|
||||
action='store_true',
|
||||
help='If set, colorizes the output using ANSI. Should work in most '
|
||||
'platform consoles.'
|
||||
)
|
||||
|
||||
# Get the args
|
||||
script_args = parser.parse_args()
|
||||
|
||||
if script_args.ipv4_lstrip_zeros:
|
||||
|
||||
print(ipv4_lstrip_zeros(address=script_args.ipv4_lstrip_zeros[0]))
|
||||
|
||||
elif script_args.calculate_cidr:
|
||||
|
||||
try:
|
||||
|
||||
result = calculate_cidr(
|
||||
start_address=script_args.calculate_cidr[0],
|
||||
end_address=script_args.calculate_cidr[1]
|
||||
)
|
||||
|
||||
print('{0}Found {1} CIDR blocks for ({2}, {3}){4}:\n{5}'.format(
|
||||
ANSI['green'] if script_args.colorize else '',
|
||||
len(result),
|
||||
script_args.calculate_cidr[0],
|
||||
script_args.calculate_cidr[1],
|
||||
ANSI['end'] if script_args.colorize else '',
|
||||
'\n'.join(result)
|
||||
))
|
||||
|
||||
except Exception as e:
|
||||
|
||||
print('{0}Error{1}: {2}'.format(ANSI['red'], ANSI['end'], str(e)))
|
||||
|
||||
elif script_args.get_countries:
|
||||
|
||||
try:
|
||||
|
||||
result = get_countries()
|
||||
|
||||
print('{0}Found {1} countries{2}:\n{3}'.format(
|
||||
ANSI['green'] if script_args.colorize else '',
|
||||
len(result),
|
||||
ANSI['end'] if script_args.colorize else '',
|
||||
'\n'.join(['{0}: {1}'.format(k, v) for k, v in (
|
||||
OrderedDict(sorted(result.items())).iteritems())])
|
||||
))
|
||||
|
||||
except Exception as e:
|
||||
|
||||
print('{0}Error{1}: {2}'.format(ANSI['red'], ANSI['end'], str(e)))
|
||||
|
||||
elif script_args.get_country:
|
||||
|
||||
try:
|
||||
|
||||
countries = get_countries()
|
||||
result = countries[script_args.get_country[0].upper()]
|
||||
|
||||
print('{0}Match found for country code ({1}){2}:\n{3}'.format(
|
||||
ANSI['green'] if script_args.colorize else '',
|
||||
script_args.get_country[0],
|
||||
ANSI['end'] if script_args.colorize else '',
|
||||
result
|
||||
))
|
||||
|
||||
except Exception as e:
|
||||
|
||||
print('{0}Error{1}: {2}'.format(ANSI['red'], ANSI['end'], str(e)))
|
||||
|
||||
elif script_args.ipv4_is_defined:
|
||||
|
||||
try:
|
||||
|
||||
result = ipv4_is_defined(address=script_args.ipv4_is_defined[0])
|
||||
|
||||
if result[0]:
|
||||
print('{0}{1} is defined{2}:\n{3}'.format(
|
||||
ANSI['green'] if script_args.colorize else '',
|
||||
script_args.ipv4_is_defined[0],
|
||||
ANSI['end'] if script_args.colorize else '',
|
||||
'Name: {0}\nRFC: {1}'.format(result[1], result[2])
|
||||
))
|
||||
else:
|
||||
print('{0}{1} is not defined{2}'.format(
|
||||
ANSI['yellow'] if script_args.colorize else '',
|
||||
script_args.ipv4_is_defined[0],
|
||||
ANSI['end'] if script_args.colorize else ''
|
||||
))
|
||||
|
||||
except Exception as e:
|
||||
|
||||
print('{0}Error{1}: {2}'.format(ANSI['red'], ANSI['end'], str(e)))
|
||||
|
||||
elif script_args.ipv6_is_defined:
|
||||
|
||||
try:
|
||||
|
||||
result = ipv6_is_defined(address=script_args.ipv6_is_defined[0])
|
||||
|
||||
if result[0]:
|
||||
print('{0}{1} is defined{2}:\n{3}'.format(
|
||||
ANSI['green'] if script_args.colorize else '',
|
||||
script_args.ipv6_is_defined[0],
|
||||
ANSI['end'] if script_args.colorize else '',
|
||||
'Name: {0}\nRFC: {1}'.format(result[1], result[2])
|
||||
))
|
||||
else:
|
||||
print('{0}{1} is not defined{2}'.format(
|
||||
ANSI['yellow'] if script_args.colorize else '',
|
||||
script_args.ipv6_is_defined[0],
|
||||
ANSI['end'] if script_args.colorize else ''
|
||||
))
|
||||
|
||||
except Exception as e:
|
||||
|
||||
print('{0}Error{1}: {2}'.format(ANSI['red'], ANSI['end'], str(e)))
|
||||
|
||||
elif script_args.unique_everseen:
|
||||
|
||||
try:
|
||||
|
||||
result = list(unique_everseen(iterable=script_args.unique_everseen[0]))
|
||||
|
||||
print('{0}Unique everseen{1}:\n{2}'.format(
|
||||
ANSI['green'] if script_args.colorize else '',
|
||||
ANSI['end'] if script_args.colorize else '',
|
||||
result
|
||||
))
|
||||
|
||||
except Exception as e:
|
||||
|
||||
print('{0}Error{1}: {2}'.format(ANSI['red'], ANSI['end'], str(e)))
|
||||
|
||||
elif script_args.unique_addresses:
|
||||
|
||||
try:
|
||||
|
||||
result = unique_addresses(file_path=script_args.unique_addresses[0])
|
||||
|
||||
tmp = []
|
||||
for k, v in sorted(result.items(), key=lambda kv: int(kv[1]['count']),
|
||||
reverse=True):
|
||||
tmp.append('{0}{1}{2}: Count: {3}, Ports: {4}'.format(
|
||||
ANSI['b'] if script_args.colorize else '',
|
||||
k,
|
||||
ANSI['end'] if script_args.colorize else '',
|
||||
v['count'],
|
||||
json.dumps(v['ports'])
|
||||
))
|
||||
|
||||
print('{0}Found {1} unique addresses{2}:\n{3}'.format(
|
||||
ANSI['green'] if script_args.colorize else '',
|
||||
len(result),
|
||||
ANSI['end'] if script_args.colorize else '',
|
||||
'\n'.join(tmp)
|
||||
))
|
||||
|
||||
except Exception as e:
|
||||
|
||||
print('{0}Error{1}: {2}'.format(ANSI['red'], ANSI['end'], str(e)))
|
||||
11
env/bin/pip
vendored
Executable file
11
env/bin/pip
vendored
Executable file
@ -0,0 +1,11 @@
|
||||
#!/home/ben/Documents/Projects/Python/PyGeoIP/env/bin/python
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
|
||||
from pip._internal import main
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
11
env/bin/pip3
vendored
Executable file
11
env/bin/pip3
vendored
Executable file
@ -0,0 +1,11 @@
|
||||
#!/home/ben/Documents/Projects/Python/PyGeoIP/env/bin/python
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
|
||||
from pip._internal import main
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
11
env/bin/pip3.7
vendored
Executable file
11
env/bin/pip3.7
vendored
Executable file
@ -0,0 +1,11 @@
|
||||
#!/home/ben/Documents/Projects/Python/PyGeoIP/env/bin/python
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
|
||||
from pip._internal import main
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
BIN
env/bin/python
vendored
Executable file
BIN
env/bin/python
vendored
Executable file
Binary file not shown.
78
env/bin/python-config
vendored
Executable file
78
env/bin/python-config
vendored
Executable file
@ -0,0 +1,78 @@
|
||||
#!/home/ben/Documents/Projects/Python/PyGeoIP/env/bin/python
|
||||
|
||||
import sys
|
||||
import getopt
|
||||
import sysconfig
|
||||
|
||||
valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
|
||||
'ldflags', 'help']
|
||||
|
||||
if sys.version_info >= (3, 2):
|
||||
valid_opts.insert(-1, 'extension-suffix')
|
||||
valid_opts.append('abiflags')
|
||||
if sys.version_info >= (3, 3):
|
||||
valid_opts.append('configdir')
|
||||
|
||||
|
||||
def exit_with_usage(code=1):
|
||||
sys.stderr.write("Usage: {0} [{1}]\n".format(
|
||||
sys.argv[0], '|'.join('--'+opt for opt in valid_opts)))
|
||||
sys.exit(code)
|
||||
|
||||
try:
|
||||
opts, args = getopt.getopt(sys.argv[1:], '', valid_opts)
|
||||
except getopt.error:
|
||||
exit_with_usage()
|
||||
|
||||
if not opts:
|
||||
exit_with_usage()
|
||||
|
||||
pyver = sysconfig.get_config_var('VERSION')
|
||||
getvar = sysconfig.get_config_var
|
||||
|
||||
opt_flags = [flag for (flag, val) in opts]
|
||||
|
||||
if '--help' in opt_flags:
|
||||
exit_with_usage(code=0)
|
||||
|
||||
for opt in opt_flags:
|
||||
if opt == '--prefix':
|
||||
print(sysconfig.get_config_var('prefix'))
|
||||
|
||||
elif opt == '--exec-prefix':
|
||||
print(sysconfig.get_config_var('exec_prefix'))
|
||||
|
||||
elif opt in ('--includes', '--cflags'):
|
||||
flags = ['-I' + sysconfig.get_path('include'),
|
||||
'-I' + sysconfig.get_path('platinclude')]
|
||||
if opt == '--cflags':
|
||||
flags.extend(getvar('CFLAGS').split())
|
||||
print(' '.join(flags))
|
||||
|
||||
elif opt in ('--libs', '--ldflags'):
|
||||
abiflags = getattr(sys, 'abiflags', '')
|
||||
libs = ['-lpython' + pyver + abiflags]
|
||||
libs += getvar('LIBS').split()
|
||||
libs += getvar('SYSLIBS').split()
|
||||
# add the prefix/lib/pythonX.Y/config dir, but only if there is no
|
||||
# shared library in prefix/lib/.
|
||||
if opt == '--ldflags':
|
||||
if not getvar('Py_ENABLE_SHARED'):
|
||||
libs.insert(0, '-L' + getvar('LIBPL'))
|
||||
if not getvar('PYTHONFRAMEWORK'):
|
||||
libs.extend(getvar('LINKFORSHARED').split())
|
||||
print(' '.join(libs))
|
||||
|
||||
elif opt == '--extension-suffix':
|
||||
ext_suffix = sysconfig.get_config_var('EXT_SUFFIX')
|
||||
if ext_suffix is None:
|
||||
ext_suffix = sysconfig.get_config_var('SO')
|
||||
print(ext_suffix)
|
||||
|
||||
elif opt == '--abiflags':
|
||||
if not getattr(sys, 'abiflags', None):
|
||||
exit_with_usage()
|
||||
print(sys.abiflags)
|
||||
|
||||
elif opt == '--configdir':
|
||||
print(sysconfig.get_config_var('LIBPL'))
|
||||
1
env/bin/python3
vendored
Symbolic link
1
env/bin/python3
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
python
|
||||
1
env/bin/python3.7
vendored
Symbolic link
1
env/bin/python3.7
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
python
|
||||
11
env/bin/wheel
vendored
Executable file
11
env/bin/wheel
vendored
Executable file
@ -0,0 +1,11 @@
|
||||
#!/home/ben/Documents/Projects/Python/PyGeoIP/env/bin/python
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
|
||||
from wheel.cli import main
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
1
env/include/python3.7m
vendored
Symbolic link
1
env/include/python3.7m
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/include/python3.7m
|
||||
1
env/lib/python3.7/__future__.py
vendored
Symbolic link
1
env/lib/python3.7/__future__.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/__future__.py
|
||||
BIN
env/lib/python3.7/__pycache__/__future__.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/__future__.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/_bootlocale.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/_bootlocale.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/_collections_abc.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/_collections_abc.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/_weakrefset.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/_weakrefset.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/abc.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/abc.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/base64.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/base64.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/bisect.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/bisect.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/codecs.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/codecs.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/copy.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/copy.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/copyreg.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/copyreg.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/enum.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/enum.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/fnmatch.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/fnmatch.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/functools.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/functools.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/genericpath.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/genericpath.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/hashlib.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/hashlib.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/heapq.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/heapq.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/hmac.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/hmac.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/imp.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/imp.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/io.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/io.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/keyword.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/keyword.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/linecache.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/linecache.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/locale.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/locale.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/operator.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/operator.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/os.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/os.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/posixpath.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/posixpath.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/random.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/random.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/re.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/re.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/reprlib.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/reprlib.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/shutil.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/shutil.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/site.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/site.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/sre_compile.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/sre_compile.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/sre_constants.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/sre_constants.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/sre_parse.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/sre_parse.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/stat.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/stat.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/struct.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/struct.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/tarfile.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/tarfile.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/tempfile.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/tempfile.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/token.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/token.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/tokenize.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/tokenize.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/types.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/types.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/warnings.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/warnings.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/weakref.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/__pycache__/weakref.cpython-37.pyc
vendored
Normal file
Binary file not shown.
1
env/lib/python3.7/_bootlocale.py
vendored
Symbolic link
1
env/lib/python3.7/_bootlocale.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/_bootlocale.py
|
||||
1
env/lib/python3.7/_collections_abc.py
vendored
Symbolic link
1
env/lib/python3.7/_collections_abc.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/_collections_abc.py
|
||||
1
env/lib/python3.7/_dummy_thread.py
vendored
Symbolic link
1
env/lib/python3.7/_dummy_thread.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/_dummy_thread.py
|
||||
1
env/lib/python3.7/_weakrefset.py
vendored
Symbolic link
1
env/lib/python3.7/_weakrefset.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/_weakrefset.py
|
||||
1
env/lib/python3.7/abc.py
vendored
Symbolic link
1
env/lib/python3.7/abc.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/abc.py
|
||||
1
env/lib/python3.7/base64.py
vendored
Symbolic link
1
env/lib/python3.7/base64.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/base64.py
|
||||
1
env/lib/python3.7/bisect.py
vendored
Symbolic link
1
env/lib/python3.7/bisect.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/bisect.py
|
||||
1
env/lib/python3.7/codecs.py
vendored
Symbolic link
1
env/lib/python3.7/codecs.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/codecs.py
|
||||
1
env/lib/python3.7/collections
vendored
Symbolic link
1
env/lib/python3.7/collections
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/collections
|
||||
1
env/lib/python3.7/config-3.7m-x86_64-linux-gnu
vendored
Symbolic link
1
env/lib/python3.7/config-3.7m-x86_64-linux-gnu
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu
|
||||
1
env/lib/python3.7/copy.py
vendored
Symbolic link
1
env/lib/python3.7/copy.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/copy.py
|
||||
1
env/lib/python3.7/copyreg.py
vendored
Symbolic link
1
env/lib/python3.7/copyreg.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/copyreg.py
|
||||
101
env/lib/python3.7/distutils/__init__.py
vendored
Normal file
101
env/lib/python3.7/distutils/__init__.py
vendored
Normal file
@ -0,0 +1,101 @@
|
||||
import os
|
||||
import sys
|
||||
import warnings
|
||||
import imp
|
||||
import opcode # opcode is not a virtualenv module, so we can use it to find the stdlib
|
||||
# Important! To work on pypy, this must be a module that resides in the
|
||||
# lib-python/modified-x.y.z directory
|
||||
|
||||
dirname = os.path.dirname
|
||||
|
||||
distutils_path = os.path.join(os.path.dirname(opcode.__file__), 'distutils')
|
||||
if os.path.normpath(distutils_path) == os.path.dirname(os.path.normpath(__file__)):
|
||||
warnings.warn(
|
||||
"The virtualenv distutils package at %s appears to be in the same location as the system distutils?")
|
||||
else:
|
||||
__path__.insert(0, distutils_path)
|
||||
real_distutils = imp.load_module("_virtualenv_distutils", None, distutils_path, ('', '', imp.PKG_DIRECTORY))
|
||||
# Copy the relevant attributes
|
||||
try:
|
||||
__revision__ = real_distutils.__revision__
|
||||
except AttributeError:
|
||||
pass
|
||||
__version__ = real_distutils.__version__
|
||||
|
||||
from distutils import dist, sysconfig
|
||||
|
||||
try:
|
||||
basestring
|
||||
except NameError:
|
||||
basestring = str
|
||||
|
||||
## patch build_ext (distutils doesn't know how to get the libs directory
|
||||
## path on windows - it hardcodes the paths around the patched sys.prefix)
|
||||
|
||||
if sys.platform == 'win32':
|
||||
from distutils.command.build_ext import build_ext as old_build_ext
|
||||
class build_ext(old_build_ext):
|
||||
def finalize_options (self):
|
||||
if self.library_dirs is None:
|
||||
self.library_dirs = []
|
||||
elif isinstance(self.library_dirs, basestring):
|
||||
self.library_dirs = self.library_dirs.split(os.pathsep)
|
||||
|
||||
self.library_dirs.insert(0, os.path.join(sys.real_prefix, "Libs"))
|
||||
old_build_ext.finalize_options(self)
|
||||
|
||||
from distutils.command import build_ext as build_ext_module
|
||||
build_ext_module.build_ext = build_ext
|
||||
|
||||
## distutils.dist patches:
|
||||
|
||||
old_find_config_files = dist.Distribution.find_config_files
|
||||
def find_config_files(self):
|
||||
found = old_find_config_files(self)
|
||||
system_distutils = os.path.join(distutils_path, 'distutils.cfg')
|
||||
#if os.path.exists(system_distutils):
|
||||
# found.insert(0, system_distutils)
|
||||
# What to call the per-user config file
|
||||
if os.name == 'posix':
|
||||
user_filename = ".pydistutils.cfg"
|
||||
else:
|
||||
user_filename = "pydistutils.cfg"
|
||||
user_filename = os.path.join(sys.prefix, user_filename)
|
||||
if os.path.isfile(user_filename):
|
||||
for item in list(found):
|
||||
if item.endswith('pydistutils.cfg'):
|
||||
found.remove(item)
|
||||
found.append(user_filename)
|
||||
return found
|
||||
dist.Distribution.find_config_files = find_config_files
|
||||
|
||||
## distutils.sysconfig patches:
|
||||
|
||||
old_get_python_inc = sysconfig.get_python_inc
|
||||
def sysconfig_get_python_inc(plat_specific=0, prefix=None):
|
||||
if prefix is None:
|
||||
prefix = sys.real_prefix
|
||||
return old_get_python_inc(plat_specific, prefix)
|
||||
sysconfig_get_python_inc.__doc__ = old_get_python_inc.__doc__
|
||||
sysconfig.get_python_inc = sysconfig_get_python_inc
|
||||
|
||||
old_get_python_lib = sysconfig.get_python_lib
|
||||
def sysconfig_get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
|
||||
if standard_lib and prefix is None:
|
||||
prefix = sys.real_prefix
|
||||
return old_get_python_lib(plat_specific, standard_lib, prefix)
|
||||
sysconfig_get_python_lib.__doc__ = old_get_python_lib.__doc__
|
||||
sysconfig.get_python_lib = sysconfig_get_python_lib
|
||||
|
||||
old_get_config_vars = sysconfig.get_config_vars
|
||||
def sysconfig_get_config_vars(*args):
|
||||
real_vars = old_get_config_vars(*args)
|
||||
if sys.platform == 'win32':
|
||||
lib_dir = os.path.join(sys.real_prefix, "libs")
|
||||
if isinstance(real_vars, dict) and 'LIBDIR' not in real_vars:
|
||||
real_vars['LIBDIR'] = lib_dir # asked for all
|
||||
elif isinstance(real_vars, list) and 'LIBDIR' in args:
|
||||
real_vars = real_vars + [lib_dir] # asked for list
|
||||
return real_vars
|
||||
sysconfig_get_config_vars.__doc__ = old_get_config_vars.__doc__
|
||||
sysconfig.get_config_vars = sysconfig_get_config_vars
|
||||
BIN
env/lib/python3.7/distutils/__pycache__/__init__.cpython-37.pyc
vendored
Normal file
BIN
env/lib/python3.7/distutils/__pycache__/__init__.cpython-37.pyc
vendored
Normal file
Binary file not shown.
6
env/lib/python3.7/distutils/distutils.cfg
vendored
Normal file
6
env/lib/python3.7/distutils/distutils.cfg
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
# This is a config file local to this virtualenv installation
|
||||
# You may include options that will be used by all distutils commands,
|
||||
# and by easy_install. For instance:
|
||||
#
|
||||
# [easy_install]
|
||||
# find_links = http://mylocalsite
|
||||
1
env/lib/python3.7/encodings
vendored
Symbolic link
1
env/lib/python3.7/encodings
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/encodings
|
||||
1
env/lib/python3.7/enum.py
vendored
Symbolic link
1
env/lib/python3.7/enum.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/enum.py
|
||||
1
env/lib/python3.7/fnmatch.py
vendored
Symbolic link
1
env/lib/python3.7/fnmatch.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/fnmatch.py
|
||||
1
env/lib/python3.7/functools.py
vendored
Symbolic link
1
env/lib/python3.7/functools.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/functools.py
|
||||
1
env/lib/python3.7/genericpath.py
vendored
Symbolic link
1
env/lib/python3.7/genericpath.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/genericpath.py
|
||||
1
env/lib/python3.7/hashlib.py
vendored
Symbolic link
1
env/lib/python3.7/hashlib.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/hashlib.py
|
||||
1
env/lib/python3.7/heapq.py
vendored
Symbolic link
1
env/lib/python3.7/heapq.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/heapq.py
|
||||
1
env/lib/python3.7/hmac.py
vendored
Symbolic link
1
env/lib/python3.7/hmac.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/hmac.py
|
||||
1
env/lib/python3.7/imp.py
vendored
Symbolic link
1
env/lib/python3.7/imp.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/imp.py
|
||||
1
env/lib/python3.7/importlib
vendored
Symbolic link
1
env/lib/python3.7/importlib
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/importlib
|
||||
1
env/lib/python3.7/io.py
vendored
Symbolic link
1
env/lib/python3.7/io.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/io.py
|
||||
1
env/lib/python3.7/keyword.py
vendored
Symbolic link
1
env/lib/python3.7/keyword.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/keyword.py
|
||||
1
env/lib/python3.7/lib-dynload
vendored
Symbolic link
1
env/lib/python3.7/lib-dynload
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/lib-dynload
|
||||
1
env/lib/python3.7/linecache.py
vendored
Symbolic link
1
env/lib/python3.7/linecache.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/linecache.py
|
||||
1
env/lib/python3.7/locale.py
vendored
Symbolic link
1
env/lib/python3.7/locale.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/locale.py
|
||||
0
env/lib/python3.7/no-global-site-packages.txt
vendored
Normal file
0
env/lib/python3.7/no-global-site-packages.txt
vendored
Normal file
1
env/lib/python3.7/ntpath.py
vendored
Symbolic link
1
env/lib/python3.7/ntpath.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/ntpath.py
|
||||
1
env/lib/python3.7/operator.py
vendored
Symbolic link
1
env/lib/python3.7/operator.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/operator.py
|
||||
1
env/lib/python3.7/orig-prefix.txt
vendored
Normal file
1
env/lib/python3.7/orig-prefix.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
/usr
|
||||
1
env/lib/python3.7/os.py
vendored
Symbolic link
1
env/lib/python3.7/os.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/os.py
|
||||
1
env/lib/python3.7/posixpath.py
vendored
Symbolic link
1
env/lib/python3.7/posixpath.py
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/python3.7/posixpath.py
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user