The robot.py
program from the original gist can be run by requesting:
https://www.pythonanywhere.com/gists/5502596/robot.py/ipython3/
The robot.py
program from the original gist can be run by requesting:
https://www.pythonanywhere.com/gists/5502596/robot.py/ipython3/
import os | |
import subprocess | |
def get_google_news_homepage(): | |
print("this will fetch the current google news home page as text.") | |
print("it will use the requests and lxml libaries") | |
print("press enter to continue") | |
input() | |
import requests | |
from lxml import html | |
page_raw = requests.get('http://www.news.google.com').content | |
parsed = html.fromstring(page_raw) | |
print( | |
'\n'.join( | |
line for line in | |
parsed.cssselect('body')[0].text_content().split('\n') | |
if "{" not in line and ";" not in line and "}" not in line | |
) | |
) | |
print("phew! what a lot of news... and *so* readable in this format!") | |
print("check out out show_batteries_included next? or maybe type '?' to see IPython's help?") | |
def show_batteries_included(python_version=2.7): | |
if python_version not in (2.6, 2.7, 3.3, 3.4): | |
return "only pythons 2.6, 2.7, 3.3 and 3.4 'mafraid" | |
print(subprocess.check_output(["/usr/local/bin/pip" + str(python_version), "freeze"]).decode("utf-8")) | |
def schemers_easter_egg(): | |
get_ipython().system(u'guile') |
import sys | |
import time | |
def print_with_pause(some_text=''): | |
print(some_text) | |
sys.stdout.flush() | |
time.sleep(0.6) | |
print("\n") | |
for _ in range(5): | |
print(".", end="") | |
sys.stdout.flush() | |
time.sleep(0.3) | |
print_with_pause() | |
print("Hello, World!") | |
print_with_pause() | |
print_with_pause() | |
print_with_pause() | |
print_with_pause("I am a Gist console on PythonAnywhere") | |
print_with_pause() | |
print_with_pause("I am running the code from a gist stored on github") | |
print_with_pause() | |
print_with_pause() | |
print_with_pause() | |
print_with_pause( | |
"Why would you want me? Well, maybe you want to share a bit of " | |
"code with someone, but you also want them to be able to try it out in " | |
"a console" | |
) | |
print_with_pause("You might use it to post solutions to StackOverflow questions for example..") | |
print_with_pause("Or maybe you've written a mini-library you want to show off on your website") | |
print_with_pause("Or a tutorial perhaps... who knows?") | |
print_with_pause() | |
print_with_pause() | |
print_with_pause( | |
"I am running in a fairly fully-featured linux sandbox. There's a filesystem..." | |
) | |
print_with_pause("Here is os.listdir('.') and os.listdir('/')") | |
import os | |
print_with_pause(os.listdir('.')) | |
print_with_pause(os.listdir('/')) | |
print_with_pause() | |
print_with_pause() | |
print_with_pause( | |
"I can access the Internet (via a proxy server with a whitelist)..." | |
) | |
print_with_pause() | |
print_with_pause( | |
"And I can access all the pre-installed modules supported by PythonAnywhere" | |
) | |
print_with_pause() | |
print_with_pause( | |
"When I finish loading the default code from the gist, I leave the user " | |
"in interactive mode so they can play around" | |
) | |
print_with_pause() | |
print_with_pause( | |
"Try me now! You're in an IPython shell, so things will tab-complete" | |
) | |
print_with_pause( | |
"Here's a few functions I'm making available to you\n" | |
" get_google_news_homepage()\n" | |
" show_batteries_included(python_version=2.7)\n" | |
" schemers_easter_egg()\n" | |
) | |
print_with_pause() | |
print_with_pause() | |
print_with_pause( | |
"And check the info bar on the left for instructions on how to make your own Gist consoles" | |
) | |
from extra_functions import get_google_news_homepage, show_batteries_included, schemers_easter_egg | |