9595
9696#############################################################################
9797## Stuff.
98- BASE_RELEASE_URL = f"https://github.com/{ REPO_CONFIG ['RELEASE_ORG' ]} /{ REPO_CONFIG ['RELEASE_REPO' ]} /releases/latest/download/"
9998
10099if len (sys .argv ) > 1 and sys .argv [1 ] != '--do-check' :
101- CURRENT_RELEASE_URL = f"https://github.com/{ REPO_CONFIG ['RELEASE_ORG' ]} /{ REPO_CONFIG ['RELEASE_REPO' ]} /releases/download/{ sys .argv [1 ]} /"
102-
100+ CURRENT_RELEASE_ID = sys .argv [1 ]
103101else :
104- CURRENT_RELEASE_URL = BASE_RELEASE_URL
102+ CURRENT_RELEASE_ID = "latest"
105103
106104#############################################################################
107105
108106
107+ def current_release_url (release_id ):
108+ if release_id == 'latest' :
109+ return f"https://github.com/{ REPO_CONFIG ['RELEASE_ORG' ]} /{ REPO_CONFIG ['RELEASE_REPO' ]} /releases/latest/download/"
110+
111+ return f"https://github.com/{ REPO_CONFIG ['RELEASE_ORG' ]} /{ REPO_CONFIG ['RELEASE_REPO' ]} /releases/download/{ release_id } /"
112+
113+
109114def runtime_nicename (runtime ):
110115 if runtime .startswith ("frt" ):
111116 return ("Godot/FRT {version}" ).format (version = runtime .split ('_' , 1 )[1 ].rsplit ('.' , 1 )[0 ])
@@ -333,19 +338,20 @@ def build_port_zip(root_dir, port_dir, port_data, new_manifest, port_status):
333338 for file_pair in zip_files :
334339 zf .write (file_pair [0 ], file_pair [1 ])
335340
336- port_name = port_data ['name' ]
337- port_hash = hash_file (zip_name )
341+ # port_name = port_data['name']
342+ # port_hash = hash_file(zip_name)
338343
339- if port_name in port_status :
340- port_status [port_name ]['date_updated' ] = TODAY
341- port_status [port_name ]['md5' ] = port_hash
342-
343- else :
344- port_status [port_name ] = {
345- 'date_added' : TODAY ,
346- 'date_updated' : TODAY ,
347- 'md5' : port_hash ,
348- }
344+ # if port_name in port_status:
345+ # port_status[port_name]['date_updated'] = TODAY
346+ # port_status[port_name]['md5'] = port_hash
347+ # port_status[port_name]
348+ # else:
349+ # port_status[port_name] = {
350+ # 'date_added': TODAY,
351+ # 'date_updated': TODAY,
352+ # 'release_id': CURRENT_RELEASE_ID,
353+ # 'md5': port_hash,
354+ # }
349355
350356
351357def build_images_zip (old_manifest , new_manifest ):
@@ -462,29 +468,37 @@ def build_markdown_zip(old_manifest, new_manifest):
462468def port_info (file_name , ports_json , ports_status ):
463469 clean_name = name_cleaner (file_name .name )
464470
465- file_md5 = hash_file (file_name )
471+ if file_name .is_file ():
472+ file_md5 = hash_file (file_name )
473+ file_size = file_name .stat ().st_size
474+ else :
475+ if clean_name not in ports_status :
476+ # HRMMmmmmm o_o;;;;
477+ return
478+
479+ file_md5 = ports_status [clean_name ]['md5' ]
480+ file_size = ports_status [clean_name ]['size' ]
466481
467482 default_status = {
468- 'md5' : file_md5 ,
469483 'date_added' : TODAY ,
470484 'date_updated' : TODAY ,
485+ 'md5' : file_md5 ,
486+ 'size' : file_size ,
487+ 'release_id' : CURRENT_RELEASE_ID ,
471488 }
472489
473490 if clean_name not in ports_status :
474491 ports_status [clean_name ] = default_status
475492
476- elif ports_status [clean_name ]['md5' ] is None :
477- ports_status [clean_name ]['md5' ] = file_md5
478-
479493 elif ports_status [clean_name ]['md5' ] != file_md5 :
480494 ports_status [clean_name ]['md5' ] = file_md5
495+ ports_status [clean_name ]['size' ] = file_size
496+ ports_status [clean_name ]['release_id' ] = CURRENT_RELEASE_ID ,
481497 ports_status [clean_name ]['date_updated' ] = TODAY
482498
483499 if clean_name in ports_json :
484500 ports_json [clean_name ]['source' ] = ports_status [clean_name ].copy ()
485-
486- ports_json [clean_name ]['source' ]['size' ] = file_name .stat ().st_size
487- ports_json [clean_name ]['source' ]['url' ] = CURRENT_RELEASE_URL + (file_name .name .replace (" " , "." ).replace (".." , "." ))
501+ ports_json [clean_name ]['source' ]['url' ] = current_release_url (ports_status [clean_name ]['release_id' ]) + (file_name .name .replace (" " , "." ).replace (".." , "." ))
488502
489503
490504def util_info (file_name , util_json ):
@@ -494,15 +508,17 @@ def util_info(file_name, util_json):
494508
495509 if file_name .name .lower ().endswith ('.squashfs' ):
496510 name = runtime_nicename (file_name .name )
511+ url = "https://github.com/PortsMaster/PortMaster-Runtime/releases/download/runtimes/" + (file_name .name .replace (" " , "." ).replace (".." , "." ))
497512
498513 else :
499514 name = file_name .name
515+ url = current_release_url (CURRENT_RELEASE_ID ) + (file_name .name .replace (" " , "." ).replace (".." , "." ))
500516
501517 util_json [clean_name ] = {
502518 "name" : name ,
503519 'md5' : file_md5 ,
504520 'size' : file_name .stat ().st_size ,
505- 'url' : CURRENT_RELEASE_URL + ( file_name . name . replace ( " " , "." ). replace ( ".." , "." )) ,
521+ 'url' : url ,
506522 }
507523
508524
0 commit comments