def do_search(): if output1.size(): output1.delete(0, last=output1.size() - 1) connection = irbis.Connection() connection.host = '192.168.7.13' connection.port = 6666 connection.username = '******' connection.password = '******' connection.database = 'IBIS' connection.workstation = 'C' connection.connect() if not connection.connected: output1.insert(END, "Не удалось подключиться") return expression = '"K=' + keyword.get().strip() + '"' found = connection.search(expression) if len(found) > 10: found = found[:10] for mfn in found: line = connection.format_record("@sbrief", mfn) output1.insert(END, line) if not found: output1.insert(END, "Ничего не найдено") connection.disconnect()
def on_click(self, event): self.listbox.Clear() keyword = self.input.GetValue() if not keyword: self.listbox.Append("Не задано ключевое слово") return connection = irbis.Connection() connection.host = '192.168.7.13' connection.port = 6666 connection.username = '******' connection.password = '******' connection.database = 'IBIS' connection.workstation = irbis.CATALOGER connection.connect() if not connection.connected: self.listbox.Append("Не удалось подключиться") return expression = '"K=' + keyword + '"' found = connection.search(expression) if len(found) > 10: found = found[:10] for mfn in found: line = connection.format_record("@sbrief", mfn) self.listbox.Append(line) if not found: self.listbox.Append("Ничего не найдено") connection.disconnect()
# coding: utf-8 """ Ниже прилагается пример простой программы. Сначала находятся и загружаются 10 первых библиографических записей, в которых автором является А. С. Пушкин. Показано нахождение значения поля с заданным тегом и подполя с заданным кодом. Также показано расформатирование записи в формат brief. """ import irbis # Подключаемся к серверу client = irbis.Connection() # pylint:disable=invalid-name client.parse_connection_string('host=127.0.0.1;database=IBIS;' + 'user=librarian;password=secret;') client.connect() if not client.connected: print('Невозможно подключиться!') exit(1) # Ищем все книги, автором которых является А. С. Пушкин # Обратите внимание на двойные кавычки в тексте запроса found = client.search('"A=ПУШКИН$"') # pylint:disable=invalid-name print(f'Найдено записей: {len(found)}') # Чтобы не распечатывать все найденные записи, отберем только 10 первых for mfn in found[:10]: # Получаем запись из базы данных
Простая программа, удаляющая из базы данных RQST все выполненные заказы (для уменьшения нагрузки на сеть и сервер со стороны АРМ "Книговыдачи"). """ import sys from datetime import datetime import irbis if len(sys.argv) != 2: print('Usage: irbis_ping <connection-string>') exit(-1) start = datetime.now() with irbis.Connection(connection_string=sys.argv[1]) as connection: try: if not connection.connected: print("Can't connect") exit(-1) if connection.workstation != irbis.ADMINISTRATOR: print("Not administrator! Exiting") exit(-1) max_mfn = connection.get_max_mfn() if max_mfn < 1: print(f"Max MFN={max_mfn}, exiting") exit(-1) # Невыполненные и зарезервированные заказы