removing env folder
This commit is contained in:
parent
2106592146
commit
ab7526c542
BIN
env/bin/__pycache__/ipwhois_cli.cpython-37.pyc
vendored
BIN
env/bin/__pycache__/ipwhois_cli.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/bin/__pycache__/ipwhois_utils_cli.cpython-37.pyc
vendored
BIN
env/bin/__pycache__/ipwhois_utils_cli.cpython-37.pyc
vendored
Binary file not shown.
78
env/bin/activate
vendored
78
env/bin/activate
vendored
@ -1,78 +0,0 @@
|
||||
# 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
|
||||
42
env/bin/activate.csh
vendored
42
env/bin/activate.csh
vendored
@ -1,42 +0,0 @@
|
||||
# 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>.
|
||||
|
||||
set newline='\
|
||||
'
|
||||
|
||||
alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH:q" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT:q" && 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:q"
|
||||
setenv PATH "$VIRTUAL_ENV:q/bin:$PATH:q"
|
||||
|
||||
|
||||
|
||||
if ("" != "") then
|
||||
set env_name = ""
|
||||
else
|
||||
set env_name = "$VIRTUAL_ENV:t:q"
|
||||
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:q"
|
||||
if ( "$prompt:q" =~ *"$newline:q"* ) then
|
||||
:
|
||||
else
|
||||
set prompt = "[$env_name:q] $prompt:q"
|
||||
endif
|
||||
endif
|
||||
|
||||
unset env_name
|
||||
|
||||
alias pydoc python -m pydoc
|
||||
|
||||
rehash
|
||||
76
env/bin/activate.fish
vendored
76
env/bin/activate.fish
vendored
@ -1,76 +0,0 @@
|
||||
# This file must be used using `source 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
|
||||
36
env/bin/activate_this.py
vendored
36
env/bin/activate_this.py
vendored
@ -1,36 +0,0 @@
|
||||
"""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 os
|
||||
import site
|
||||
import sys
|
||||
|
||||
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)
|
||||
|
||||
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
11
env/bin/easy_install
vendored
@ -1,11 +0,0 @@
|
||||
#!/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
11
env/bin/easy_install-3.7
vendored
@ -1,11 +0,0 @@
|
||||
#!/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())
|
||||
1515
env/bin/ipwhois_cli.py
vendored
1515
env/bin/ipwhois_cli.py
vendored
File diff suppressed because it is too large
Load Diff
269
env/bin/ipwhois_utils_cli.py
vendored
269
env/bin/ipwhois_utils_cli.py
vendored
@ -1,269 +0,0 @@
|
||||
# Copyright (c) 2013-2019 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
11
env/bin/pip
vendored
@ -1,11 +0,0 @@
|
||||
#!/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
11
env/bin/pip3
vendored
@ -1,11 +0,0 @@
|
||||
#!/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
11
env/bin/pip3.7
vendored
@ -1,11 +0,0 @@
|
||||
#!/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
BIN
env/bin/python
vendored
Binary file not shown.
78
env/bin/python-config
vendored
78
env/bin/python-config
vendored
@ -1,78 +0,0 @@
|
||||
#!/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
1
env/bin/python3
vendored
@ -1 +0,0 @@
|
||||
python
|
||||
1
env/bin/python3.7
vendored
1
env/bin/python3.7
vendored
@ -1 +0,0 @@
|
||||
python
|
||||
11
env/bin/wheel
vendored
11
env/bin/wheel
vendored
@ -1,11 +0,0 @@
|
||||
#!/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
1
env/include/python3.7m
vendored
@ -1 +0,0 @@
|
||||
/usr/include/python3.7m
|
||||
1
env/lib/python3.7/__future__.py
vendored
1
env/lib/python3.7/__future__.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/__future__.py
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/abc.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/abc.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/base64.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/base64.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/bisect.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/bisect.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/codecs.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/codecs.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/copy.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/copy.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/copyreg.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/copyreg.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/enum.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/enum.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/fnmatch.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/fnmatch.cpython-37.pyc
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/hashlib.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/hashlib.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/heapq.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/heapq.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/hmac.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/hmac.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/imp.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/imp.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/io.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/io.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/keyword.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/keyword.cpython-37.pyc
vendored
Binary file not shown.
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/locale.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/locale.cpython-37.pyc
vendored
Binary file not shown.
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/os.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/os.cpython-37.pyc
vendored
Binary file not shown.
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/random.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/random.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/re.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/re.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/reprlib.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/reprlib.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/shutil.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/shutil.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/site.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/site.cpython-37.pyc
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/stat.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/stat.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/struct.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/struct.cpython-37.pyc
vendored
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/tarfile.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/tarfile.cpython-37.pyc
vendored
Binary file not shown.
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/token.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/token.cpython-37.pyc
vendored
Binary file not shown.
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/types.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/types.cpython-37.pyc
vendored
Binary file not shown.
Binary file not shown.
BIN
env/lib/python3.7/__pycache__/weakref.cpython-37.pyc
vendored
BIN
env/lib/python3.7/__pycache__/weakref.cpython-37.pyc
vendored
Binary file not shown.
1
env/lib/python3.7/_bootlocale.py
vendored
1
env/lib/python3.7/_bootlocale.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/_bootlocale.py
|
||||
1
env/lib/python3.7/_collections_abc.py
vendored
1
env/lib/python3.7/_collections_abc.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/_collections_abc.py
|
||||
1
env/lib/python3.7/_dummy_thread.py
vendored
1
env/lib/python3.7/_dummy_thread.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/_dummy_thread.py
|
||||
1
env/lib/python3.7/_weakrefset.py
vendored
1
env/lib/python3.7/_weakrefset.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/_weakrefset.py
|
||||
1
env/lib/python3.7/abc.py
vendored
1
env/lib/python3.7/abc.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/abc.py
|
||||
1
env/lib/python3.7/base64.py
vendored
1
env/lib/python3.7/base64.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/base64.py
|
||||
1
env/lib/python3.7/bisect.py
vendored
1
env/lib/python3.7/bisect.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/bisect.py
|
||||
1
env/lib/python3.7/codecs.py
vendored
1
env/lib/python3.7/codecs.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/codecs.py
|
||||
1
env/lib/python3.7/collections
vendored
1
env/lib/python3.7/collections
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/collections
|
||||
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu
|
||||
1
env/lib/python3.7/copy.py
vendored
1
env/lib/python3.7/copy.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/copy.py
|
||||
1
env/lib/python3.7/copyreg.py
vendored
1
env/lib/python3.7/copyreg.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/copyreg.py
|
||||
116
env/lib/python3.7/distutils/__init__.py
vendored
116
env/lib/python3.7/distutils/__init__.py
vendored
@ -1,116 +0,0 @@
|
||||
import imp
|
||||
import os
|
||||
import sys
|
||||
import warnings
|
||||
|
||||
# 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
|
||||
import opcode
|
||||
|
||||
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) # noqa: F821
|
||||
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 # isort:skip
|
||||
|
||||
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)
|
||||
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
|
||||
Binary file not shown.
6
env/lib/python3.7/distutils/distutils.cfg
vendored
6
env/lib/python3.7/distutils/distutils.cfg
vendored
@ -1,6 +0,0 @@
|
||||
# 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
1
env/lib/python3.7/encodings
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/encodings
|
||||
1
env/lib/python3.7/enum.py
vendored
1
env/lib/python3.7/enum.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/enum.py
|
||||
1
env/lib/python3.7/fnmatch.py
vendored
1
env/lib/python3.7/fnmatch.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/fnmatch.py
|
||||
1
env/lib/python3.7/functools.py
vendored
1
env/lib/python3.7/functools.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/functools.py
|
||||
1
env/lib/python3.7/genericpath.py
vendored
1
env/lib/python3.7/genericpath.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/genericpath.py
|
||||
1
env/lib/python3.7/hashlib.py
vendored
1
env/lib/python3.7/hashlib.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/hashlib.py
|
||||
1
env/lib/python3.7/heapq.py
vendored
1
env/lib/python3.7/heapq.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/heapq.py
|
||||
1
env/lib/python3.7/hmac.py
vendored
1
env/lib/python3.7/hmac.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/hmac.py
|
||||
1
env/lib/python3.7/imp.py
vendored
1
env/lib/python3.7/imp.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/imp.py
|
||||
1
env/lib/python3.7/importlib
vendored
1
env/lib/python3.7/importlib
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/importlib
|
||||
1
env/lib/python3.7/io.py
vendored
1
env/lib/python3.7/io.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/io.py
|
||||
1
env/lib/python3.7/keyword.py
vendored
1
env/lib/python3.7/keyword.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/keyword.py
|
||||
1
env/lib/python3.7/lib-dynload
vendored
1
env/lib/python3.7/lib-dynload
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/lib-dynload
|
||||
1
env/lib/python3.7/linecache.py
vendored
1
env/lib/python3.7/linecache.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/linecache.py
|
||||
1
env/lib/python3.7/locale.py
vendored
1
env/lib/python3.7/locale.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/locale.py
|
||||
1
env/lib/python3.7/ntpath.py
vendored
1
env/lib/python3.7/ntpath.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/ntpath.py
|
||||
1
env/lib/python3.7/operator.py
vendored
1
env/lib/python3.7/operator.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/operator.py
|
||||
1
env/lib/python3.7/orig-prefix.txt
vendored
1
env/lib/python3.7/orig-prefix.txt
vendored
@ -1 +0,0 @@
|
||||
/usr
|
||||
1
env/lib/python3.7/os.py
vendored
1
env/lib/python3.7/os.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/os.py
|
||||
1
env/lib/python3.7/posixpath.py
vendored
1
env/lib/python3.7/posixpath.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/posixpath.py
|
||||
1
env/lib/python3.7/random.py
vendored
1
env/lib/python3.7/random.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/random.py
|
||||
1
env/lib/python3.7/re.py
vendored
1
env/lib/python3.7/re.py
vendored
@ -1 +0,0 @@
|
||||
/usr/lib/python3.7/re.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