update
This commit is contained in:
parent
96c453607f
commit
9c97bb9acb
7 changed files with 42 additions and 119 deletions
|
@ -224,51 +224,6 @@ def vwritefinale(oargs, lNOT_IN_RELAYS_DB) -> None:
|
|||
LOG.info(f"For info on relays, try: https://onionoo.torproject.org/details")
|
||||
# https://onionoo.torproject.org/details
|
||||
|
||||
def alt_vsetup_logging(theLOG, log_level, logfile='', stream=sys.stderr) -> None:
|
||||
global LOG
|
||||
LOG = theLOG
|
||||
add = True
|
||||
|
||||
logging._defaultFormatter = logging.Formatter(datefmt='%m-%d %H:%M:%S')
|
||||
logging._defaultFormatter.default_time_format = '%m-%d %H:%M:%S'
|
||||
logging._defaultFormatter.default_msec_format = ''
|
||||
|
||||
if logfile:
|
||||
add = logfile.startswith('+')
|
||||
sub = logfile.startswith('-')
|
||||
if add or sub:
|
||||
logfile = logfile[1:]
|
||||
kwargs['filename'] = logfile
|
||||
|
||||
if coloredlogs:
|
||||
coloredlogs.DEFAULT_LEVEL_STYLES['info']=dict(color='white',bold=True)
|
||||
coloredlogs.DEFAULT_LEVEL_STYLES['debug']=dict(color='cyan')
|
||||
coloredlogs.DEFAULT_LEVEL_STYLES['warn']=dict(color='yellow',bold=True)
|
||||
coloredlogs.DEFAULT_LEVEL_STYLES['error']=dict(color='red',bold=True)
|
||||
coloredlogs.DEFAULT_FIELD_STYLES['levelname=']=dict(color='green', bold=True),
|
||||
# https://pypi.org/project/coloredlogs/
|
||||
aKw = dict(level=log_level,
|
||||
logger=LOG,
|
||||
stream=stream,
|
||||
fmt='%(levelname)s %(message)s',
|
||||
isatty=True,
|
||||
milliseconds=False,
|
||||
)
|
||||
coloredlogs.install(**aKw)
|
||||
if logfile:
|
||||
oHandler = logging.FileHandler(logfile)
|
||||
LOG.addHandler(oHandler)
|
||||
LOG.info(f"Setting coloured log_level to {log_level} {stream}")
|
||||
else:
|
||||
kwargs = dict(level=log_level,
|
||||
force=True,
|
||||
format='%(levelname)s %(message)s')
|
||||
logging.basicConfig(**kwargs)
|
||||
if add and logfile:
|
||||
oHandler = logging.StreamHandler(stream)
|
||||
LOG.addHandler(oHandler)
|
||||
LOG.info(f"SSetting log_level to {log_level!s}")
|
||||
|
||||
def vsetup_logging(theLOG, log_level, logfile='', stream=sys.stdout) -> None:
|
||||
global LOG
|
||||
LOG = theLOG
|
||||
|
|
|
@ -20,6 +20,8 @@ import os
|
|||
import re
|
||||
import sys
|
||||
import json
|
||||
import logging
|
||||
import warnings
|
||||
import requests
|
||||
import textwrap
|
||||
try:
|
||||
|
@ -33,11 +35,9 @@ except ImportError:
|
|||
# rprint = print
|
||||
HAS_RICH = False
|
||||
|
||||
import logging
|
||||
import warnings
|
||||
warnings.filterwarnings('ignore')
|
||||
|
||||
from exclude_utils import vsetup_logging
|
||||
from exclude_badExits.exclude_utils import vsetup_logging
|
||||
|
||||
class TorContactInfoParser(object):
|
||||
email_regex = "^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$"
|
||||
|
@ -518,6 +518,13 @@ def oparser():
|
|||
{sys.argv[0]} parse -np -j "Privex Inc. email:noc[]privex.io url:https://www.privex.io proof:uri-rsa pgp:288DD1632F6E8951 keybase:privexinc twitter:PrivexInc"
|
||||
{{"email": "noc@privex.io", "url": "https://www.privex.io", "proof": "uri-rsa", "pgp": null, "keybase": "privexinc", "twitter": "PrivexInc"}}
|
||||
"""))
|
||||
cparser.add_argument('--relays_output', type=str,
|
||||
dest='relays_output',
|
||||
default=os.path.join(ETC_DIR, 'relays.json'),
|
||||
help="Write the download relays in json to a file")
|
||||
cparser.add_argument('-j', '--json', action='store_true',
|
||||
default=False, dest='json',
|
||||
help="Output real JSON, not Python dict format.")
|
||||
cparser.set_defaults(func=cmd_scan, json=False, pretty=False)
|
||||
subparse = cparser.add_subparsers()
|
||||
subparse.required = False
|
||||
|
@ -527,13 +534,6 @@ def oparser():
|
|||
sp_parse.add_argument('-np', '--no-pretty',
|
||||
action='store_false', default=False, dest='pretty',
|
||||
help="Disable pretty printing JSON")
|
||||
sp_parse.add_argument('--relays_output', type=str,
|
||||
dest='relays_output',
|
||||
default=os.path.join(ETC_DIR, 'relays.json'),
|
||||
help="Write the download relays in json to a file")
|
||||
sp_parse.add_argument('-j', '--json', action='store_true',
|
||||
default=False, dest='json',
|
||||
help="Output real JSON, not Python dict format.")
|
||||
sp_parse.set_defaults(func=cmd_parse)
|
||||
|
||||
sp_scan = subparse.add_parser('scan', help="Parse all contacts from https://onionoo.torproject.org/details")
|
||||
|
@ -544,6 +544,15 @@ def oparser():
|
|||
|
||||
return cparser
|
||||
|
||||
def iMain(lArgs=None)
|
||||
cparser = oparser()
|
||||
opts = cparser.parse_args(lArgs)
|
||||
data = None
|
||||
if opts.relays_output and os.path.exists(opts.relays_output):
|
||||
data = open(opts.relays_output, 'rt').read()
|
||||
i = cmd_scan(opts, data)
|
||||
return i
|
||||
|
||||
if __name__ == "__main__":
|
||||
if os.environ.get('DEBUG', ''):
|
||||
log_level = 10
|
||||
|
@ -552,16 +561,11 @@ if __name__ == "__main__":
|
|||
LOG = logging.getLogger()
|
||||
vsetup_logging(LOG, log_level)
|
||||
try:
|
||||
cparser = oparser()
|
||||
opts = cparser.parse_args(sys.argv[1:])
|
||||
data = None
|
||||
if opts.relays_output and os.path.exists(opts.relays_output):
|
||||
data = open(opts.relays_output, 'rt').read()
|
||||
i = cmd_scan(opts, data)
|
||||
i = iMain(sys.argv[1:])
|
||||
except KeyboardInterrupt as e:
|
||||
i = 0
|
||||
except (requests.exceptions.ProxyError, Exception,) as e:
|
||||
LOG.error(f"{e}")
|
||||
LOG.exception(f"Exception: {e}", exc_info=True)
|
||||
i = 0
|
||||
|
||||
sys.exit(i)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue