mirror of
https://github.com/GNS3/gns3-registry.git
synced 2024-12-18 20:37:57 +00:00
parent
bbad1deebb
commit
8eb92b3ade
@ -35,7 +35,7 @@
|
||||
"md5sum": "f1d2c25b6990f99bd05b433ab603bdb4",
|
||||
"filesize": 197120,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
|
||||
"direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Empty Qemu disk/empty8G.qcow2"
|
||||
"direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Empty%20Qemu%20disk/empty8G.qcow2"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
|
@ -60,7 +60,7 @@
|
||||
"md5sum": "f1d2c25b6990f99bd05b433ab603bdb4",
|
||||
"filesize": 197120,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
|
||||
"direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Empty Qemu disk/empty8G.qcow2"
|
||||
"direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Empty%20Qemu%20disk/empty8G.qcow2"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
|
@ -35,7 +35,7 @@
|
||||
"md5sum": "f1d2c25b6990f99bd05b433ab603bdb4",
|
||||
"filesize": 197120,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
|
||||
"direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Empty Qemu disk/empty8G.qcow2"
|
||||
"direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Empty%20Qemu%20disk/empty8G.qcow2"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
|
@ -46,7 +46,7 @@
|
||||
"md5sum": "f1d2c25b6990f99bd05b433ab603bdb4",
|
||||
"filesize": 197120,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
|
||||
"direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Empty Qemu disk/empty8G.qcow2"
|
||||
"direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Empty%20Qemu%20disk/empty8G.qcow2"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
|
@ -22,8 +22,19 @@ Prettify all appliances JSON
|
||||
import glob
|
||||
import json
|
||||
import jsonschema
|
||||
import urllib
|
||||
from collections import OrderedDict
|
||||
|
||||
def clean_urls(obj):
|
||||
"""
|
||||
All url key are properly escaped
|
||||
"""
|
||||
for key in obj.keys():
|
||||
if key.endswith("_url"):
|
||||
if not "%" in obj[key]:
|
||||
obj[key] = obj[key].replace(' ', '%20')
|
||||
|
||||
|
||||
def sort_key_using_schema(schema, key):
|
||||
"""
|
||||
Sort by position of a key in the JSON
|
||||
@ -41,12 +52,15 @@ for appliance in glob.glob('appliances/*.gns3a'):
|
||||
config = json.load(f)
|
||||
|
||||
config = OrderedDict(sorted(config.items(), key=lambda t: sort_key_using_schema(schema, t[0])))
|
||||
clean_urls(config)
|
||||
|
||||
for key,val in config.items():
|
||||
if isinstance(val, dict):
|
||||
config[key] = OrderedDict(sorted(val.items(), key=lambda t: sort_key_using_schema(schema['properties'][key], t[0])))
|
||||
|
||||
images = []
|
||||
for image in config['images']:
|
||||
clean_urls(image)
|
||||
images.append(OrderedDict(sorted(image.items(), key=lambda t: sort_key_using_schema(schema['properties']['images']['items'], t[0]))))
|
||||
images = sorted(images, key=lambda t: t['version'], reverse=True)
|
||||
config['images'] = images
|
||||
|
Loading…
Reference in New Issue
Block a user