20 lines
917 B
Python
20 lines
917 B
Python
import subprocess
|
|
import re
|
|
from ..utils import BasicSegment, decode
|
|
|
|
|
|
class Segment(BasicSegment):
|
|
def add_to_powerline(self):
|
|
powerline = self.powerline
|
|
try:
|
|
output = decode(subprocess.check_output(['uptime'], stderr=subprocess.STDOUT))
|
|
raw_uptime = re.search('(?<=up).+(?=,\s+\d+\s+user)', output).group(0)
|
|
day_search = re.search('\d+(?=\s+day)', output)
|
|
days = '' if not day_search else '%sd ' % day_search.group(0)
|
|
hour_search = re.search('\d{1,2}(?=\:)', raw_uptime)
|
|
hours = '' if not hour_search else '%sh ' % hour_search.group(0)
|
|
minutes = re.search('(?<=\:)\d{1,2}|\d{1,2}(?=\s+min)', raw_uptime).group(0)
|
|
uptime = u' %s%s%sm \u2191 ' % (days, hours, minutes)
|
|
powerline.append(uptime, powerline.theme.CWD_FG, powerline.theme.PATH_BG)
|
|
except OSError:
|
|
return
|