Найти - Пользователи
Полная версия: Генерация имени класса из строки и импорт всех классов из Модуля
Начало » Python для экспертов » Генерация имени класса из строки и импорт всех классов из Модуля
1
metotron
Привет!

Не уверен, что корректно написал тему, но понятнее сформулировать кратко не получается
Мне нужно написать метод, который будет вызываться для перехода по страницам сайта через UI интерфейс
После каждого “клика” на меню метод должен возвращать Page класс новой страницы
Т.е. - нажали кнопку в меню “Контакты” - получили return ContactPage()
Упрощенно:
def navigation(page_name):
menu_click(page_name)
return PageClass()
Всего 15 элементов меню. Можно сделать 15 if которые бы возвращали 15 return но выглядит это диковато
Соответственно я хотел бы просто брать стринг из page_name и превращать это в имя класса для возврата в return
Погуглил, но все решения как-то выглядят очень “по индусски” может может кто подсказать как это сделать “по питоняшному”
И сразу же из этого вопроса вытекает второй.
Все станицы хранятся в Модуле Page который меее внутри подмодули (повторяет структуру сайта)
Page:
- contact_pages
- order_pages
и так дале
есть ли какая-либо черная магия которая бы позволила импортировать эти все страницы строкой типа
import Page
или
from Page import *

Спасибо
clipper1995
Может примитивно, но по вроде питоновски
 def navigation(page_name):
    #menu_click(page_name)
    return {
        "condition1": "PageClass1",
        "condition2": "PageClass2",
        "condition3": "PageClass3",
        "condition4": "PageClass4"
    }[page_name]
print navigation("condition2")
# PageClass2
print navigation("condition4")
# PageClass4
metotron
clipper1995
Может примитивно, но по вроде питоновски
Спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB