Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- import glob
- import gzip
- import logging
- import multiprocessing
- import os
- import re
- import sys
- MODDATE_RE=re.compile("\s*<LastModDate Value=\"(\d+)\".")
- def update_times(als):
- try:
- largest_timestamp = 0
- with gzip.open(als, 'rb') as xml_file:
- xml = xml_file.read()
- for timestamp in MODDATE_RE.findall(str(xml), re.DOTALL):
- timestamp = int(timestamp)
- if timestamp > largest_timestamp:
- largest_timestamp = timestamp
- if largest_timestamp > 0:
- os.utime(als, times=(largest_timestamp, largest_timestamp))
- except:
- logging.error("ERROR: {}".format(als))
- return 0
- with multiprocessing.Pool(processes=16) as pool:
- pool.map(update_times,
- glob.iglob("{}/**/*.als".format(sys.argv[1]), recursive=True))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement