forked from suse-edge/Factory
47 lines
1.0 KiB
Python
Executable File
47 lines
1.0 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import subprocess
|
|
import argparse
|
|
import os
|
|
import os.path
|
|
|
|
from common import PROJECT, REPOSITORY, BRANCH
|
|
|
|
def add_package_to_project(name: str):
|
|
package_meta = f"""<package name="{name}" project="{PROJECT}">
|
|
<title/>
|
|
<description/>
|
|
<scmsync>{REPOSITORY}?subdir={name}#{BRANCH}</scmsync>
|
|
</package>"""
|
|
p = subprocess.run(["osc", "meta", "pkg", "-F", "-", PROJECT, name], input=package_meta, encoding='utf-8' , stdout=subprocess.PIPE)
|
|
print(p.stdout)
|
|
print(p.stderr)
|
|
p.check_returncode()
|
|
|
|
|
|
def add_package(package_name: str):
|
|
if "/" in package_name:
|
|
print("invalid package name")
|
|
os.exit(1)
|
|
|
|
if not os.path.isdir(package_name):
|
|
print("package doesn't exist in this directory")
|
|
os.exit(1)
|
|
|
|
add_package_to_project(package_name)
|
|
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser(prog="add_package")
|
|
parser.add_argument("package")
|
|
|
|
args = parser.parse_args()
|
|
|
|
add_package(args.package)
|
|
|
|
|
|
print("Package created in OBS !")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|