Add baseurl option to make_repo and actually set package urls
Also actually use said URL when calling 'install' operator
This commit is contained in:
@@ -408,7 +408,8 @@ class USERPREF_PT_packages(bpy.types.Panel):
|
||||
lr1.label(text=pkg['bl_info'].get('name', "MISSING NAME"))
|
||||
lr2.label(text=pkg['bl_info'].get('description', "MISSING DESCRIPTION"))
|
||||
|
||||
right.operator(BPKG_OT_install.bl_idname).package_url=""
|
||||
right.operator(BPKG_OT_install.bl_idname,
|
||||
text="Install").package_url=pkg.get('url', "")
|
||||
|
||||
for pkg in repo['packages']:
|
||||
if filter_package(pkg):
|
||||
@@ -434,7 +435,6 @@ class PackageManagerPreferences(bpy.types.AddonPreferences):
|
||||
temp_box.label(text="Temporary stuff while we're developing")
|
||||
temp_box.prop(self, 'repository_url')
|
||||
temp_box.operator(BPKG_OT_refresh.bl_idname)
|
||||
temp_box.operator(BPKG_OT_hang.bl_idname)
|
||||
|
||||
|
||||
def register():
|
||||
|
11
make_repo.py
11
make_repo.py
@@ -163,7 +163,7 @@ class Repository:
|
||||
log.info("repo.json written to %s" % path)
|
||||
|
||||
|
||||
def make_repo(path: Path, name: str) -> Repository:
|
||||
def make_repo(path: Path, name: str, baseurl: str) -> Repository:
|
||||
"""Make repo.json for files in directory 'path'"""
|
||||
|
||||
repo = Repository(name)
|
||||
@@ -181,6 +181,7 @@ def make_repo(path: Path, name: str) -> Repository:
|
||||
)
|
||||
|
||||
package = Package(addon, bl_info)
|
||||
package.url = baseurl + package.path.name
|
||||
repo.add_package(package)
|
||||
|
||||
log.info("Repository generation successful")
|
||||
@@ -194,6 +195,9 @@ def main():
|
||||
help="Increase verbosity (can be used multiple times)",
|
||||
action="count",
|
||||
default=0)
|
||||
parser.add_argument('-u', '--baseurl',
|
||||
#TODO: support relative URLs
|
||||
help="Component of URL leading up to the package filename.")
|
||||
parser.add_argument('-n', '--name',
|
||||
help="Name of repo (defaults to basename of 'path')")
|
||||
parser.add_argument('-o', '--output',
|
||||
@@ -212,9 +216,12 @@ def main():
|
||||
if args.name is None:
|
||||
args.name = args.path.name
|
||||
|
||||
if args.baseurl is None:
|
||||
log.warning("No baseurl given, package URLs will just be filenames")
|
||||
args.baseurl = ""
|
||||
log.debug("Repository name: '%s'" % args.name)
|
||||
|
||||
repo = make_repo(args.path, args.name)
|
||||
repo = make_repo(args.path, args.name, args.baseurl)
|
||||
repo.dump(args.output)
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
Reference in New Issue
Block a user