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"))
|
lr1.label(text=pkg['bl_info'].get('name', "MISSING NAME"))
|
||||||
lr2.label(text=pkg['bl_info'].get('description', "MISSING DESCRIPTION"))
|
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']:
|
for pkg in repo['packages']:
|
||||||
if filter_package(pkg):
|
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.label(text="Temporary stuff while we're developing")
|
||||||
temp_box.prop(self, 'repository_url')
|
temp_box.prop(self, 'repository_url')
|
||||||
temp_box.operator(BPKG_OT_refresh.bl_idname)
|
temp_box.operator(BPKG_OT_refresh.bl_idname)
|
||||||
temp_box.operator(BPKG_OT_hang.bl_idname)
|
|
||||||
|
|
||||||
|
|
||||||
def register():
|
def register():
|
||||||
|
11
make_repo.py
11
make_repo.py
@@ -163,7 +163,7 @@ class Repository:
|
|||||||
log.info("repo.json written to %s" % path)
|
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'"""
|
"""Make repo.json for files in directory 'path'"""
|
||||||
|
|
||||||
repo = Repository(name)
|
repo = Repository(name)
|
||||||
@@ -181,6 +181,7 @@ def make_repo(path: Path, name: str) -> Repository:
|
|||||||
)
|
)
|
||||||
|
|
||||||
package = Package(addon, bl_info)
|
package = Package(addon, bl_info)
|
||||||
|
package.url = baseurl + package.path.name
|
||||||
repo.add_package(package)
|
repo.add_package(package)
|
||||||
|
|
||||||
log.info("Repository generation successful")
|
log.info("Repository generation successful")
|
||||||
@@ -194,6 +195,9 @@ def main():
|
|||||||
help="Increase verbosity (can be used multiple times)",
|
help="Increase verbosity (can be used multiple times)",
|
||||||
action="count",
|
action="count",
|
||||||
default=0)
|
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',
|
parser.add_argument('-n', '--name',
|
||||||
help="Name of repo (defaults to basename of 'path')")
|
help="Name of repo (defaults to basename of 'path')")
|
||||||
parser.add_argument('-o', '--output',
|
parser.add_argument('-o', '--output',
|
||||||
@@ -212,9 +216,12 @@ def main():
|
|||||||
if args.name is None:
|
if args.name is None:
|
||||||
args.name = args.path.name
|
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)
|
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)
|
repo.dump(args.output)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Reference in New Issue
Block a user