Hi GRASS users,

maybe someone can help me with the cleanup process in a
GRASS python script I am writing. The script uses the 
gparser functionality to get the needed files etc via
the GUI.

I also try to include a proper cleanup process within
the script which deletes all the tmp maps created. This
should also work if the script stops (e.g due to an error).
So I think I FIRST need to define all the files which
should be removed. The problem is that my script includes
a while loop (iteration) so I can't really say which
files will be created in advance. How can I define a proper
cleanup in such cases?

The script looks at the moment like:

#!/usr/bin/env python
...
import grass.script as grass

tmp_rast = None
tmp_vect = None

def cleanup():
        if (tmp_rast):
                grass.run_command("g.remove", 
                                rast = tmp_map_rast,
                                quiet = True)

def main():

        max_count = 5 # maximum number of iterations

        #global variables for cleanup - standard values
        global tmp_rast
        tmp_rast = [f + str(os.getpid()) for f in
                (["r%d_tmp_" % x for x in range(max_count+1)]+
                ["rt%d_tmp_" % x for x in range(max_count+1)]+
                ["r_diff%d_tmp_" % x for x in range(max_count+1)])]

        ...
        diff = 9999
        while (diff is not None):
        #In this while loop all the tmp-files are created
        ...

if __name__ == "__main__":
        options, flags = grass.parser()
        atexit.register(cleanup)
        sys.exit(main())


How can I improve this? Maybe someone of you is more experienced than I am.
Thank you so much!

Best regards,
Johannes





-- 
NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone!                          
        
Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a
_______________________________________________
grass-user mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to