parent
eee14260f4
commit
566709290e
@ -5,6 +5,7 @@ import sys
|
|||||||
import imaplib
|
import imaplib
|
||||||
|
|
||||||
from i3pystatus.mail import Backend
|
from i3pystatus.mail import Backend
|
||||||
|
from i3pystatus.core.util import internet
|
||||||
|
|
||||||
|
|
||||||
class IMAP(Backend):
|
class IMAP(Backend):
|
||||||
@ -34,24 +35,18 @@ class IMAP(Backend):
|
|||||||
|
|
||||||
def get_connection(self):
|
def get_connection(self):
|
||||||
if not self.connection:
|
if not self.connection:
|
||||||
try:
|
self.connection = self.imap_class(self.host, self.port)
|
||||||
self.connection = self.imap_class(self.host, self.port)
|
self.connection.login(self.username, self.password)
|
||||||
self.connection.login(self.username, self.password)
|
|
||||||
self.connection.select(self.mailbox)
|
|
||||||
except Exception:
|
|
||||||
self.connection = None
|
|
||||||
|
|
||||||
try:
|
|
||||||
self.connection.select(self.mailbox)
|
self.connection.select(self.mailbox)
|
||||||
except Exception:
|
|
||||||
self.connection = None
|
self.connection.select(self.mailbox)
|
||||||
|
|
||||||
return self.connection
|
return self.connection
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def unread(self):
|
def unread(self):
|
||||||
conn = self.get_connection()
|
if internet():
|
||||||
if conn:
|
conn = self.get_connection()
|
||||||
self.last = len(conn.search(None, "UnSeen")[1][0].split())
|
self.last = len(conn.search(None, "UnSeen")[1][0].split())
|
||||||
return self.last
|
return self.last
|
||||||
|
|
||||||
|
@ -47,7 +47,6 @@ class MPD(IntervalModule):
|
|||||||
}
|
}
|
||||||
color = "#FFFFFF"
|
color = "#FFFFFF"
|
||||||
|
|
||||||
|
|
||||||
def _mpd_command(self, sock, command):
|
def _mpd_command(self, sock, command):
|
||||||
try:
|
try:
|
||||||
sock.send((command + "\n").encode("utf-8"))
|
sock.send((command + "\n").encode("utf-8"))
|
||||||
@ -67,35 +66,31 @@ class MPD(IntervalModule):
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
try:
|
status = self._mpd_command(self.s, "status")
|
||||||
status = self._mpd_command(self.s, "status")
|
currentsong = self._mpd_command(self.s, "currentsong")
|
||||||
currentsong = self._mpd_command(self.s, "currentsong")
|
fdict = {
|
||||||
fdict = {
|
"pos": int(status.get("song", 0)) + 1,
|
||||||
"pos": int(status.get("song", 0)) + 1,
|
"len": int(status["playlistlength"]),
|
||||||
"len": int(status["playlistlength"]),
|
"status": self.status[status["state"]],
|
||||||
"status": self.status[status["state"]],
|
"volume": int(status["volume"]),
|
||||||
"volume": int(status["volume"]),
|
|
||||||
|
|
||||||
"title": currentsong.get("Title", ""),
|
"title": currentsong.get("Title", ""),
|
||||||
"album": currentsong.get("Album", ""),
|
"album": currentsong.get("Album", ""),
|
||||||
"artist": currentsong.get("Artist", ""),
|
"artist": currentsong.get("Artist", ""),
|
||||||
"song_length": TimeWrapper(currentsong.get("Time", 0)),
|
"song_length": TimeWrapper(currentsong.get("Time", 0)),
|
||||||
"song_elapsed": TimeWrapper(float(status.get("elapsed", 0))),
|
"song_elapsed": TimeWrapper(float(status.get("elapsed", 0))),
|
||||||
"bitrate": int(status.get("bitrate", 0)),
|
"bitrate": int(status.get("bitrate", 0)),
|
||||||
|
|
||||||
}
|
}
|
||||||
if not fdict["title"] and "filename" in fdict:
|
if not fdict["title"] and "filename" in fdict:
|
||||||
fdict["filename"] = '.'.join(
|
fdict["filename"] = '.'.join(
|
||||||
basename(currentsong["file"]).split('.')[:-1])
|
basename(currentsong["file"]).split('.')[:-1])
|
||||||
else:
|
else:
|
||||||
fdict["filename"] = ""
|
fdict["filename"] = ""
|
||||||
self.output = {
|
self.output = {
|
||||||
"full_text": formatp(self.format, **fdict).strip(),
|
"full_text": formatp(self.format, **fdict).strip(),
|
||||||
"color": self.color,
|
"color": self.color,
|
||||||
}
|
}
|
||||||
except Exception as e:
|
|
||||||
self.output = {"full_text": "error connecting MPD",
|
|
||||||
"color": self.color}
|
|
||||||
|
|
||||||
def on_leftclick(self):
|
def on_leftclick(self):
|
||||||
try:
|
try:
|
||||||
|
Loading…
Reference in New Issue
Block a user