BaseXClient в Python: проблемы с поиском - PullRequest
0 голосов
/ 03 апреля 2020

Я использую BaseX, установленный на сервере в домашней сети, и пытаюсь получить к нему доступ, используя официальный BaseXClient с другого компьютера.

У меня также есть BaseX GUI, установленный на рабочем компьютере и использующий Webdav может получить доступ к базе данных на сервере.

Вот что у нас есть на данный момент:

from BaseXClient import BaseXClient

# create session
session = BaseXClient.Session('192.168.0.80', 1984, 'admin', 'admin')

try:
    print("\n" + session.execute("list"))
    print("\n" + session.execute("open testdb"))
    print("\n" + session.execute("info db"))

Команда "list" правильно отображает доступность testdb в качестве единственной базы данных. на сервере BaseX. Команда open также, кажется, завершается без проблем. Команда info, однако, затем выводит список базы данных с ее свойствами, НО БЕЗ ДОКУМЕНТОВ:

Database Properties
 NAME: testdb
 SIZE: 55 MB
 NODES: 0
 DOCUMENTS: 0
 BINARIES: 15
 TIMESTAMP: 2020-04-02T22:57:24.000Z
 UPTODATE: true 

Конечно, любые последующие запросы также ничего не возвращают.

Однако в базе данных у меня более 400 документов, к которым я могу получить доступ с помощью GUI. Я посмотрел код для BaseXClient и проверил документацию и примеры, но не смог найти никаких подсказок относительно того, что может go здесь не так.


После написания вышесказанного я заметил, что размеры файлов на сервере отличаются от того, что я вижу в папке webdav.

Таким образом, я подозреваю, что проблема в том, что изменения в папке webdav, к которой присоединен GUI на клиентском компьютере, не синхронизируют c с сервером. Однако, если проблема связана с webdav, то я все еще в растерянности относительно того, как использовать GUI на клиенте для управления изменениями на сервере, а затем для доступа к информации через python клиент.

Любая поддержка будет принята с благодарностью.

...