Пример #1
0
 def __init__(self):
     Configuration.__init__(self)
     pass
Пример #2
0
 def __init__(self):
     Configuration.__init__(self)
     self.configurations_ = []
     pass
Пример #3
0
    def __init__(self, writeargstofile=False, readargs=False):
        default_config_file = abs_path_lmfdb("config.ini")

        # 1: parsing command-line arguments
        parser = argparse.ArgumentParser(
            description="LMFDB - The L-functions and modular forms database")

        parser.add_argument(
            "--config-file",
            dest="config_file",
            metavar="FILE",
            help="configuration file [default: %(default)s]",
            default=default_config_file,
        )
        # gunicorn uses '-c' to specify its config file
        # we don't want the config parser to get confused
        # when the app is ran via gunicorn
        parser.add_argument("-c",
                            help=argparse.SUPPRESS,
                            dest="trash_becauseofgunicorn")
        parser.add_argument(
            "-s",
            "--secrets-file",
            dest="secrets_file",
            metavar="SECRETS",
            help="secrets file [default: %(default)s]",
            default="secrets.ini",
        )

        parser.add_argument(
            "-d",
            "--debug",
            action="store_true",
            dest="core_debug",
            help="enable debug mode",
        )

        parser.add_argument(
            "--color",
            dest="core_color",
            metavar="COLOR",
            help="color template (see lmfdb/utils/color.py)",
            default=19,
            type=int,
        )

        parser.add_argument(
            "-p",
            "--port",
            dest="web_port",
            metavar="PORT",
            help=
            "the LMFDB server will be running on PORT [default: %(default)d]",
            type=int,
            default=37777,
        )
        parser.add_argument(
            "-b",
            "--bind_ip",
            dest="web_bindip",
            metavar="HOST",
            help=
            "the LMFDB server will be listening to HOST [default: %(default)s]",
            default="127.0.0.1",
        )

        logginggroup = parser.add_argument_group("Logging options:")
        logginggroup.add_argument(
            "--logfile",
            help="logfile for flask [default: %(default)s]",
            dest="logging_logfile",
            metavar="FILE",
            default="flasklog",
        )

        logginggroup.add_argument("--logfocus",
                                  help="name of a logger to focus on",
                                  default=argparse.SUPPRESS)

        logginggroup.add_argument(
            "--slowcutoff",
            dest="logging_slowcutoff",
            metavar="SLOWCUTOFF",
            help="threshold to log slow queries [default: %(default)s]",
            default=0.1,
            type=float,
        )

        logginggroup.add_argument(
            "--slowlogfile",
            help="logfile for slow queries [default: %(default)s]",
            dest="logging_slowlogfile",
            metavar="FILE",
            default="slow_queries.log",
        )
        logginggroup.add_argument(
            "--editor",
            help="username for editor making data changes",
            dest="logging_editor",
            metavar="EDITOR",
            default="",
        )

        # PostgresSQL options
        postgresqlgroup = parser.add_argument_group("PostgreSQL options")
        postgresqlgroup.add_argument(
            "--postgresql-host",
            dest="postgresql_host",
            metavar="HOST",
            help=
            "PostgreSQL server host or socket directory [default: %(default)s]",
            default="devmirror.lmfdb.xyz",
        )
        postgresqlgroup.add_argument(
            "--postgresql-port",
            dest="postgresql_port",
            metavar="PORT",
            type=int,
            help="PostgreSQL server port [default: %(default)d]",
            default=5432,
        )

        postgresqlgroup.add_argument(
            "--postgresql-user",
            dest="postgresql_user",
            metavar="USER",
            help="PostgreSQL username [default: %(default)s]",
            default="lmfdb",
        )

        postgresqlgroup.add_argument(
            "--postgresql-pass",
            dest="postgresql_password",
            metavar="PASS",
            help="PostgreSQL password [default: %(default)s]",
            default="lmfdb",
        )

        postgresqlgroup.add_argument(
            "--postgresql-dbname",
            dest="postgresql_dbname",
            metavar="DBNAME",
            help="PostgreSQL database name [default: %(default)s]",
            default="lmfdb",
        )

        # undocumented options
        parser.add_argument(
            "--enable-profiler",
            dest="profiler",
            help=argparse.SUPPRESS,
            action="store_true",
            default=argparse.SUPPRESS,
        )

        # undocumented flask options
        parser.add_argument(
            "--enable-reloader",
            dest="use_reloader",
            help=argparse.SUPPRESS,
            action="store_true",
            default=argparse.SUPPRESS,
        )

        parser.add_argument(
            "--disable-reloader",
            dest="use_reloader",
            help=argparse.SUPPRESS,
            action="store_false",
            default=argparse.SUPPRESS,
        )

        parser.add_argument(
            "--enable-debugger",
            dest="use_debugger",
            help=argparse.SUPPRESS,
            action="store_true",
            default=argparse.SUPPRESS,
        )

        parser.add_argument(
            "--disable-debugger",
            dest="use_debugger",
            help=argparse.SUPPRESS,
            action="store_false",
            default=argparse.SUPPRESS,
        )
        # if start-lmfdb.py was executed
        startlmfdbQ = getattr(
            __main__, '__file__').endswith("start-lmfdb.py") if hasattr(
                __main__, '__file__') else False
        writeargstofile = writeargstofile or startlmfdbQ
        readargs = readargs or startlmfdbQ
        _Configuration.__init__(self,
                                parser,
                                writeargstofile=writeargstofile,
                                readargs=readargs)

        opts = self.options
        extopts = self.extra_options
        self.flask_options = {
            "port": opts["web"]["port"],
            "host": opts["web"]["bindip"],
            "debug": opts["core"]["debug"],
        }
        for opt in ["use_debugger", "use_reloader", "profiler"]:
            if opt in extopts:
                self.flask_options[opt] = extopts[opt]

        self.color = opts["core"]["color"]

        self.postgresql_options = {
            "port": opts["postgresql"]["port"],
            "host": opts["postgresql"]["host"],
            "dbname": opts["postgresql"]["dbname"],
        }

        # optional items
        for elt in ["user", "password"]:
            if elt in opts["postgresql"]:
                self.postgresql_options[elt] = opts["postgresql"][elt]

        self.logging_options = {
            "logfile": opts["logging"]["logfile"],
            "slowcutoff": opts["logging"]["slowcutoff"],
            "slowlogfile": opts["logging"]["slowlogfile"],
            "editor": opts["logging"]["editor"],
        }
        if "logfocus" in extopts:
            self.logging_options["logfocus"] = extopts["logfocus"]
Пример #4
0
 def __init__(self, timeout, newline, prompt, loglevel):
     Configuration.__init__(self,
             timeout=TimeEntry(timeout or 3),
             newline=NewlineEntry(newline or 'LF'),
             prompt=StringEntry(prompt),
             loglevel=LogLevelEntry(loglevel or 'INFO'))