Preview Image Generator scripts

Upgraded to python3
Replaced pysvn module with svn module
Bug fix: Skip files lacking an ACC file

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@7501 30fe4595-0a0c-4342-8851-515496e4dcbd
This commit is contained in:
scttgs0 2021-05-05 13:51:53 +00:00
parent 58109e526d
commit 63d074bc79
4 changed files with 73 additions and 78 deletions

View File

@ -10,10 +10,10 @@ global options
import check_skins
try:
import pysvn
_has_pysvn = True
import svn
_has_svn = True
except ImportError:
_has_pysvn = False
_has_svn = False
try:
from git import *
@ -30,32 +30,26 @@ parser.add_option("-r", "--run", dest="run", help="command to run SpeedDreams")
parser.add_option("-p", "--proc", dest="proc", help="command to process preview images")
parser.add_option("-a", "--all", action="store_true", dest="all", help="process all previews regardless")
if _has_pysvn:
if _has_svn:
parser.add_option("-s", "--svn", action="store_true", dest="svn", help="report svn version numbers")
if _has_pygit:
parser.add_option("-g", "--git", action="store_true", dest="git", help="report git verison numbers")
(options, args) = parser.parse_args()
#---
# check each of the cars in turn
for root, _, files in os.walk(options.cars):
car = os.path.basename(root)
def check_dir(args, dirname, names):
car = os.path.basename(dirname)
for name in names:
(root, ext) = os.path.splitext(name)
if root == car and ext == ".xml":
for name in files:
(base, ext) = os.path.splitext(name)
if base == car and ext == ".xml":
# Found config file
print "checking", root
print "---"
print("checking", base)
print("---")
path = os.sep.join([options.cars, car])
model = ".".join([os.sep.join([path, car]), "acc"])
check_skins.check_car(options, "human", "1", path, root, model)
check_skins.check_car(options, "human", "1", path, base, model)
#---
# check each of the cars in turn
os.path.walk(options.cars, check_dir, "")

View File

@ -7,10 +7,10 @@ import check_skins
from optparse import OptionParser
try:
import pysvn
_has_pysvn = True
import svn
_has_svn = True
except ImportError:
_has_pysvn = False
_has_svn = False
try:
from git import *
@ -35,7 +35,7 @@ parser.add_option("-r", "--run", dest="run", help="command to run SpeedDreams")
parser.add_option("-p", "--proc", dest="proc", help="command to process preview images")
parser.add_option("-a", "--all", action="store_true", dest="all", help="process all previews regardless")
if _has_pysvn:
if _has_svn:
parser.add_option("-s", "--svn", action="store_true", dest="svn", help="report svn version numbers")
if _has_pygit:
parser.add_option("-g", "--git", action="store_true", dest="git", help="report git verison numbers")
@ -43,8 +43,8 @@ if _has_pygit:
(options, args) = parser.parse_args()
print "Checking", args[0]
print "---"
print("Checking", args[0])
print("---")
tree = ElementTree().parse(os.sep.join([options.dir, args[0]]))
@ -60,7 +60,7 @@ for item in list(p):
if (driver.attrib["name"] == "car name"):
car = driver.attrib["val"]
print index, ":", name, "(", car, ")"
print(index, ":", name, "(", car, ")")
module = os.path.splitext(args[0])[0]

View File

@ -5,10 +5,10 @@ from xml.etree.ElementTree import ElementTree
from xml.etree.ElementTree import SubElement
try:
import pysvn
_has_pysvn = True
import svn.local
_has_svn = True
except ImportError:
_has_pysvn = False
_has_svn = False
try:
from git import *
@ -30,10 +30,10 @@ def check_version(myfile):
return None
# Return SVN revision
if _has_pysvn and options.svn:
client = pysvn.Client()
entry = client.info(myfile)
return entry.commit_revision.number
if _has_svn and options.svn:
client = svn.local.LocalClient(myfile)
entry = client.info()
return entry["commit_revision"]
# Return GIT revision
if _has_pygit and options.git:
@ -60,7 +60,7 @@ def get_screenshot(module, index, car, skin, skintargets):
config_file = os.sep.join([options.config, "config/raceman/practice.xml"])
if not os.access(config_file, os.R_OK):
print "Can't find 'practice.xml' (", config_file, ","
print("Can't find 'practice.xml' (", config_file, ",")
return None
my_ele = ElementTree()
@ -100,7 +100,7 @@ def get_screenshot(module, index, car, skin, skintargets):
'''
# dump attributes
for k in list(j):
print ":", k.attrib["name"], k.attrib["val"]
print(":", k.attrib["name"], k.attrib["val"])
'''
if i.attrib["name"] == "Driver Info":
@ -126,7 +126,7 @@ def process_screenshot(preview):
screenshot_file = screenshot_files[0]
screenshot = Image.open(os.sep.join([options.config, "screenshots", screenshot_file]))
scaled = screenshot.resize((800,500), Image.ANTIALIAS)
scaled = screenshot.resize((800, 500), Image.ANTIALIAS)
scaled.save(preview, quality=95, optimize=True, subsampling='4:4:4')
os.remove(os.sep.join([options.config, "screenshots", screenshot_file]))
@ -141,7 +141,8 @@ def check_car(myoptions, module, index, path, car, model):
model_ver = check_version(model)
if (model_ver == None):
print "Warning: ACC model not in directory"
print("Warning: ACC model not in directory")
return
# Checking for standard
standard = ".".join([os.sep.join([path, car]), "png"])
@ -157,21 +158,21 @@ def check_car(myoptions, module, index, path, car, model):
preview_ver = check_version(preview)
if (model_ver > standard_ver):
print "Standard: ACC Model is newer"
print("Standard: ACC Model is newer")
else:
print "Standard: OK"
print("Standard: OK")
if (preview_ver == None):
print "Preview : Missing"
print("Preview : Missing")
screenshot = True
elif (preview_ver < 0):
print "Preview : Not in version control"
print("Preview : Not in version control")
screenshot = True
elif (preview_ver < standard_ver):
print "Preview : Out of date"
print("Preview : Out of date")
screenshot = True
else:
print "Preview : OK"
print("Preview : OK")
if options.config and options.run and screenshot:
screenshot = get_screenshot(module, index, car, None, "1")
@ -182,8 +183,8 @@ def check_car(myoptions, module, index, path, car, model):
elif _has_PIL:
process_screenshot(preview)
else:
print "Standard: Missing"
print
print("Standard: Missing")
print()
# Check for alternate skins (specific for this car)
alternates = glob.glob("-".join([os.sep.join([path, car]), "*.png"]))
@ -206,32 +207,32 @@ def check_car(myoptions, module, index, path, car, model):
continue
if (model_ver > alternate_ver):
print "Alternate:", os.path.basename(alternate), "(ACC Model is newer)"
print("Alternate:", os.path.basename(alternate), "(ACC Model is newer)")
else:
print "Alternate:", os.path.basename(alternate)
print("Alternate:", os.path.basename(alternate))
else:
continue
wheelfile = "".join([os.sep.join([path, "wheel3d-"]), skin, ".png"])
if os.access(wheelfile, os.R_OK):
print "Custom Wheel: ", os.path.basename(wheelfile)
print("Custom Wheel: ", os.path.basename(wheelfile))
if (alternate_ver != None):
preview = "-".join([filename, "preview.jpg"])
preview_ver = check_version(preview)
if (preview_ver == None):
print "Preview : Missing"
print("Preview : Missing")
screenshot = True
elif (preview_ver < 0):
print "Preview : Not in version control"
print("Preview : Not in version control")
screenshot = True
elif (preview_ver < standard_ver):
print "Preview : Out of date"
print("Preview : Out of date")
screenshot = True
else:
print "Preview : OK"
print("Preview : OK")
if options.config and options.run and screenshot:
if os.access(wheelfile, os.R_OK):
@ -244,6 +245,6 @@ def check_car(myoptions, module, index, path, car, model):
os.system(" ".join([options.run, preview]))
elif _has_PIL:
process_screenshot(preview)
print
print
print()
print()

View File

@ -20,37 +20,37 @@ run="-r $HOME/Sources/speed-dreams/trunk/build/games/speed-dreams-2"
#proc="-p my_script.sh"
# Check the car models (for humans)
python check_car_skins.py -c $cars $versioning $config $run $proc
python3 check_car_skins.py -c $cars $versioning $config $run $proc
# Usr
python check_robot_skins.py -d $drivers/usr_36GP -c $cars $versioning $config $run $proc usr_36GP.xml
python check_robot_skins.py -d $drivers/usr_ls1 -c $cars $versioning $config $run $proc usr_ls1.xml
python check_robot_skins.py -d $drivers/usr_ls2 -c $cars $versioning $config $run $proc usr_ls2.xml
python check_robot_skins.py -d $drivers/usr_lp1 -c $cars $versioning $config $run $proc usr_lp1.xml
python check_robot_skins.py -d $drivers/usr_mpa1 -c $cars $versioning $config $run $proc usr_mpa1.xml
python check_robot_skins.py -d $drivers/usr_sc -c $cars $versioning $config $run $proc usr_sc.xml
python check_robot_skins.py -d $drivers/usr_trb1 -c $cars $versioning $config $run $proc usr_trb1.xml
python check_robot_skins.py -d $drivers/usr_rs -c $cars $versioning $config $run $proc usr_rs.xml
python check_robot_skins.py -d $drivers/usr_mp10 -c $cars $versioning $config $run $proc usr_mp10.xml
python3 check_robot_skins.py -d $drivers/usr_36GP -c $cars $versioning $config $run $proc usr_36GP.xml
python3 check_robot_skins.py -d $drivers/usr_ls1 -c $cars $versioning $config $run $proc usr_ls1.xml
python3 check_robot_skins.py -d $drivers/usr_ls2 -c $cars $versioning $config $run $proc usr_ls2.xml
python3 check_robot_skins.py -d $drivers/usr_lp1 -c $cars $versioning $config $run $proc usr_lp1.xml
python3 check_robot_skins.py -d $drivers/usr_mpa1 -c $cars $versioning $config $run $proc usr_mpa1.xml
python3 check_robot_skins.py -d $drivers/usr_sc -c $cars $versioning $config $run $proc usr_sc.xml
python3 check_robot_skins.py -d $drivers/usr_trb1 -c $cars $versioning $config $run $proc usr_trb1.xml
python3 check_robot_skins.py -d $drivers/usr_rs -c $cars $versioning $config $run $proc usr_rs.xml
python3 check_robot_skins.py -d $drivers/usr_mp10 -c $cars $versioning $config $run $proc usr_mp10.xml
# Simplix
python check_robot_skins.py -d $drivers/simplix_36GP -c $cars $versioning $config $run $proc simplix_36GP.xml
python check_robot_skins.py -d $drivers/simplix_ls1 -c $cars $versioning $config $run $proc simplix_ls1.xml
python check_robot_skins.py -d $drivers/simplix_ls2 -c $cars $versioning $config $run $proc simplix_ls2.xml
python check_robot_skins.py -d $drivers/simplix_lp1 -c $cars $versioning $config $run $proc simplix_lp1.xml
python check_robot_skins.py -d $drivers/simplix_mp5 -c $cars $versioning $config $run $proc simplix_mp5.xml
python check_robot_skins.py -d $drivers/simplix_sc -c $cars $versioning $config $run $proc simplix_sc.xml
python check_robot_skins.py -d $drivers/simplix_trb1 -c $cars $versioning $config $run $proc simplix_trb1.xml
python check_robot_skins.py -d $drivers/simplix_mpa1 -c $cars $versioning $config $run $proc simplix_mpa1.xml
python check_robot_skins.py -d $drivers/simplix_ref -c $cars $versioning $config $run $proc simplix_ref.xml
python3 check_robot_skins.py -d $drivers/simplix_36GP -c $cars $versioning $config $run $proc simplix_36GP.xml
python3 check_robot_skins.py -d $drivers/simplix_ls1 -c $cars $versioning $config $run $proc simplix_ls1.xml
python3 check_robot_skins.py -d $drivers/simplix_ls2 -c $cars $versioning $config $run $proc simplix_ls2.xml
python3 check_robot_skins.py -d $drivers/simplix_lp1 -c $cars $versioning $config $run $proc simplix_lp1.xml
python3 check_robot_skins.py -d $drivers/simplix_mp5 -c $cars $versioning $config $run $proc simplix_mp5.xml
python3 check_robot_skins.py -d $drivers/simplix_sc -c $cars $versioning $config $run $proc simplix_sc.xml
python3 check_robot_skins.py -d $drivers/simplix_trb1 -c $cars $versioning $config $run $proc simplix_trb1.xml
python3 check_robot_skins.py -d $drivers/simplix_mpa1 -c $cars $versioning $config $run $proc simplix_mpa1.xml
python3 check_robot_skins.py -d $drivers/simplix_ref -c $cars $versioning $config $run $proc simplix_ref.xml
# Kilo2008
python check_robot_skins.py -d $drivers/kilo2008/ -c $cars $versioning $config $run $proc kilo2008.xml
python3 check_robot_skins.py -d $drivers/kilo2008/ -c $cars $versioning $config $run $proc kilo2008.xml
# dandroid
python check_robot_skins.py -d $drivers/dandroid_36GP -c $cars $versioning $config $run $proc dandroid_36GP.xml
python3 check_robot_skins.py -d $drivers/dandroid_36GP -c $cars $versioning $config $run $proc dandroid_36GP.xml
# shadow
python check_robot_skins.py -d $drivers/shadow_sc -c $cars $versioning $config $run $proc shadow_sc.xml
python check_robot_skins.py -d $drivers/shadow_mpa11 -c $cars $versioning $config $run $proc shadow_mpa11.xml
python check_robot_skins.py -d $drivers/shadow_mpa12 -c $cars $versioning $config $run $proc shadow_mpa12.xml
python3 check_robot_skins.py -d $drivers/shadow_sc -c $cars $versioning $config $run $proc shadow_sc.xml
python3 check_robot_skins.py -d $drivers/shadow_mpa11 -c $cars $versioning $config $run $proc shadow_mpa11.xml
python3 check_robot_skins.py -d $drivers/shadow_mpa12 -c $cars $versioning $config $run $proc shadow_mpa12.xml