Проверка исправности Python для конфигурации сервера

Я очень плохо знаком с Python и пишу скрипт, который будет извлекать несколько URL-адресов из двух файлов конфигурации. Ниже приведено тело сценария на данный момент:

import os
import sys
import logging

logger = logging.getLogger('check_store')
logger.setLevel(logging.DEBUG)

env= raw_input("Enter environmentname (ex. dev/qa/prod): ")
cust= raw_input("Enter customer name: ")

engage_properties= '/opt/engage/engageconf.properties'
symmetric_properties= '/opt/engage/symmetric.properties'

with open ("%s" % (engage_properties)) as inF:
    for line in inF:
        if ("%s-%s.%sfqdn.com" % (env,cust,env)) in line:
            print line

Вывод выглядит следующим образом:

Enter environmentname (ex. dev/qa/prod): qa
Enter customer name: cust
connect.rest.address=http://connect.qa-cust.qafqdn.com

connect.rest.ssl.address=https://connect.qa-cust.qafqdn.com

connect.rest.giftregistry.service=http://connect.qa-cust.qafqdn.com:8280/services

receipt.server.host=engage.central.qa-cust.qafqdn.com

Я пытаюсь добиться того, чтобы скрипт специально выглядел следующим образом, как показано выше:

connect.rest.address=
connect.rest.ssl.address=
connect.rest.giftregistry.service=

и сообщать пользователю, если один из них неправильный. Итак, если я введу в ответ на запрос: "qa" для затем env name и "cust" для имени клиента, если на любом из URL-адресов есть что-то кроме отформатированного вот так:

connect.qa-cust.qafqdn.com

тогда он сообщит пользователю, какая из трех переменных URL отформатирована неправильно.

Итак, чтобы уточнить.. если 'connect.rest.ssl.address=' ​​не равнялся предоставленному мною вводу (равному qa-cust.qafqdn.com), но остальные сделали, то я бы увидел ошибку вроде:

connect.rest.address - OK
connect.rest.ssl.address - ERROR: does not match value provided
connect.rest.giftregistry.service - OK

Этот скрипт в основном проверяет работоспособность среды. Я пытался сделать это как можно более ясным, и я ценю помощь.

1 ответ

Я не уверен, что правильно понял вопрос, но если вы ожидаете, что какая-либо строка в файле будет иметь правильные свойства, то если строка содержит часть, но не все правильное форматирование, это неверно.

with open ("%s" % (engage_properties)) as inF:
for line in inF:
    if ("%s-%s.%srhythmforstores.com" % (env,cust,env)) in line:
        print line
    elif "rhythmforstores.com" in line:
        print error_message
Другие вопросы по тегам