Есть код, который по задумке, должен пройтись по списку имен из АПИ, где написаны имена машин, и если внутри имени есть -java- или-go-, то ТАКОЕ имя засунуть в словарь vm_to_create, а остальные засунуть в словарь vm_not_to_create.
НО! данный код говорит, что ему имена с PHP тоже нравятся! Что я сделал не так? как исправить?
2 вопрос: у меня в итоге выполнения кода создается только один словарь (либо тот, либо тот), а как написать так, чтобы подходящие имена падали в 1ый словарь, а остальные во 2ой?
Такие имена приходят из АПИ
"name" : "welcome-php-2.node.eu.consul"
import requests
import json
import re
def check_language(current_hostname):
current_hostname = vm['name']
if ['-java-' in current_hostname or '-go-' in current_hostname]:
return True
return False
response = requests.get('http://127.0.0.1/asl_real.json')
asl_vms = json.loads(response.text)
vm_to_create = {}
for vm in asl_vms:
if check_language('current_hostname') == True:
vm_to_create = dict(name=vm['name'],os=vm['distribution']['description'])
print(vm_to_create, 'update')
else:
vm_not_to_create = dict(name=vm['name'],os=vm['distribution']['description'])
print(vm_not_to_create, 'not update')
Вывод:
{'name': 'welcome-php-2.node.eu.consul', 'os': 'Debian 11.3 x64'} update
{'name': 'welcome-php-3.node.eu.consul', 'os': 'Debian 10.1 x64'} update
{'name': 'aff-java-1.node.eu.consul', 'os': 'Debian 10.1 x64'} update
{'name': 'aff-java-3.node.eu.consul', 'os': 'Debian 10.1 x64'} update
{'name': 'aff-java-4.node.eu.consul', 'os': 'Debian 11.1 x64'} update
{'name': 'tgbot-go-1.node.eu.consul', 'os': 'Debian 10.1 x64'} update
{'name': 'tgbot-go-3.node.eu.consul', 'os': 'Debian 11.3 x64'} update
{'name': 'aff-java-5.node.eu.consul', 'os': 'Debian 11.1 x64'} update
{'name': 'aff-java-1337.node.eu.consul', 'os': 'Debian 11.1 x64'} update