Skip to content

Instantly share code, notes, and snippets.

View cclauss's full-sized avatar

Christian Clauss cclauss

View GitHub Profile
@cclauss
cclauss / getColor.py
Last active August 8, 2023 14:43
Creates a dict of 752 Pythonista scene.Colors from the tkinter color palette. This allow you to get colors like: 'light goldenrod yellow', 'light steel blue', 'SlateGray4', 'etc. I would recommend using this code to find the colors that work for your app and then hardcoding them into you app. Loading all 752 colors every time your app runs will …
import bs4, collections, console, requests, scene
tkColorDict = collections.OrderedDict() # key = tkinter color name
def loadTkColorDict(): # will automaticly be called by getColor() if needed
tkColorURL = 'http://www.tcl.tk/man/tcl8.6/TkCmd/colors.htm'
print('Loading tkinter colors from: ' + tkColorURL)
tkColorSoup = bs4.BeautifulSoup(requests.get(tkColorURL).text).tbody
print('Soup is ready. Creating color table...')
for tableRow in tkColorSoup.find_all('tr'):
@cclauss
cclauss / noDoze.py
Last active January 20, 2023 07:08
Update: This looks like a far better solution... `console.set_idle_timer_disabled(flag)` Disable or enable the idle timer (which puts the device to sleep after a certain period of inactivity). -- Keep relaunching yourself to prevent your iOS device from falling asleep. Run, sleep 30 seconds, store state in argv (or a file), reboot self -- Repeat…
# Update: This looks like a far better solution...
# `console.set_idle_timer_disabled(flag)`
# Disable or enable the idle timer (which puts the device to sleep after a certain period of inactivity).
# noDoze.py -- keep relaunching yourself to prevent
# your iOS device from falling asleep.
import notification, time, urllib
def argsString(argv):
@cclauss
cclauss / sounder.py
Last active December 26, 2021 18:33
Play each .caf sound inside of Pythonista.app
# sounder.py
# play each of the .caf sounds inside the Pythonista.app
import os, os.path, scene, sound
framesPerSound = 60
pythonistaDir = os.path.expanduser('~/Pythonista.app')
#print(os.listdir(pythonistaDir))
soundFileExtention = '.caf'
wallpaperAppIcon = ('/AppIcon76x76@2x~ipad.png', '/AppIcon60x60@2x.png')
@cclauss
cclauss / watch_pythonista_forum.py
Last active November 25, 2020 17:27
Learning how to use feedparser... recent_entries() will print out info on all posts to the Pythonista forum in the past 24 hours. watch_feed() will print out info on the last post to the Pythonista forum. Sleeps for 15 minutes then check to see if there is a newer post. If so, prints out info on it and opens its URL in the webbrowser. Repeat.
#!/usr/bin/env python
'''
recent_entries() will print out info on all posts to the Pythonista forum in the past 24 hours.
watch_feed() will print out info on the last post to the Pythonista forum.
Sleeps for 15 minutes then check to see if there is a newer post.
If so, prints out info on it and opens its URL in the webbrowser. Repeat.
'''
@cclauss
cclauss / elapsedTime.py
Last active November 22, 2019 22:30
Useful for measuring elapsed time on computing, i/o, and user tasks.
# an improved version at https://github.com/cclauss/Ten-lines-or-less/blob/master/elapsed_time.py
import math, time
def elapsedTime(start_time):
dt = time.time() - start_time
minutes = dt / 60
seconds = dt % 60
centiseconds = math.modf(dt)[0] * 100
return '%02d:%02d.%02d' % (minutes, seconds, centiseconds)
@cclauss
cclauss / recent_tweets.py
Last active October 30, 2017 07:42
Given a Twitter application access_token and a Twitter screen_name... print out that user's most recent Tweets using the Twitter v1.1 REST API.
import json, requests, sys #, pprint
'''
https://github.com/taherh/twitter_application_auth/blob/master/get_bearer_token.py
Use get_bearer_token.py (works on Pythonista) to get your Twitter access_token.
> You will need to create a new application on https://dev.twitter.com
> Enter below the Twitter access_token you get from running get_bearer_token.py
'''
@cclauss
cclauss / helloBarcode.py
Last active September 15, 2017 07:50
ZBar delivers barcode data to Pythonista.
# helloBarcode - ZBar delivers barcode data to Pythonista
programName = sys.argv[0].rpartition('/')[2]
theBarcode = sys.argv[1] if len(sys.argv) > 1 else None
fmt = '{} was launched with barcode: {}'
print(fmt.format(programName, theBarcode))
# Save this file in Pythonista as 'helloBarcode'.
# Download free app ZBar from the iTunes App Store.
# Launch ZBar on your device.
# Scan the barcode on a book, coke can, whatever.
@cclauss
cclauss / diagonal_line.py
Last active January 4, 2016 21:49
Use PIL to draw an image of a diagonal line and then make a Pythonista scene.Layer to display the image.
import Image, ImageDraw, scene
def diagonalLineImage(inLength = 200, inColors = ('blue', 'ivory')):
imageLength = inLength + 100 # the image can be larger than what you draw
theImage = Image.new('RGBA', (imageLength, imageLength), inColors[1])
draw = ImageDraw.Draw(theImage)
draw.line((0, 0, inLength, inLength), fill = inColors[0])
del draw
return theImage
@cclauss
cclauss / chicago_datasets.py
Last active January 4, 2016 21:09
Socrata Open Data datasets from the City of Chicago can be selected, cached locally, and printed out.
Moved to GitHub repo: https://github.com/cclauss/Open_Data
@cclauss
cclauss / KeyboardHack.py
Last active January 3, 2016 07:09
KeyboardHack -- Just a proof of concept to prove that an on screen keyboard could be created in a Pythonista scene.Scene. Four keyboards are defined but only the first is implemented. Shift key not implemented. No number keys. Hard coded to iPad screen resolution, etc. Someone should make it an open source project on GitHub and curate changes (p…
# -*- coding: utf-8 -*-
import scene
keyboard_layouts = (
'''
q w e r t y u i o p del
a s d f g h j k l return
z x c v b n m , . shift
.?123 space .?123