mt5-manager/docs/articles/part-04/publish/code/13_python.txt
13 lines
647 B
Text
def read_state(self, folder: str) -> sqlite3.Row | None:
try:
con = sqlite3.connect(self.database, timeout=3)
con.row_factory = sqlite3.Row
try:
return con.execute(self.STATE_QUERY, (folder,)).fetchone()
finally:
con.close()
except sqlite3.OperationalError as e:
# База ещё не создана, занята или не совпадает схема - идём дальше
# без данных, но причину печатаем, чтобы она не оставалась скрытой
print(f'read_state({folder!r}): {e}')
return None