mirror of https://github.com/swig/swig
35 lines
1.1 KiB
Python
Executable File
35 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import os
|
|
import subprocess
|
|
import argparse
|
|
import glob
|
|
|
|
def remove_old_files():
|
|
files = glob.glob("*.log")
|
|
for file in files:
|
|
os.remove(file)
|
|
|
|
def download():
|
|
repos = subprocess.Popen(["osc", "repositories"], stdout=subprocess.PIPE)
|
|
for line in repos.stdout:
|
|
command = ["osc", "buildlog", "--last"] + line.split()
|
|
filename = "-".join(line.split()) + ".log"
|
|
print("Downloading logs using: {}".format(" ".join(command)))
|
|
buildlog = subprocess.Popen(command, stdout=subprocess.PIPE)
|
|
|
|
print("Writing log to {}".format(filename))
|
|
file = open(filename, "w")
|
|
if buildlog.stderr != None:
|
|
print("Errors: {}".format(buildlog.stderr))
|
|
for log_line in buildlog.stdout:
|
|
file.write(log_line)
|
|
|
|
print("Finished")
|
|
|
|
parser = argparse.ArgumentParser(description="Download OpenBuild logs using osc. All the logs for each architecture from the last completed builds are downloaded and stored as .log files. Must be run from a working copy that is already checked out, eg after running obs-update.")
|
|
args = parser.parse_args()
|
|
|
|
remove_old_files()
|
|
download()
|