Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- """
- Raspberry Pi Youtube Counter for CheapAssReviews Channel
- Cheapassreviews.com
- Helped me:
- http://stackoverflow.com/questions/36252027/how-to-use-youtube-api-v3-for-realtime-subscribers
- https://max7219.readthedocs.io/en/latest/
- http://raspi.tv/2013/8-x-8-led-array-driven-by-max7219-on-the-raspberry-pi-via-python
- http://www.raspberrypi-spy.co.uk/2012/06/simple-guide-to-the-rpi-gpio-header-and-pins/
- http://raspberrypi.stackexchange.com/questions/8734/execute-script-on-start-up
- https://stackoverflow.com/questions/14528958/python-youtube-api-v3-how-to-get-video-id-only
- """
- import RPi.GPIO as GPIO
- import math
- import os
- import sys
- import httplib2
- import json
- import urllib
- import time
- import random
- import socket
- from select import select
- import max7219.led as led
- #channel id and API key
- #channel_id = "ENTER YOUR CHANNEL ID HERE" # channel id
- #channel_id = "UCtinbF-Q-fVthA0qrFQTgXQ" # casey
- channel_id = "UC9irdFPmwPJOGQotvGzA79Q" # knoptop
- api_key = "ENTER YOUR API KEY HERE"
- channel_query_url = "https://www.googleapis.com/youtube/v3/search?key=" + api_key + "&channelId="+ channel_id + "&part=snippet,id&order=date&maxResults=1"
- loops_for_counter = 10
- brightness_setting = 8
- def is_connected():
- try:
- host = socket.gethostbyname("www.google.com")
- s = socket.create_connection((host, 80), 2)
- return True
- except:
- pass
- return False
- def shutdown_puter(device):
- try:
- if not(is_connected()):
- print "No Internet Bro"
- device.clear()
- time.sleep(1)
- print "No Internet Bro"
- time.sleep(1)
- print "Shutting down..."
- time.sleep(2)
- print "I meant that! I'm going to shut down"
- time.sleep(3)
- print "Hit CTRL - C to not shut down"
- time.sleep(10)
- if not(is_connected()):
- os.system("sudo shutdown -h now")
- except KeyboardInterrupt:
- pass
- def main():
- # create seven segment device
- device = led.sevensegment(cascaded=1)
- device.brightness(brightness_setting)
- device.clear()
- while 1:
- for _ in range(loops_for_counter):
- #shutdown_puter(device)
- try:
- soup = urllib.urlopen(channel_query_url)
- markup = soup.read()
- feed_json = json.loads(markup)
- v_id = feed_json["items"][0]["id"]["videoId"]
- #print "v_id:", v_id
- v_query_url = "https://www.googleapis.com/youtube/v3/videos?id=" + v_id + "&key="+ api_key + "&part=statistics"
- #print "query_URL:", v_query_url
- soup2 = urllib.urlopen(v_query_url)
- markup2 = soup2.read()
- feed_json2 = json.loads(markup2)
- view_count = feed_json2["items"][0]["statistics"]["viewCount"]
- #print view_count
- #print sub_count
- device.write_text(0, view_count)
- except:
- device.clear()
- time.sleep(1)
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment