This was completely unnecessary and took me hours, but I wanted to flex my one-liner skills...

This commit is contained in:
Ada Werefox 2023-01-28 18:26:26 +00:00
parent fd2a56fac4
commit e4112b5d3f
3 changed files with 22 additions and 5 deletions

View File

@ -0,0 +1,14 @@
#!/usr/bin/python
# Necessary imports
from robot.api.logger import info
from yaml import load, Loader
def load_data():
# This saves us going to like two buttons
with open('/data/identities.yml') as data_yaml:
data_dict = load(data_yaml, Loader=Loader)
# Here's the worst one-liner I've written in my whole career, enjoy
return {list(fuck)[0]: fuck[list(fuck)[0]] for fuck in [{z: {y[list(y)[0]]['url']: y for y in [{x: data_dict[x]} for x in data_dict]}[z] for z in {y[list(y)[0]]['url']: y for y in [{x: data_dict[x]} for x in data_dict]} if z != ''}[x] for x in {z: {y[list(y)[0]]['url']: y for y in [{x: data_dict[x]} for x in data_dict]}[z] for z in {y[list(y)[0]]['url']: y for y in [{x: data_dict[x]} for x in data_dict]} if z != ''}]}

View File

@ -5,7 +5,6 @@ from robot.api.logger import info
from shared_methods import load_data, check_buttons, standardize_url
import footer_test
def execute_tests(driver, site_url):
filepaths = ['/data/pages.yml', '/data/identities.yml']
data = load_data(filepaths)

View File

@ -7,6 +7,7 @@ from selenium.webdriver.common.by import By
from robot.api.logger import info, error
from yaml import load, Loader
import time
import identity_block
def standardize_url(url):
@ -27,11 +28,14 @@ def load_data(filepaths):
data = {}
for filepath in filepaths:
try:
with open(filepath) as yaml_doc:
data.update(load(yaml_doc, Loader=Loader))
if (filepath == '/data/identities.yml'):
data.update(identity_block.load_data())
else:
with open(filepath) as yaml_doc:
data.update(load(yaml_doc, Loader=Loader))
with open('/data/homepage/other.yml') as yaml_doc:
data.update(load(yaml_doc, Loader=Loader))
# with open('/data/homepage/other.yml') as yaml_doc:
# data.update(load(yaml_doc, Loader=Loader))
except:
error("Couldn't open or parse the yaml document.")
return {}