Add conkys and wallpapers

This commit is contained in:
kuben
2019-11-03 15:04:22 +01:00
parent a58cdb6355
commit 86764734fd
57 changed files with 1669 additions and 0 deletions

70
.conky/scripts/gmail.py Executable file
View File

@@ -0,0 +1,70 @@
#! /usr/bin/env python3
import urllib.request
import urllib # For BasicHTTPAuthentication
import feedparser # For parsing the feed
from textwrap import wrap # For pretty printing assistance
import json
from os.path import expanduser
import sys
import time
_URL = "https://mail.google.com/gmail/feed/atom/unread"
WRAP_LIMIT = 50
def auth():
json_data=open(expanduser('~')+'/.conky/scripts/.passwords.json')
data = json.load(json_data)
username=data['gmail']['username']
password=data['gmail']['password']
auth_handler = urllib.request.HTTPBasicAuthHandler()
auth_handler.add_password(realm='New mail feed',
uri='https://mail.google.com/',
user= username,
passwd= password)
opener = urllib.request.build_opener(auth_handler)
# ...and install it globally so it can be used with urlopen.
urllib.request.install_opener(opener)
'''The method to do HTTPBasicAuthentication'''
f = opener.open(_URL)
feed = f.read()
return feed
def fill(text, width):
'''A custom method to assist in pretty printing'''
if len(text) < width:
return text + ' '*(width-len(text))
else:
return text
def readmail(feed):
'''Parse the Atom feed and print a summary'''
atom = feedparser.parse(feed)
print ("${color white}You have %s new mails${color} ${alignr}Updated: ${color white}%s" % ((len(atom.entries)), time.strftime("%I:%M")))
for i in range(len(atom.entries)):
if(i>10):
break
if(len(atom.entries[i].title) > WRAP_LIMIT):
#print ("%s" % (fill(wrap(atom.entries[i].title, 50)[0]+" ...", 55)))
print ("${color1}%s" % (wrap(atom.entries[i].title, WRAP_LIMIT)[0]+" ..."))
else:
print ("${color1}%s" % (wrap(atom.entries[i].title, WRAP_LIMIT)[0]))
def countmail(feed):
'''Parse the Atom feed and print a summary'''
atom = feedparser.parse(feed)
print ("Emails: %s new" %len(atom.entries))
if __name__ == "__main__":
f = auth() # Do auth and then get the feed
if(len(sys.argv) > 1):
countmail(f)
else:
readmail(f) # Let the feed be chewed by feedparse