Попытка закрыть и открыть LibreOffice Impress с помощью кода Python - PullRequest
1 голос
/ 13 апреля 2019

Использование Raspberry Pi работает Raspian.Я хочу открыть * .odp, когда происходит триггер, затем, когда происходит другой триггер, закройте файл и затем откройте другой файл * .odp.Проблема: после открытия LibreOffice Impress он, похоже, больше не доступен для приема команд через терминал.Команды, кажется, работают только после того, как мы закроем LibreOffice Impress вручную.

Мы успешно отправили и через терминал напрямую, и через наш скрипт на python, чтобы открыть конкретный файл * .odp.Однако мы не можем закрыть презентацию, чтобы открыть другую.

Вот фрагмент кода.Коды RF принимаются от пульта дистанционного управления ...

cmd_openShowOn = "sudo libreoffice --nologo --show /home/pi/Documents/memorable.odp"
cmd_openShowOff = "sudo libreoffice --nologo --show /home/pi/Documents/forgettable.odp"
cmd_kill = "pkill soffice.bin"

if rfdevice.rx_code_timestamp != timestamp:
    timestamp = rfdevice.rx_code_timestamp
    logging.info(str(rfdevice.rx_code) +
                 " [pulselength " + str(rfdevice.rx_pulselength) +
                 ", protocol " + str(rfdevice.rx_proto) + "]")
    if str(rfdevice.rx_code) == "87347": # receives code to trigger closing anything that might be open and opening slide show for 'memorable.odp'
        print ("Laser On")
        os.system(cmd_kill)
        os.system(cmd_openShowOn)

    if str(rfdevice.rx_code) == "87356": # receives code to trigger closing anything that might be open and opening slide show for 'forgettable.odp'
        print("Laser Off")
        os.system(cmd_kill)            
        os.system(cmd_openShowOff)
time.sleep(1)

Любые последующие ответы от LibreOffice Impress игнорируются до тех пор, пока мы вручную не уничтожим LibreOffice Impress.

...