I’ve got over 14k rasters in several mapsets that I need to store modified date in a db for tracking purposes. I’ve got the storage and retrieval worked out, but I don’t see an clean (easy) way to get the modified date via a python script.
get the modified date in the cellhd folder using os.stat
The problems with these approaches:
r.info - requires parsing, and I need to reformat the date in a way that’s easily comparable. I’d prefer not to rely on parsing anyway. Would be nice to have “shell script” output option.
os.stat (python) - has a nice date integer format, but it requires that I have the full path to the cellhd folder. Database and location are easy via g.gisenv, but getting the mapset on an individual layer basis isn’t completely straightforward. I can use use “g.mlist -m rast pattern=”, but that essentially greps it out of a full list.
Is there a more efficient way of getting the modified date of a raster layer? If not, getting the full path instead?
I've got over 14k rasters in several mapsets that I need to store
modified date in a db for tracking purposes. I've got the
storage and retrieval worked out, but I don't see an clean (easy)
way to get the modified date via a python script.
....
Is there a more efficient way of getting the modified date
of a raster layer? If not, getting the full path instead?
MAP=roads
eval `g.findfile element=hist file="$MAP"`
head -n 1 "$file"
It's stored as a text string; what you see is what you get.
see also r.timestamp, but that is for map metadata not file creation
timestamp.
os.stat (python) - has a nice date integer format, but it
requires that I have the full path to the cellhd folder.
use g.findfile for that.
Database and location are easy via g.gisenv, but getting the mapset
on an individual layer basis isn't completely straightforward.
I can use use "g.mlist -m rast pattern=<filename>", but that
essentially greps it out of a full list.
I don't fully understand what you mean by those two.
I’ve got over 14k rasters in several mapsets that I need to store
modified date in a db for tracking purposes. I’ve got the
storage and retrieval worked out, but I don’t see an clean (easy)
way to get the modified date via a python script.
…
Is there a more efficient way of getting the modified date
of a raster layer? If not, getting the full path instead?
MAP=roads
eval g.findfile element=hist file="$MAP"
head -n 1 “$file”
It’s stored as a text string; what you see is what you get.
see also r.timestamp, but that is for map metadata not file creation
timestamp.
os.stat (python) - has a nice date integer format, but it
requires that I have the full path to the cellhd folder.
use g.findfile for that.
Ah okay, I never really understood that command. “g.findfile element=cell file= | grep ^file” returns what I need.
Database and location are easy via g.gisenv, but getting the mapset
on an individual layer basis isn’t completely straightforward.
I can use use “g.mlist -m rast pattern=”, but that
essentially greps it out of a full list.
I don’t fully understand what you mean by those two.
Yeah, it’s a bit tough to explain with my processing setup. It’s a non-issue now, g.findfile solved it. Thanks!