diff --git a/bpkg_manager/__init__.py b/bpkg_manager/__init__.py index 4cf73ac..f6e64b1 100644 --- a/bpkg_manager/__init__.py +++ b/bpkg_manager/__init__.py @@ -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(): diff --git a/make_repo.py b/make_repo.py index a05eed0..0cb547b 100755 --- a/make_repo.py +++ b/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__':