99 lines
3.0 KiB
Python
99 lines
3.0 KiB
Python
# -*- coding: utf-8 -*-
|
||
"""
|
||
-------------------------------------------------
|
||
File Name: setting.py
|
||
Description : 配置文件
|
||
Author : JHao
|
||
date: 2019/2/15
|
||
-------------------------------------------------
|
||
Change Activity:
|
||
2019/2/15:
|
||
-------------------------------------------------
|
||
"""
|
||
|
||
import sys
|
||
from os import getenv
|
||
from logging import getLogger
|
||
|
||
log = getLogger(__name__)
|
||
|
||
HEADER = """
|
||
****************************************************************
|
||
*** ______ ********************* ______ *********** _ ********
|
||
*** | ___ \_ ******************** | ___ \ ********* | | ********
|
||
*** | |_/ / \__ __ __ _ __ _ | |_/ /___ * ___ | | ********
|
||
*** | __/| _// _ \ \ \/ /| | | || __// _ \ / _ \ | | ********
|
||
*** | | | | | (_) | > < \ |_| || | | (_) | (_) || |___ ****
|
||
*** \_| |_| \___/ /_/\_\ \__ |\_| \___/ \___/ \_____/ ****
|
||
**** __ / / *****
|
||
************************* /___ / *******************************
|
||
************************* ********************************
|
||
****************************************************************
|
||
"""
|
||
|
||
PY3 = sys.version_info >= (3,)
|
||
|
||
DB_TYPE = getenv('db_type', 'REDIS').upper()
|
||
DB_HOST = getenv('db_host', '107.182.191.3')
|
||
DB_PORT = getenv('db_port', 7379)
|
||
DB_PASSWORD = getenv('db_password', 'jlkj-841-2-redis')
|
||
|
||
USEFUL_PROXY_COUNT = 10
|
||
ZHIMA_PROXY_API = 'http://http.tiqu.alicdns.com/getip3?num=10&type=2&pro=0&city=0&yys=0&port=1&time=1&ts=0&ys=0&cs=0&lb=1&sb=0&pb=45&mr=2®ions=&gm=4'
|
||
# ZHIMA_PROXY_API = 'http://api.proxy.ipidea.io/getProxyIp?num=10&return_type=json&lb=1&sb=0&flow=1®ions=&protocol=http'
|
||
|
||
""" 数据库配置 """
|
||
DATABASES = {
|
||
"default": {
|
||
"TYPE": DB_TYPE,
|
||
"HOST": DB_HOST,
|
||
"PORT": DB_PORT,
|
||
"NAME": "proxy",
|
||
"PASSWORD": DB_PASSWORD
|
||
}
|
||
}
|
||
|
||
# register the proxy getter function
|
||
|
||
PROXY_GETTER = [
|
||
# # "freeProxy01",
|
||
# "freeProxy02",
|
||
# "freeProxy03",
|
||
# "freeProxy04",
|
||
# "freeProxy05",
|
||
# # "freeProxy06",
|
||
# "freeProxy07",
|
||
# # "freeProxy08",
|
||
# "freeProxy09",
|
||
# "freeProxy13",
|
||
# #"freeProxy14",
|
||
# "freeProxy15",
|
||
"zhimaProxy"
|
||
]
|
||
|
||
""" API config http://127.0.0.1:5010 """
|
||
SERVER_API = {
|
||
"HOST": "0.0.0.0", # The ip specified which starting the web API
|
||
"PORT": 5010 # port number to which the server listens to
|
||
}
|
||
|
||
|
||
class ConfigError(BaseException):
|
||
pass
|
||
|
||
|
||
def checkConfig():
|
||
if DB_TYPE not in ["SSDB", "REDIS"]:
|
||
raise ConfigError('db_type Do not support: %s, must SSDB/REDIS .' % DB_TYPE)
|
||
|
||
if type(DB_PORT) == str and not DB_PORT.isdigit():
|
||
raise ConfigError('if db_port is string, it must be digit, not %s' % DB_PORT)
|
||
|
||
from ProxyGetter import getFreeProxy
|
||
illegal_getter = list(filter(lambda key: not hasattr(getFreeProxy.GetFreeProxy, key), PROXY_GETTER))
|
||
if len(illegal_getter) > 0:
|
||
raise ConfigError("ProxyGetter: %s does not exists" % "/".join(illegal_getter))
|
||
|
||
|
||
checkConfig()
|