changed imports to import from

This commit is contained in:
Fredrick W. Warren 2024-09-10 12:00:47 -06:00
parent 26de7e1d61
commit 03ca9b0a48

View File

@ -2,14 +2,20 @@
"""pywmnop.py """pywmnop.py
WindowMaker dockapp doing nothing WindowMaker dockapp internet radio player
Copyright (C) 2006 Mario Frasca Copyright (C) 2006 Mario Frasca
Licensed under the GNU General Public License. Licensed under the GNU General Public License.
""" """
import sys, time from codecs import open
from fcntl import fcntl, F_GETFL, F_SETFL
from os import environ, sep, O_NONBLOCK
from re import compile
from select import select
from signal import signal, SIGCHLD
from subprocess import Popen, DEVNULL, PIPE
from wmdocklib import wmoo as wmoo from wmdocklib import wmoo as wmoo
class Application(wmoo.Application): class Application(wmoo.Application):
@ -33,14 +39,11 @@ class Application(wmoo.Application):
self.reset() self.reset()
self._buffered = '' self._buffered = ''
import re self._feedback = compile(r'.+A:.*?% ([0-9\.]+)%')
self._feedback = re.compile(r'.+A:.*?% ([0-9\.]+)%')
import fileinput, os configfile = sep.join([environ['HOME'], '.pyradiorc'])
configfile = os.sep.join([os.environ['HOME'], '.pyradiorc'])
import codecs f = open(configfile, 'r', 'utf-8')
f = codecs.open(configfile, 'r', 'utf-8')
t = f.read() t = f.read()
f.close() f.close()
for i in t.split(u'\n'): for i in t.split(u'\n'):
@ -57,7 +60,6 @@ class Application(wmoo.Application):
def handler(self, num, frame): def handler(self, num, frame):
if self._expectdying: if self._expectdying:
print(self._expectdying)
self._expectdying -= 1 self._expectdying -= 1
else: else:
self.reset() self.reset()
@ -65,37 +67,41 @@ class Application(wmoo.Application):
self._colour = 1 self._colour = 1
def startPlayer(self): def startPlayer(self):
import os, subprocess, signal
commandline = [mplayer, commandline = [mplayer,
'-cache', self.radioList[self.currentRadio][2], '-cache',
str(abs(int(self.radioList[self.currentRadio][2]))),
self.radioList[self.currentRadio][1] self.radioList[self.currentRadio][1]
] ]
self.child = subprocess.Popen(commandline, # if cache is negative then this is a playlist
stdin =subprocess.PIPE, if int(self.radioList[self.currentRadio][2]) < 0:
stdout=subprocess.PIPE, commandline.insert(2, '-playlist')
stderr=subprocess.DEVNULL) self.child = Popen(commandline,
signal.signal(signal.SIGCHLD, self.handler) stdin =PIPE,
stdout=PIPE,
stderr=DEVNULL)
signal(SIGCHLD, self.handler)
self._flash = 0 self._flash = 0
self._paused = False self._paused = False
self._buffered = '' self._buffered = ''
self._buffering = 1 self._buffering = 1
self._cacheLevel = 0 self._cacheLevel = 0
import fcntl flags = fcntl(self.child.stdout, F_GETFL)
flags = fcntl.fcntl(self.child.stdout, fcntl.F_GETFL) fcntl(self.child.stdout, F_SETFL, flags | O_NONBLOCK)
fcntl.fcntl(self.child.stdout, fcntl.F_SETFL, flags | os.O_NONBLOCK) flags = fcntl(self.child.stdin, F_GETFL)
flags = fcntl.fcntl(self.child.stdin, fcntl.F_GETFL) fcntl(self.child.stdin, F_SETFL, flags | O_NONBLOCK)
fcntl.fcntl(self.child.stdin, fcntl.F_SETFL, flags | os.O_NONBLOCK)
def stopPlayer(self): def stopPlayer(self):
if self.child: if self.child:
print(self._expectdying) # print(self._expectdying)
self.child.stdin.write(b'q') self.child.stdin.write(b'q')
self.child.stdin.flush()
self._expectdying += 1 self._expectdying += 1
self.child = None self.child = None
def muteStream(self, event): def muteStream(self, event):
if self.child and self._buffering == 0: if self.child and self._buffering == 0:
self.child.stdin.write(b'm') self.child.stdin.write(b'm')
self.child.stdin.flush()
self.putPattern(9*self._muting, 0, 9, 11, 30, 29) self.putPattern(9*self._muting, 0, 9, 11, 30, 29)
self._muting = 1 - self._muting self._muting = 1 - self._muting
@ -128,6 +134,7 @@ class Application(wmoo.Application):
def pauseStream(self, event): def pauseStream(self, event):
if self.child and not self._buffering: if self.child and not self._buffering:
self.child.stdin.write(b' ') self.child.stdin.write(b' ')
self.child.stdin.flush()
self._paused = not self._paused self._paused = not self._paused
if self._paused: if self._paused:
self._colour = 1 self._colour = 1
@ -163,8 +170,7 @@ class Application(wmoo.Application):
return return
self._count = 0 self._count = 0
if self.child: if self.child:
import select [i, o, e] = select([self.child.stdout], [], [], 0)
[i, o, e] = select.select([self.child.stdout], [], [], 0)
if i: if i:
line = self.child.stdout.read(102400).decode("utf-8") line = self.child.stdout.read(102400).decode("utf-8")
self._buffered += line self._buffered += line