Source code:
## Copyright 2005-2006 Luc Saffre
## This file is part of the Lino project.
## Lino is free software; you can redistribute it and/or modify it
## under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
## Lino is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
## License for more details.
## You should have received a copy of the GNU General Public License
## along with Lino; if not, write to the Free Software Foundation,
## Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
from time import sleep
from lino.console import syscon
STEPS = 2
def work(task):
sess=task.session
sess.status("Working hard")
for n in range(1,STEPS+1):
sess.error('error message %d',n)
for h in range(1,STEPS+1):
sess.warning('warning message %d.%d',n,h)
for i in range(1,STEPS+1):
sess.notice('notice message %d.%d.%d',n,h,i)
for j in range(1,STEPS+1):
sess.verbose(
'verbose message %d.%d.%d.%d',n,h,i,j)
for k in range(1,STEPS+1):
sess.debug(
'debug message %d.%d.%d.%d.%d',n,h,i,j,k)
task.increment()
sleep(0.05)
if __name__ == "__main__":
syscon.parse_args()
syscon.loop(work,"loop() with known maxval",pow(STEPS,5))
syscon.loop(work,"loop() without known maxval")
Watch this demo by issuing the following command in the demo directory:
python jobs1.py
Invoke this script with different command-line options to get different output:
python jobs1.py (normal) python jobs1.py -v (verbose) python jobs1.py -vv (very verbose aka debug) python jobs1.py -q (quiet) python jobs1.py -qq (very quiet)