Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 23, 2018 17:57:28

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Разобраться в констукции

BM21

Здравствуйте.

Я можно, пожалуйста, максимальный синтаксис, как у меня

Офлайн

#2 Сен. 23, 2018 17:59:43

BM21
Зарегистрирован: 2018-09-15
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Разобраться в констукции

SharkyEXE
BM21Здравствуйте.Я можно, пожалуйста, максимальный синтаксис, как у меня
Это как?

Офлайн

#3 Сен. 23, 2018 18:05:02

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Разобраться в констукции

BM21

Здравствуйте.

Да как бы взять мои строки и немного их изменить

Например, лично мне, не требуется усложнения моего кода этим, лишним

import stat
uid = os.getuid() # ID пользователя из под которого запущен процесс
if os.access(ntp_path, os.X_OK): # Если есть права на выполнение
elif 0 == uid or os.stat(ntp_path)[4] == uid: # Если скрипт запущен из под рута или пользователь под которым запущен скрипт является вдладельцем ntpdate
try:
os.chmod(ntp_path, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) # выставляем 755
self.session.open(MessageBox, _("Ошибка установки времени(%i): %s" % (exit_code, out)), MessageBox.TYPE_ERROR)
Пожалуйста, просьба не обижаться, у меня проблема только когда надо - вывести сообщение ntpdate problem: Internet connection ok? Time server ok? - когда сервер неправильный написан и/или шнур интернета порван

Все остальное работает как надо

Офлайн

#4 Сен. 23, 2018 18:10:26

BM21
Зарегистрирован: 2018-09-15
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Разобраться в констукции

Залейте код пожалусто сюда http://pasted.co/ я копирую у меня отступы как-то криво разставлены.

Офлайн

#5 Сен. 23, 2018 18:16:08

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Разобраться в констукции

BM21

Пожалуйста, вот оригинал тынц

Я Вас очень прошу, максимально, по смыслу, поправьте мои строки, без дополнительных проверок, рут прав и прочего

Мне нужно, чтобы 100%но появлялось сообщение ntpdate problem: Internet connection ok? Time server ok? в тех случаях, когда оно должно появляться

В каких случаях оно должно появляться - это Вы лучше меня по коду знаете

Отредактировано SharkyEXE (Сен. 23, 2018 18:24:17)

Офлайн

#6 Сен. 23, 2018 18:25:50

BM21
Зарегистрирован: 2018-09-15
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Разобраться в констукции

По поводу интернета можно проверять, на сообщение “no servers can be used, exiting”, например в выводе программы.

Офлайн

#7 Сен. 23, 2018 18:32:56

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Разобраться в констукции

BM21

Здравствуйте.

Да нет, Вы меня не поняли.

Мне нужно, чтобы 100%но появлялось сообщение ntpdate problem: Internet connection ok? Time server ok? в тех случаях, когда оно должно появляться

В каких случаях оно должно появляться - код я приводил Вам, но оно не появляется

По поводу Ваешй мысли - “no servers can be used, exiting” - появляется сообщение ntpdate problem: Internet connection ok? Time server ok? , а вот окно self.session.open(MyConsole, _(“Системное время с NTP …”), ) не должно появляться

Отредактировано SharkyEXE (Сен. 23, 2018 18:49:25)

Офлайн

#8 Сен. 23, 2018 18:53:18

BM21
Зарегистрирован: 2018-09-15
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Разобраться в констукции

 def NTP_set(self):
    #if (config.plugins.SetClock.NTPName01.value == "" and config.plugins.SetClock.NTPName02.value == "" and config.plugins.SetClock.NTPName03.value == "" and config.plugins.SetClock.NTPName04.value == "" and config.plugins.SetClock.NTPName05.value == "" and config.plugins.SetClock.NTPName06.value == "" and config.plugins.SetClock.NTPName07.value == "" and config.plugins.SetClock.NTPName08.value == "" and config.plugins.SetClock.NTPName09.value == ""):
    #self.session.open(MessageBox, _("no timeserver configured!"), MessageBox.TYPE_INFO)
    #else:
    log_file = open('/usr/lib/enigma2/python/Plugins/Extensions/SetClock/log.txt', 'a')
    def execute_cmd(cmd):
        log_file.write("Начинаю выполнять команду: %s" % cmd)
        fo = popen(cmd)
        output = fo.read()
        exit_code = fo.close()
        log_file.write("Результат выполнения команды: %s; вывод: `%s`; код-завершения: %i" % (cmd, output, 0 if exit_code is None else exit_code))
        return output
    if os.path.exists(os.path.join(plugin_path, "ntpdate")):
        log_file.write("Программа существует по указанному пути")
        #Lite_OutPut_In_Console_1_stroke
        #cmd = '/usr/bin/ntpdate -b -t %s %s && echo "\n"' % (config.plugins.SetClock.timeout.value, config.plugins.SetClock.NTPName.value)
        #cmd = '%s%s %s %s && echo "\n"' % (plugin_path, "/ntpdate -b -t ", config.plugins.SetClock.timeout.value, config.plugins.SetClock.NTPName01.value)
        #cmd = '%s%s %s %s %s %s %s %s %s %s %s %s && echo "\n"' % (plugin_path, "/ntpdate -b -t ", config.plugins.SetClock.timeout.value, config.plugins.SetClock.NTPName01.value, config.plugins.SetClock.NTPName02.value, config.plugins.SetClock.NTPName03.value, config.plugins.SetClock.NTPName04.value, config.plugins.SetClock.NTPName05.value, config.plugins.SetClock.NTPName06.value, config.plugins.SetClock.NTPName07.value, config.plugins.SetClock.NTPName08.value, config.plugins.SetClock.NTPName09.value)
        #Extended_OutPut_In_Console_2_stroke
        #cmd = '/usr/bin/ntpdate -v -u %s %s && echo "\n"' % (config.plugins.SetClock.timeout.value, config.plugins.SetClock.NTPName.value)
        cmd = '%s%s %s %s && echo "\n"' % (plugin_path, "/ntpdate -v -u ", config.plugins.SetClock.timeout.value, config.plugins.SetClock.NTPName01.value)
        #cmd = '%s%s %s %s %s %s %s %s %s %s %s %s && echo "\n"' % (plugin_path, "/ntpdate -v -u ", config.plugins.SetClock.timeout.value, config.plugins.SetClock.NTPName01.value, config.plugins.SetClock.NTPName02.value, config.plugins.SetClock.NTPName03.value, config.plugins.SetClock.NTPName04.value, config.plugins.SetClock.NTPName05.value, config.plugins.SetClock.NTPName06.value, config.plugins.SetClock.NTPName07.value, config.plugins.SetClock.NTPName08.value, config.plugins.SetClock.NTPName09.value)
        res = execute_cmd(cmd)
        if res == "":
            cmd = "ls -l %s%s" % (plugin_path, "/ntpdate")
            res = execute_cmd(cmd)
            
        if res[3]!="x":
            cmd = "chmod 755 %s%s" % (plugin_path, "/ntpdate")
            res = execute_cmd(cmd)
            self.session.open(MessageBox, _("ntpdate problem: attributes for 'ntpdate' have not been correct! Fixed now! Try again!\n%s" % res), MessageBox.TYPE_INFO)
        else:
            self.session.open(MessageBox, _("ntpdate problem: Internet connection ok? Time server ok?"), MessageBox.TYPE_INFO)
       else:
            self.session.open(MyConsole, _("Системное время с NTP ..."), [cmd])
            self.close()
            self.close()
    else:
        log_file.write("Программа не существует по указанному пути")
        self.session.open(MessageBox, _("'ntpdate' не установлен !"), MessageBox.TYPE_ERROR)
    log_file.close()

Вот версия функцмии с логгированием каждого действия выполните и напишите рез-тат.

Офлайн

#9 Сен. 23, 2018 19:01:25

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Разобраться в констукции

BM21

Здравствуйте.

Использовал Ваш код https://pastebin.com/gypSDjuY

Вот лог https://ru.files.fm/u/xtehrhqz или ниже

Программа существует по указанному путиНачинаю выполнять команду: /usr/lib/enigma2/python/Plugins/Extensions/SetClock/ntpdate -v -u  20 ntp99.vniiftri.ru && echo "
"Результат выполнения команды: /usr/lib/enigma2/python/Plugins/Extensions/SetClock/ntpdate -v -u 20 ntp99.vniiftri.ru && echo "
"; вывод: `23 Sep 19:05:16 ntpdate[924]: ntpdate 4.2.4p0@1.1472 Sat Apr 28 20:21:34 Universal 2007 (1)
`; код-завершения: 256

Отредактировано SharkyEXE (Сен. 23, 2018 19:10:38)

Офлайн

#10 Сен. 23, 2018 20:17:30

BM21
Зарегистрирован: 2018-09-15
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Разобраться в констукции

SharkyEXE
BM21Здравствуйте.Использовал Ваш код https://pastebin.com/gypSDjuYВот лог https://ru.files.fm/u/xtehrhqz или ниже
По логу программа выполняется как надо. То есть рустого вывода нигде нету. Программа отрабатывает как надо?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version