0 голосов
218 просмотров

При попытке использовать «Outils personnalisation» > «Admin» > «Show Project Plan HTML» в PT9.0 в Wasta-Linux я получил ошибку. Оказалось, что Python-скрипт пытается использовать реестр Windows для поиска папки проектов Paratext. Обратите внимание на третью строку, «from _winreg import…» (из cms/ProjectPlanImport.py):

def settingsDirectory():
    # Find the directory with Paratext 8 projects using the windows registry
    from _winreg import OpenKey, EnumValue, HKEY_LOCAL_MACHINE

    strPath = r"SOFTWARE\WOW6432Node\Paratext\8"
    try:
        aKey = OpenKey(HKEY_LOCAL_MACHINE, strPath)
        for i in [0,1,2,3,4,5]:
            aName, aValue, irrelevant = EnumValue(aKey,i)
            if aName == 'Settings_Directory':
                return aValue + '\\'
        return None
    
    except WindowsError:
        # The registry key was not found
        return None
    except:
        raise

Однако эту же папку можно найти относительно, используя модуль os.path. Поэтому я обновил функцию на своей системе следующим образом:

def settingsDirectory():
    # Find the directory with Paratext 8 projects using Python 2 tools.
    cms_dir = os.path.dirname(os.path.realpath(__file__))
    if os.path.basename(cms_dir) == 'cms' and os.path.isdir(cms_dir):
        return os.path.dirname(cms_dir)
    else:
        return None

Поэтому, я думаю, мой вопрос таков: возможно ли, что при нестандартной установке папка cms может находиться где-то вне папки проектов Paratext, что потребует проверки реестра в Windows? Или, если нет, не мог бы кто-нибудь рассмотреть возможность обновления скриптов ProjectPlanImport.py и ProjectPlanRoot.py, чтобы использовать встроенные инструменты и сделать скрипты более универсально совместимыми?

Я также готов разработать способ выполнения проверки ОС и обработки поиска settingsDirectory в зависимости от ОС, если смогу обсудить это с нужным человеком. Кстати, кажется, эти два места — единственные, где модуль _winreg упоминается в скриптах cms.

Переведено машиной с языка English
Paratext от (298 очков)
изменено от | 218 просмотров

1 ответ

0 голосов
После нескольких месяцев использования собственного обходного решения я осознал, что 1) вышеупомянутая функция "settingsDirectory()" не нужна, поскольку "SettingsDirectory" на самом деле является глобальной переменной, предоставляемой для CMS-скриптов, и 2) параметр "\toHtml" в файле .cms должен открывать сгенерированный HTML-файл в браузере по умолчанию, но это тоже не работает в установке Linux. Поэтому я создал CMS-скрипт, который использует скрипт "Show Project Plan HTML" для добавления "Show Project Plan HTML (Linux)". Этот скрипт избегает обеих вышеуказанных проблем.

Вы можете получить файлы по адресу https://github.com/sil-car/ProjectPlanHtmlLinux
Переведено машиной с языка English
от (298 очков)

Похожие вопросы

0 голосов
0 ответов 178 просмотров
Wasn't sure where to report this bug fix for the Show Project Plan Html script, found in the project Custom Tools > ... be causing the problem. Probably best to change it as well
jeffh 1,4тыс. задал вопрос май 8, 2020
0 голосов
3 ответов 348 просмотров
На недавнем семинаре Введение в Paratext один из участников использовал Paratext 8 на Wasta-Linux. Поскольку я ... на Linux, чтобы функция AutoCorrect.txt заработала? Спасибо
MSEAIT_LT 478 задал вопрос дек 1, 2017
0 голосов
1 ответ 378 просмотров
After an Install of Wasta 14 Paratext, the Advanced Checks is greyed out. In my home directory I see ... windows C:\MyParatextProjects\cms What might cause this?
anon432075 149 задал вопрос сен 8, 2016
0 голосов
0 ответов 167 просмотров
I am recovering from a massive computer failure on a team member's computer. I have reinstalled Wasta-Linux 18 and am ... the way it normally does on that profile. Any ideas?
anon349755 120 задал вопрос окт 2, 2019
0 голосов
1 ответ 427 просмотров
Я хотел бы экспортировать проект в HTML, чтобы делиться черновиками с другими людьми. Я не хочу экспортировать в PDF ... далее. Как мне скрыть маркеры USFM в экспортированном HTML?
bit 495 задал вопрос апр 14, 2022
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
I urge you, brothers and sisters, to watch out for those who cause divisions and put obstacles in your way that are contrary to the teaching you have learned. Keep away from them.
Romans 16:17
3,045 вопросов
6,005 ответов
5,671 комментариев
2,026 пользователей