dangreco
6/2/2018 - 8:29 PM

papr

#!/bin/python2

import urllib2
import sys
import os
import pwd
from bs4 import BeautifulSoup
from PIL import Image
from StringIO import StringIO
import subprocess

table = None
current = 0
orig = "sizes/o/in/photostream"

currUser = pwd.getpwuid(os.getuid())[0]
currUri = subprocess.check_output(['gsettings', 'get', 'org.gnome.desktop.background', 'picture-uri'])
destUri = 'file:///home/' + currUser + "/.papr/papr.jpg"

if currUri.strip()[1:-1] != destUri:
    subprocess.check_output(['gsettings', 'set', 'org.gnome.desktop.background', 'picture-uri', destUri])

if not os.path.exists('/home/' + currUser + "/.papr"):
    os.makedirs('/home/' + currUser + "/.papr")

def main():
    response = urllib2.urlopen('http://www.flickr.com/explore/interesting/7days/')
    html = response.read()
    soup = BeautifulSoup(html, 'html.parser')
    photos = soup.findAll(class_="Owner")

    for p in photos:
        anchor = p.find("a")
        if anchor != -1:
            href = anchor.get("href")
            p_response = urllib2.urlopen('http://flickr.com' + href + orig)
            p_html = p_response.read()
            p_soup = BeautifulSoup(p_html, 'html.parser')
            imgs = p_soup.findAll("img")
            for image in imgs:
                if "o.jpg" in image.get("src"):
                    src = image.get("src")
                    data = urllib2.urlopen(src).read()
                    im = Image.open(StringIO(data))
                    w = im.size[0]
                    h = im.size[1]
                    if w >= 1920 and h >= 1080:
                        im.convert('L').save(destUri[7:])
                        sys.exit(0)


main()