Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2022, 13:10   #1
satfan
Пользователь
 
Регистрация: 11.02.2019
Сообщений: 79
По умолчанию Не срабатывает скрипт проверки плейлистов

IDLE (Python 3.10 64-bit)
Windows 10
---------------------------
Есть такой скрипт EditBot - запускаю, ошибок нет.
Нет и результата его работы.
Код:
# -*- coding: utf-8 -*-

# Раздел подключения внешних модулей
import os
import time
import urllib.request, urllib.parse, urllib.error

# Раздел объявления констант
LENDATA = 1364
TIMEOUT = 8

# Раздел пользовательских функций
def namePLIST():
	namefile = os.listdir(os.getcwd())
	for name in namefile:
		if name.find('.m3u') != -1:
			return name
	print('Плейлист не найден')
	time.sleep(2)
	exit()

def updatePLIST(namefile, newplist):
	plistfile = open('new_' + namefile, 'w')
	plistfile.write(newplist)
	plistfile.close()
	print('Плейлист обновлён')
	time.sleep(2)

def vrfSTREAM(link, bufline):
	try:
		name = bufline.split(',')[1].decode('utf-8')
		stream = urllib.request.urlopen(link)
		data = stream.read(LENDATA)
		if len(data) == LENDATA:
			print('%s - рабочий' % name)
			return True
	except:
		pass
	print('%s - не рабочий' % name)
	return False

def readPLIST(namefile):
	newline = ''
	plistfile = open(namefile, 'r')
	for line in plistfile.readlines():
		if line.find('EXTM3U') != -1:
			newline = newline + line
		elif line.find('EXTINF') != -1:
			bufline = line
		elif (line.find('/udp/') != -1 and
			vrfSTREAM(line, bufline)):
			newline = newline + bufline + line
	plistfile.close()
	return newline

def startBOT():
	print('Привет, EditBot успешно стартовал') 
	urllib.socket.setdefaulttimeout(TIMEOUT)
	namefile = namePLIST()
	newplist = readPLIST(namefile)
	updatePLIST(namefile, newplist)
Подскажите что не так в скрипте ?
satfan вне форума Ответить с цитированием
Старый 03.02.2022, 18:18   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Есть раздел пользовательских функций.
Попробуйте их использовать - напишите вызов одной из них.
По сути - это библиотека функций.
Как ими распорядиться ...
Например, запустите функцию startBOT().
Сама она не запустится.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт проверки наличия ссылок Saffet JavaScript, Ajax 4 15.06.2016 15:07
Не срабатывает скрипт KGS JavaScript, Ajax 5 23.04.2016 02:37
Php! JSON_ECODE, Не срабатывает на хостинге след. скрипт: AlienNation PHP 2 09.10.2011 18:31
Скрипт срабатывает один раз, а далее ошибка BloodA JavaScript, Ajax 8 20.07.2011 16:02