Browse Source
this will ensure that all future stable releases are kept for users to select with the GCSmission-4.1.18
Andrew Tridgell
6 years ago
2 changed files with 54 additions and 0 deletions
@ -0,0 +1,50 @@
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env python |
||||
''' |
||||
create stable-x.y.z directories so we keep all past stable releases for users to download |
||||
''' |
||||
|
||||
import os |
||||
import shutil |
||||
|
||||
VEHICLES = ['AntennaTracker', 'Copter', 'Plane', 'Rover', 'Sub'] |
||||
|
||||
|
||||
def make_stable(basedir, vehicle): |
||||
'''make stable version for a vehicle''' |
||||
stable_dir = os.path.join(basedir, vehicle, 'stable') |
||||
if not os.path.exists(stable_dir): |
||||
print("Missing %s" % stable_dir) |
||||
return |
||||
for b in sorted(os.listdir(stable_dir)): |
||||
if not os.path.isdir(os.path.join(stable_dir, b)): |
||||
continue |
||||
vfile = os.path.join(stable_dir, b, "firmware-version.txt") |
||||
if not os.path.exists(vfile): |
||||
print("Missing %s" % vfile) |
||||
continue |
||||
vstr = open(vfile).read() |
||||
version = vstr.split('-')[0] |
||||
new_dir_parent = os.path.join(basedir, vehicle, 'stable-%s' % version) |
||||
new_dir = os.path.join(new_dir_parent, b) |
||||
if os.path.exists(new_dir): |
||||
continue |
||||
if not os.path.exists(new_dir_parent): |
||||
os.mkdir(new_dir_parent) |
||||
print('Creating %s' % new_dir) |
||||
old_dir = os.path.join(stable_dir, b) |
||||
shutil.copytree(old_dir, new_dir) |
||||
|
||||
|
||||
def make_all_stable(basedir): |
||||
'''make stable directory for all vehicles''' |
||||
for v in VEHICLES: |
||||
make_stable(basedir, v) |
||||
|
||||
|
||||
if __name__ == "__main__": |
||||
import argparse |
||||
parser = argparse.ArgumentParser(description='gen_stable.py') |
||||
parser.add_argument('basedir', type=str, default="-", help='base binaries directory') |
||||
args = parser.parse_args() |
||||
|
||||
make_all_stable(args.basedir) |
Loading…
Reference in new issue