Skip to content

Instantly share code, notes, and snippets.

@MercuryRising
MercuryRising / arduinoDataWriter.py
Created June 24, 2012 01:31
Python Data Logger from Arduino
import serial
import time
import datetime
UNO = '/dev/ttyACM0'
ser = serial.Serial(UNO, 115200)
repeatTime = 1000 # milliseconds
def writeData(value):
@MercuryRising
MercuryRising / arduinoPlotter.py
Created June 24, 2012 01:40
Threaded Arduino Reader / Plotter / Writer
'''
I adapted the live plotting code from somewhere but I cannot remember where.
If you know where, I would be happy to add it to the comment here.
'''
'''
I adapted the live plotting code from somewhere but I cannot remember where.
If you know where, I would be happy to add it to the comment here.
'''
import threading
@MercuryRising
MercuryRising / bodyInformation.py
Created June 26, 2012 06:21
Calculating the information the body receives over a lifetime
def humanize_bytes(bytes, precision=1):
# taken from http://code.activestate.com/recipes/577081-humanized-representation-of-a-number-of-bytes/
abbrevs = (
(1<<60L, 'EB'),
(1<<50L, 'PB'),
(1<<40L, 'TB'),
(1<<30L, 'GB'),
(1<<20L, 'MB'),
(1<<10L, 'kB'),
(1, 'bytes')
print("Hello master chef, and welcome to MeatTemp Version 1.0!")
print("Please type your name and press ENTER: ")
name = input()
print("Welcome,",name+"! Please select the number corresponding to the type of meat you will be working with and press ENTER: ")
print("1. Beef (Ground)")
print("2. Beef (Non-ground)")
print("3. Chicken")
print("4. Turkey")
import sys
def printIt(meatType, temp):
meatType = ' '.join(meatType)
print("I recommend cooking your {0} to an internal temperature of {1} degrees Fahrenheit.".format(meatType, temp))
print("Thank you for using MeatTemp Version 1.0! Bon appetit!")
sys.exit()
while True:
print("Hello master chef, and welcome to MeatTemp Version 1.0!")
@MercuryRising
MercuryRising / flask_redis_cache.py
Created October 12, 2012 00:14
Flask Redis Cache
import redis
import time
def cache_or_get(fp, expiry=300, r=redis.Redis(db=5)):
'''
Input fp: file to cache or get
Input expiry: time to expire for file (default 300 seconds)
Input r: redis instance (default new instance with db set to 4)
Usage:
@MercuryRising
MercuryRising / redisCache.py
Created October 13, 2012 20:06
Caching Files
import redis
import time
import random
def load_file(fp, fpKey, r, expiry):
with open(fp, "rb") as f:
data = f.read()
p = r.pipeline()
p.set(fpKey, data)
@MercuryRising
MercuryRising / rcl.py
Created November 6, 2012 04:27
Reddit Command Line
#! /usr/bin/env python2
# Requests is much easier to use than urllib
import requests
# needed for sys.exit()
import sys
# Wrap it in a function you can, you might find a use for it later
# We're adding subreddit functionality, but still providing a default
@MercuryRising
MercuryRising / parserComparison.py
Created November 12, 2012 19:29
Pyquery, lxml, BeautifulSoup comparison
from bs4 import BeautifulSoup as bs
from pyquery import PyQuery as pq
from lxml.html import fromstring
import re
import requests
import time
def Timer():
#/usr/bin/python
import serial
import time
import sys
extruderSetPoint = 345
bedSetPoint = 6300
ser = serial.Serial("/dev/ttyUSB0", 115200)