История изменений
Исправление makoven, (текущая версия) :
То есть импортируем init() где надо
А смысл? Вызов init не импортирует в текущий модуль глобальные переменные, определенные в init()
Кроме того sqlite и так не очень «многопользовательская». Как-то глупо создавать по новому подключению к БД в каждом модуле, который желает поработать с БД. Хотя, конечно, можно запердолить синглтон
зачем нужны данные подключения другим модулям, может сразу функцию коннекта написать в __init__.py
Во-первых, потому, что в реальности вызов Db может быть таким:
DB = Db(CFG['db_path'], Path(sys.path[0]) / 'sql_files')
Во-вторых, проект можно стартовать через разные файлы (например, python3 project/tui.py, python3 project/web,py, etc) и где-то все-равно придется держать функцию инициализации всякого хлама. Вместо __init__.py логичнее поместить это в settings.py, но последний оккупировала джанга :)
Исправление makoven, :
То есть импортируем init() где надо
А смысл? Вызов init не импортирует в текущий модуль глобальные переменные, определенные в init()
Кроме того sqlite и так не очень «многопользовательская». Как-то глупо создавать по новому подключению к БД в каждом модуле, который желает поработать с БД. Хотя, конечно, можно запердолить синглтон
зачем нужны данные подключения другим модулям, может сразу функцию коннекта написать в __init__.py
Во-первых, потому, что в реальности вызов Db может быть таким:
DB = Db(CFG['db_path'], Path(sys.path[0]) / 'sql_files')
Во-вторых, проект можно стартовать через разные файлы (например, python3 project/tui.py, python3 project/web,py, etc) и где-то все-равно придется держать функцию инициализации всякого хлама. Вместо __init__.py логичнее поместить это в settings.py, но последний оккупировала джанга )
Исправление makoven, :
То есть импортируем init() где надо
А смысл? Вызов init не импортирует в текущий модуль глобальные переменные, определенные в init()
Кроме того sqlite и так не очень «многопользовательская». Как-то глупо создавать по новому подключению к БД в каждом модуле, который желает поработать с БД. Хотя, конечно, можно запердолить синглтон
зачем нужны данные подключения другим модулям, может сразу функцию коннекта написать в __init__.py
Во-первых, потому, что в реальности вызов Db может быть таким:
DB = Db(CFG['db_path'], Path(sys.path[0]) / 'core')
Во-вторых, проект можно стартовать через разные файлы (например, python3 project/tui.py, python3 project/web,py, etc) и где-то все-равно придется держать функцию инициализации всякого хлама. Вместо __init__.py логичнее поместить это в settings.py, но последний оккупировала джанга )
Исправление makoven, :
То есть импортируем init() где надо
А смысл? Вызов init не импортирует в текущий модуль глобальные переменные, определенные в init()
Кроме того sqlite и так не очень «многопользовательская». Как-то глупо создавать по новому подключению к БД в каждом модуле, который желает работать с БД. Хотя, конечно, можно запердолить синглтон
зачем нужны данные подключения другим модулям, может сразу функцию коннекта написать в __init__.py
Во-первых, потому, что в реальности вызов Db может быть таким:
DB = Db(CFG['db_path'], Path(sys.path[0]) / 'core')
Во-вторых, проект можно стартовать через разные файлы (например, python3 project/tui.py, python3 project/web,py, etc) и где-то все-равно придется держать функцию инициализации всякого хлама. Вместо __init__.py логичнее поместить это в settings.py, но последний оккупировала джанга )
Исправление makoven, :
То есть импортируем init() где надо
А смысл? Вызов init не импортирует в текущий модуль глобальные переменные, определенные в init()
Кроме того sqlite и так не очень «многопользовательская». Как-то глупо создавать по новому подключению к БД в каждом модуле. Хотя, конечно, можно запердолить синглтон
зачем нужны данные подключения другим модулям, может сразу функцию коннекта написать в __init__.py
Во-первых, потому, что в реальности вызов Db может быть таким:
DB = Db(CFG['db_path'], Path(sys.path[0]) / 'core')
Во-вторых, проект можно стартовать через разные файлы (например, python3 project/tui.py, python3 project/web,py, etc) и где-то все-равно придется держать функцию инициализации всякого хлама. Вместо __init__.py логичнее поместить это в settings.py, но последний оккупировала джанга )
Исходная версия makoven, :
То есть импортируем init() где надо
А смысл? Вызов init не импортирует в текущий модуль глобальные переменные из init()
Кроме того sqlite и так не очень «многопользовательская». Как-то глупо создавать по новому подключению к БД в каждом модуле. Хотя, конечно, можно запердолить синглтон
зачем нужны данные подключения другим модулям, может сразу функцию коннекта написать в __init__.py
Во-первых, потому, что в реальности вызов Db может быть таким:
DB = Db(CFG['db_path'], Path(sys.path[0]) / 'core')
Во-вторых, проект можно стартовать через разные файлы (например, python3 project/tui.py, python3 project/web,py, etc) и где-то все-равно придется держать функцию инициализации всякого хлама. Вместо __init__.py логичнее поместить это в settings.py, но последний оккупировала джанга )