epoch seconds from a datetime

2008-08-28 Thread Richard Rossel
Hi friends,
I need a little help here, I 'm stuck with epoch calculation issue.
I have this datetime:
date_new = datetime(*time.strptime('20080101T00','%Y%m%dT%H%M%S')
[0:6])
This date_new is in UTC
Now I need to know the seconds since epoch of this new date, so I run
this:
seconds = int(time.mktime(date_new.timetuple()))
but the seconds returned belongs to :
Tue, 01 Jan 2008 03:00:00 GMT
because the  localtime is in timezone 'America/Santiago': -3

I fix this trying to alter the TZ with time.tzset():
 os.environ['TZ'] = 'UTC'
time.tzset()

 and now I can gets the right epoch, but I can't restore the
previous TimeZone, I try with:
os.environ['TZ'] = '', but the time.tzset() doesn't back to the
original ( America/Santiago)

A solution should be set the os.environ['TZ']   to  'America/Santiago'
but I can't make a TZ hardcode because
the software should works on different timezones.

So the question, how can restore the system into original timezone, or
how to know the seconds since epoch
from UTC datetime without change the local system TIMEZONE.

please help

--
http://mail.python.org/mailman/listinfo/python-list


Re: epoch seconds from a datetime

2008-08-28 Thread Richard Rossel
On 28 ago, 14:25, Chris Rebert [EMAIL PROTECTED] wrote:
 On Thu, Aug 28, 2008 at 10:18 AM, Richard Rossel [EMAIL PROTECTED] wrote:
  Hi friends,
  I need a little help here, I 'm stuck with epoch calculation issue.
  I have this datetime:
  date_new = datetime(*time.strptime('20080101T00','%Y%m%dT%H%M%S')
  [0:6])
  This date_new is in UTC
  Now I need to know the seconds since epoch of this new date, so I run
  this:
  seconds = int(time.mktime(date_new.timetuple()))
  but the seconds returned belongs to :
  Tue, 01 Jan 2008 03:00:00 GMT
  because the  localtime is in timezone 'America/Santiago': -3

  I fix this trying to alter the TZ with time.tzset():
   os.environ['TZ'] = 'UTC'
  time.tzset()

   and now I can gets the right epoch, but I can't restore the
  previous TimeZone, I try with:
  os.environ['TZ'] = '', but the time.tzset() doesn't back to the
  original ( America/Santiago)

 I think you need to del os.environ['TZ'] rather than setting it to the
 empty string.

 On my box:
 Python 2.5.1 (r251:54863, Feb  4 2008, 21:48:13)
 [GCC 4.0.1 (Apple Inc. build 5465)] on darwin import os, time
  time.asctime()

 'Thu Aug 28 11:19:57 2008' #that's my correct local time
  time.tzname
 ('PST', 'PDT')
  #that's my correct timezone
  os.environ['TZ'] = 'UTC'
  time.tzset()
  time.tzname
 ('UTC', 'UTC')
  time.asctime()

 'Thu Aug 28 18:20:33 2008' #we're clearly in UTC now
  del os.environ['TZ'] #this is the key line
  time.tzset()
  time.tzname
 ('PST', 'PDT')
  time.asctime()

 'Thu Aug 28 11:21:05 2008'

  #and now we're back to my original timezone


Thanks Chris, and also I found that with reload(time)  works too

--
Richard Rossel
Ing. Civil Informatico
Valparaiso, Chile
--
http://mail.python.org/mailman/listinfo/python-list


how to kill a process

2007-06-12 Thread Richard Rossel
Hi Fellows,
I have a problem with process termination. I have a python code that
apache runs through a django interface.
The code is very simple, first, it creates a process with the
subprocess.Popen call, and afterwards, (using a web request) the
python code uses the PID of the previously created process(stored in a
db) and kills it with an os.kill call using the SIGKILL signal.

The creation of the process is ok, apache calls the python code, this
code creates the process and exits leaving the process up and
running :)
But when the python code is called to kill the created process, the
process is left in a zombie state.

The kill code that I'm using is:
os.kill(pid, signal.SIGKILL)

and I also tried:
 kill_proc = Popen(kill -9  + pid, shell=true)
but with no success.

I suppose that the reason maybe that the python code exits before the
kill call has finished,
so I tried with a while loop until kill_proc.poll() != None, but
without success too :(

do you know what is what I'm doing wrong?

thanks very much.-

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: how to kill a process

2007-06-12 Thread Richard Rossel
On 12 jun, 13:24, Evan Klitzke [EMAIL PROTECTED] wrote:
 On 6/12/07, Richard Rossel [EMAIL PROTECTED] wrote:

  But when the python code is called to kill the created process, the
  process is left in a zombie state.

 If the process is left in a zombie state, it's because the parent
 process isn't calling wait(2). If the parent process is your own
 python script, you might try a call to os.wait after the kill
 statement.


The wait call did the trick, but now a sh from kill process
left in zombie state, so afterwards the waitpid, I added a code line
to call poll() method from the kill process, and doesn't generates
zombie
process anymore :)

Thanks for your helps


-- 
http://mail.python.org/mailman/listinfo/python-list