Migrate from const.py to config.ini

parent a927f491
......@@ -6,4 +6,4 @@ dist/
nginx_redirector.egg-info/
build/
*.log
*.pyc
include redirector/conf/config.ini
reinstall:
pip uninstall nginx-redirector -y && python setup.py install
pip uninstall nginx-redirector -y && python setup.py install && redirector-config --edit nginx_dir /home/kantegory/pvt/redirector-tests
#!/usr/bin/env python
# -*- coding: utf-8 -*-
[DEFAULT]
nginx_dir = /etc/nginx
maps_dir = $(nginx_dir)s/maps
config_dir = $(nginx_dir)s/location_includes
maps_dir = %(nginx_dir)s/maps
config_dir = %(nginx_dir)s/location-includes
import configparser
import argparse as ap
import os
class Config:
def __init__(self):
self.config = configparser.ConfigParser()
self.filename = 'config.ini'
self.filename = '{}/config.ini'.format(os.path.dirname(__file__))
def read_config(self, filename='config.ini'):
self.filename = filename
def read_config(self, filename=None):
if filename:
self.filename = filename
self.config.read(self.filename)
def get_default_dir(self, dir_key):
......
......@@ -7,7 +7,7 @@ import argparse as ap
from redirector.utils import generators
from redirector.utils import logger
from redirector.utils import parser
from redirector.utils import const
class Redirector:
def __init__(self, logger=None):
......@@ -51,6 +51,6 @@ def main(args=None):
print("CRITICAL:\n" + str(e))
#if __name__ == "__main__":
# main()
if __name__ == "__main__":
main()
......@@ -5,7 +5,3 @@ EMAIL = "enk@etersoft.ru"
PYTHON_VERSION = "3.6"
VERSION_STATUS = "alpha"
NGINX_DIR = "/home/kantegory/pvt/redirector-tests" #"/etc/nginx" # /home/enk
CONFIG_YAML = "/home/kantegory/pvt/nginx-redirector/config.yaml"
MAPS_DIR = NGINX_DIR + "/maps"
CONFIG_DIR = NGINX_DIR + "/location-includes"
from redirector.utils import const
from redirector.conf.config import Config
class Generator:
def __init__(self):
......@@ -9,17 +9,20 @@ class Generator:
redirects_map = self.map_gen.generate_map(redirects_data[0], project_name)
redirects_with_options = self.map_gen.generate_opt_map(redirects_data[1], project_name)
conf_data = self.conf_gen.generate_config(project_name, [code for code, data in redirects_with_options])
config = Config()
config.read_config()
try:
with open(const.MAPS_DIR + "/%s.map" % project_name, "w") as map_file:
with open(config.get_default_dir('MAPS_DIR') + "/%s.map" % project_name, "w") as map_file:
map_file.write(redirects_map)
for code, data in redirects_with_options:
if code == "301":
code = "permanent"
elif code == "302":
code = "redirect"
with open(const.MAPS_DIR + "/%s_%s_options.map" % (project_name, code), "w") as map_file:
with open(config.get_default_dir('MAPS_DIR') + "/%s_%s_options.map" % (project_name, code), "w") as map_file:
map_file.write(data)
with open(const.CONFIG_DIR + "/%s.conf" % project_name, "w") as conf_file:
with open(config.get_default_dir('CONFIG_DIR') + "/%s.conf" % project_name, "w") as conf_file:
conf_file.write(conf_data)
except Exception as e:
print(e)
......@@ -83,4 +86,4 @@ class ConfigGenerator:
data += (self.opt_start_line % (project_name, code)) + (self.opt_rewrite_line % (project_name, project_name, code, "break")) + (self.option_line % code)
return data
......@@ -7,7 +7,7 @@ import argparse as ap
from redirector.utils import generators
from redirector.utils import logger
from redirector.utils import parser
from redirector.utils import const
from redirector.redirector import Redirector
......
......@@ -21,12 +21,13 @@ classifiers_list = [
setup(
name=const.NAME,
version="0.1.1",
packages=['redirector', 'redirector.utils', 'redirector.tests'],
packages=['redirector', 'redirector.utils', 'redirector.tests', 'redirector.conf'],
entry_points={
'console_scripts': [
'redirector = redirector.redirector:main',
'redirector-watch = redirector.watcher:watch',
'redirector-convert = redirector.htaccess_parser:main'
'redirector-convert = redirector.htaccess_parser:main',
'redirector-config = redirector.conf.config:main'
]
},
classifiers=classifiers_list,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment