Re: Python Guru needed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Wed, Jan 7, 2009 at 11:01 PM, Paulo Cavalcanti <promac@xxxxxxxxx> wrote:


On Wed, Jan 7, 2009 at 10:52 PM, Jim <mickeyboa@xxxxxxxxxxxxx> wrote:
Ed Greshko wrote:
Jim wrote:
 
Arthur Pemberton wrote:
   
On Wed, Jan 7, 2009 at 5:18 PM, Arthur Pemberton <pemboa@xxxxxxxxx>
wrote:
       
On Wed, Jan 7, 2009 at 5:06 PM, Jim <mickeyboa@xxxxxxxxxxxxx> wrote:
         
Matthew Flaschen wrote:
             
Jim wrote:

                 
FC 10/KDE

I'm trying to set a simple Alarm Clock in FC10 and I have a Python
script I picked up, but I have error, running the script.
Can you explain to me with # comments on each line how to make
this work.

import time
import os

not_executed = 1

while(not_executed):
dt = list(time.localtime(time.time())
hour = dt[3]
minute = dt[4]
if hour == 5 and minute == 45:
os.popen2("open /Users/jun/shout.mp3")
not_executed = 0


Error Message;

$ python AlarmClock
 File "AlarmClock", line 7
 dt = list(time.localtime(time.time())
  ^
IndentationError: expected an indented block

                       
It's because of Python's always charming significant whitespace. I.E.
Python uses indenting instead of braces, making problems like this
extremely common.  (No sane language even has "IndentationErrors".
Also,
you were missing a paren, but that's not what caused the error above.

A correct version is attached.  Hopefully it will not get mangled by
your client.

Matt Flaschen

                   
I ran yo
$ python times.py
Welcome to the talking alarm clock
This program is public domain

Traceback (most recent call last):
 File "times.py", line 1, in <module>
 import time
 File "/home/mickey/time.py", line 8, in <module>
 t = time.localtime(time.time())

AttributeError: 'module' object has no attribute 'localtime'

Python is having problems of execute this line.

t = time.localtime(time.time())
               
1) This is getting offtopic
2) You need to at least send us the script you're using
3) There is no way that that line of code doesn't work if you did
`import time` first
4) You may want to check and IRC channel such as
irc://freenode.net/fedora
           
Also, there are several alarm apps already in Fedora, it doesn't seem
like you're trying to learn Python, so might be best to just use an
already existing app.


       
I told you in the beginning I know nothing about Python.
I'm getting answers that assume, I know what your talking about, I
don't, I just have a script that I'm asking how it works.
What are the other scripts that are already in Fedora.

   
I know nothing about python either.....  But the comments of others has
got me to ....

import time
import os

not_executed = 1

while(not_executed):
       dt = list(time.localtime(time.time()))
       hour = dt[3]
minute = dt[4]
if hour == 5 and minute == 45:
       os.popen2("open /Users/jun/shout.mp3")
not_executed = 0


I added a "tab" to Lines 7 and 8 as well as a closing ) on Line 7.  Note
that blank lines are counted.
Line 11 also has a tab added.  Hope that helps...and I hope my
formatting survives.




 #!/usr/bin/env python


import time
import os

not_executed = 1

while (not_executed):
   dt = list(time.localtime(time.time()))
   hour = dt[3]
   minute = dt[4]
   if hour == 22 and minute == 58:
        os.spawnv (os.P_WAIT, "/usr/bin/mpg123", ["mpg123", "/home/mp3/Abba/Gold/queen.mp3"] )
        not_executed = 0



If you want something more generic, to be called passing parameters,
such as, "alarm.py 23 15"

#!/usr/bin/env python

import time
import os
import sys

def alarm (h, m):
  while (True):
     dt = list(time.localtime(time.time()))
     hour = dt[3]
     minute = dt[4]
     if hour == h and minute == m:
        os.spawnv (os.P_WAIT, "/usr/bin/mpg123", ["mpg123", "/home/mp3/Abba/Gold/queen.mp3"] )
        break

def main(argv=None):
    if argv is None:
       argv = sys.argv

    if len(argv) < 3:
       print "Two arguments are needed."
       return 1
    else:
       if not (argv[1].isdigit() and argv[2].isdigit()):
          print "An hour and minute are expected."
          return 1

    alarm(int(argv[1]),int(argv[2]))

    return 0

if __name__=="__main__":
    sys.exit(main())


--
Paulo Roma Cavalcanti
LCG - UFRJ
-- 
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines
[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora Magazine]     [Fedora News]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [SSH]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux