Tuesday, September 28, 2010

I learned how to make a "Desktop Launcher"

I right clicked on my desktop and created a desktop launcher for my gas mileage program.  The code is pasted below.


#!/usr/bin/python
#Gas mileage calculator written in version 2.6
#This program helps me keep track of my gas mileage!

from Tkinter import *

def calcMPG():
    theGallons = galEntry.get()
    theMiles = milesEntry.get()
    milesPerGallon = float(theGallons)/float(theMiles),'miles per gallon'
    print milesPerGallon
#open a file and write to it.
    fob = open('Aveo_MPG.txt','a')
    fob.write('------------------------------')
    fob.write('\n')
    fob.write(str(theGallons)+galEntry.get()+'\n')
    fob.write('Miles = '+milesEntry.get()+'\n')
    fob.write(str(milesPerGallon)+'\n')
    fob.close
#Clear the entry widgets!
    galEntry.delete(0,END)
    milesEntry.delete(0,END)
#open Aveo_MPG file and list it. THIS WORKS GREAT!
def show():
    fob = open('Aveo_MPG.txt','r')
    for eachline in fob:
        print eachline
    fob.close()
  
          
root = Tk()
root.config(bg='blue')

aLable = Label(root,text="Miles")
aLable.pack()

galEntry = Entry(root)
galEntry.pack(padx=5,pady=5)

aLable2=Label(root,text="Gallons")
aLable2.pack()

milesEntry=Entry(root)
milesEntry.pack(padx=5,pady=5)

btn1= Button(root,text='Calc MPG', command = calcMPG)
btn1.pack(padx=5,pady=5)

btn2=Button(root,text='Show list',command=show)
btn2.pack(padx=5,pady=5)
root.mainloop()

Tiny snippet of code that opens a webbrowser.

from Tkinter import *
import webbrowser

def opensnco():
    webbrowser.open('http://www.snco.us/')


root=Tk()
btn1=Button(root,text='Open SNCO ',command=opensnco)
btn1.pack()

root.mainloop()

Wednesday, September 15, 2010

Make a python program executable

I added  #!/usr/bin/python to some python code using the nano editor. Then I made it an executable file using chmod +x GMC.py.  I was able to run it in bash by typing ./GMC.py.

Tuesday, September 14, 2010

Minor update to Drop down menu

I have been adding some more options to my drop down menu widget.

Saturday, September 11, 2010

My first option menu written in Python 2.6

I am learning how to create option menus with Python. I made a very simple one that opens web pages.  This is just a learning excercise, and it is very simple. I have to start somewhere.

pages.  from Tkinter import *
import webbrowser
#My first OptionMenu widget written in Python 2.6

def OpenWeb():
    showWeb=theAction.get()
    if showWeb=='My blog':
       webbrowser.open('http://stevespythonprogramadventures.blogspot.com/')
    if showWeb=='open SNCO':
        webbrowser.open('http://www.snco.us/default.asp')
    if showWeb=='GISviewer':
        webbrowser.open('http://gis.snco.us/PublicGIS/')
  


root=Tk()

theAction=StringVar()
theAction.set(None)

OptionMenu(root,theAction,'My blog','open SNCO','GISviewer').pack()

abtn=Button(root, text='go!',command=OpenWeb)
abtn.pack()
      
root.mainloop()

Thursday, September 9, 2010

Work Program

from Tkinter import *
import webbrowser

'''Written in Python 2.6- My swiss army knife program.
written by Steve Atchison March 3/10/2010 '''
def AppXnd():
    webbrowser.open('http://sncowebex/AppXtender/')
    open

def WebDocs():
    webbrowser.open('http://snintraweb/rod/gis.aspx')
    open
  
def gisViewer():
    webbrowser.open('http://gis.snco.us/PublicGIS/')
  
def sncoWeb():
    webbrowser.open('http://www.snco.us/default.asp')
    open

def PermitWeb():
    webbrowser.open('http://www.snco.us/planning/permitting_reports.asp')
    open

def clearText():
    myText.delete('1.0',END)

def getText():
    #This function opens a file, writes to it, and closes it.
    theText = myText.get('1.0',END)
    fob = open('myJot.txt','a')
    fob.write(theText)
    fob.write('\n')
    fob.close
    myText.delete('1.0',END)
  
def findunknownside():
    #Find unknown side if 1 side and acres are known
    EntryKnownSide = float(Knownside.get())
    EntryAcres = float(Acres.get())
    AcresToSF = EntryAcres * 43560
    print 'Known side =', EntryKnownSide,'Acres =',EntryAcres, 'Unknown Side= ',round((AcresToSF / EntryKnownSide),2),'ft'
    Knownside.delete(0,END)
    Acres.delete(0,END)
  
#Convert rods to feet
def conRod():
    enteredRods = float(theEntry.get())
    print enteredRods,'rods = ',round(enteredRods * 16.5,2), 'ft'
    theEntry.delete(0,END)
#Convert chains to feet
def conChains():
    enteredChains = float(theEntry.get())
    print enteredChains,'chains = ',round(enteredChains * 66,2), 'ft'
    theEntry.delete(0,END)
  
#This code creates the GUI
root = Tk()

root.geometry('200x450')
root.config(bg = 'yellow')

#Open a web browser
GISbtn= Button(root,text='GIS viewer',command=gisViewer)
GISbtn.pack(side='bottom')

apxBtn = Button(root,text='Apx 2',command=AppXnd)
apxBtn.pack(side='bottom')

webButton = Button(root,text='open snco',command=sncoWeb)
webButton.pack(side='bottom',padx=5,pady=5)

aBtn=Button(root,text='Permits',command=PermitWeb)
aBtn.pack(side='bottom')

webdocbtn = Button(root,text='Web Doc',command=WebDocs)
webdocbtn.pack(side='bottom')

label1 = Label( text = 'Known Side')
label1.pack(padx = 10, pady =2)
label1.config(bg='yellow')
    
Knownside = Entry(root)
Knownside.pack()

label2 = Label(root,text = 'Acres')
label2.pack(padx = 10, pady =2)
label2.config(bg = 'yellow')

Acres = Entry()
Acres.pack(padx=5,pady=2)

b1 = Button(root,text = 'Find unknown side',command = findunknownside)
b1.pack(padx = 10, pady=10)
b1.config(width = 16)


win2 = Frame()
win2.pack(padx=10,pady=10)

b2 = Button(win2,text=' Rods ', command = conRod)
b2.pack(side='left')
b2.config(width=6)



b3 = Button(win2,text=' Chains',command =conChains)
b3.pack(side='top')
b3.config(width=6)

theEntry = Entry(width= 10)
theEntry.pack()

win3=Frame()
win3.pack(padx=3,pady=3)
win3.config(bg='limegreen')
#win3.config(bg='lightgreen')

btn4 = Button(win3,text='Save',command =getText)
btn4.pack(pady=10,padx=10,side ='top')


btn5=Button(win3,text='clear',command=clearText)
btn5.pack()


myText = Text(win3)
myText.pack(padx=5,pady=5)

root.mainloop()

Monday, September 6, 2010

Python 2.6 Message box

#Unknown side engine by Steve Atchison, python 2.6 ,Sept 6 2010
from Tkinter import *
import tkMessageBox

def showresult():
    sqfeet=float(theAcres.get())*43560 #convert acres to square feet
    unknownSide= sqfeet/float(knownSide.get()) #calculate unknown side

    #Message box code
    tkMessageBox.showinfo('Unknown side','Unknown side is %.2f  ft'  % unknownSide)

    #clear dialog
    theAcres.delete(0,END)
    knownSide.delete(0,END)

#Tkinter code
root = Tk()

Label(root,text='Known side').pack()
knownSide=Entry(root)
knownSide.pack(padx=5,pady=5)

Label(root,text='Acres').pack()
theAcres=Entry(root)
theAcres.pack(padx=5,pady=5)

btn=Button(root,text='Find unknown side',command=showresult)
btn.pack()

root.mainloop()



Saturday, September 4, 2010

My deed log program written in python 2.6

#Deed assitant by Steve Atchison Sept 3 2010, python 2.6
from Tkinter import *

def ListFile():
    result_f=open('Deedinfo.txt')
    for eachline in result_f:
        print eachline
    result_f.close()
  

def DataSave():
    fob=open('Deedinfo.txt','a')
    fob.write('-------------------------------\n')
    fob.write('Book Page: '+ deed.get()+'\n')
    fob.write('Deed date: '+ deeddate.get()+'\n')
    fob.write('Grantor: ' + grantor.get()+'   Grantee: ' + grantee.get()+'\n')
    #fob.write('Grantee: ' + grantee.get()+'\n')
    fob.write('PIN :'+pin.get()+'\n')
    fob.write('Action taken: '+ theAction.get()+'\n')
    fob.close
    #clears entry boxes
    deed.delete(0,END)
    deeddate.delete(0,END)
    grantor.delete(0,END)
    grantee.delete(0,END)
    pin.delete(0,END)
  
root = Tk()
#root.geometry('225x350')
root.config(bg='limegreen')

Label(text = 'Book & Page').pack()
deed = Entry(root)
deed.pack(padx=5,pady=5)

Label(text='Deed Date').pack()
deeddate=Entry(root)
deeddate.pack(padx=5,pady=5)

Label(text='Grantor ').pack()
grantor =Entry(root)
grantor.pack(padx=5,pady=5)

Label(text='Grantee').pack()
grantee=Entry(root)
grantee.pack(padx=5,pady=5)

Label(text='Parcel ID').pack()
pin=Entry(root)
pin.pack(padx=5,pady=5)

#Radion button widgets
theAction=StringVar()
theAction.set(None)
Radiobutton(root,text='Map work card',value='Map work card',variable=theAction).pack()
Radiobutton(root,text='Split',value='Split',variable=theAction).pack()
Radiobutton(root,text='Combination',value='Combination',variable=theAction).pack()
Radiobutton(root,text='Not in title',value='Not in title',variable=theAction).pack()
Radiobutton(root,text='Name change',value='Name change',variable=theAction).pack()

saveBtn=Button(root,text='Save ', command=DataSave)
saveBtn.pack(padx=2,pady=2)

listBtn=Button(root,text='List Deed File',command=ListFile)
listBtn.pack(padx=2,pady=2)

root.mainloop()

Friday, September 3, 2010

My deed log program

I was at work trying to figure out some deeds, and I got the idea to write a program that would assist me in keeping track of who owns what. It can get very confusing, so I wrote a program. I ran it in a bash shell too (picture on the right,) and I think it look pretty good. I need to do some more work on it.

Followers

Blog Archive

About Me

My photo
Biking helps me to cope with life.