#!/usr/bin/python
# -*- coding: utf-8 -*-

# GPL vTereFere (aka public domain)
# Zamber ( http://zamber.net/ )

# Skrypt dziala za rowno na windowsie jak i *nixach :)

# INSTRUKCJA for windows:

# Dostosowujemy zmienne na koncu instrukcji do swoich potrzeb!

# Instalujemy Pythona http://www.python.org/ftp/python/2.6.4/python-2.6.4.msi

# w cmd przeciagamy na poczatek python.exe z folderu z pythonem a 
# pozniej kam.py i odpalamy dla pewnosci, czy dziala.

# Jezeli dziala tworzymy nowe zaplanowane zadanie (w panelu sterowania) 
# wskazujemy na pythonw.exe i zaznaczamy checkboxa z zaawanowanymi 
# wlasciwosciami zadania na koncu i do sciezki pythonw.exe dodajemy 
# sciezke do kam.py o tak:
# "C:\Program Files\Python\pythonw.exe" "C:\Documents and Settings\Zamber\Pulpit\kam.py"

# END NOTES:
# Odpalamy pythonw.exe bo wtedy nie bedzie nam wyskakiwac okienko :).
# Mozna tez po prostu zrobic sobie na pulpicie skrot z ta sciezka i 
# odpalac jak trzeba :).

# pythonw.exe zawsze mozna zakonczyc w menedzeze zadan.

# *nixowcy beda wiedzieli co robic :).

# Interwal pomiedzy zasysaniem
delay = 5

# Miejsce zapisania np C:\Kamerka\\ (podwojny bakslasz!) albo /home/zamber/kamerka/
dir = "/home/zamber/Obrazy/kam/"

# Format pliku (zmienne: http://docs.python.org/library/time.html#time.strftime )
format = "ratusz-%y-%m-%d-%H-%M-%S"

# url kamerki
url = "http://62.108.168.13/now.jpg"

# magic below :P
import urllib2, time

def file_save(url, filename):
  try:
    f = urllib2.urlopen(url)
  except urllib2.URLError, e:
    if hasattr(e, "reason"):
      print "!! Nie dotarlem do serwera", url
      print "!! Powod: ", e.reason
    elif hasattr(e, 'code'):
      print "!! Serwer nie podolal", url
      print "!! Error code: ", e.code
    return 0
  try:
    output = open(filename,"wb")
    output.write(f.read())
    output.close()
  except IOError:
    print "!! Nie moge zapisac pliku! Sprawdz uprawnienia zapisu."
    return 0
  return 1

def main():
  print "** Zasysacz obrazow z kamerki ratuszowej for j0tj0t87"
  print "** Aby zakonczyc wcisnij ctrl+c"
  
  try:
    while 1:
      filename = dir + time.strftime(format) + ".jpg"
      file_save(url, filename)
      time.sleep(delay)
  except KeyboardInterrupt:
    print "Papa..."
    return 1

if __name__ == '__main__':
  main()
