#!/usr/bin/env python3 """ Takes 1 arg qtc_blender_diffusion.py <file> <row> Currently GCC is assumed """ import sys import os import subprocess SOURCE_FILE = sys.argv[-2] SOURCE_ROW = sys.argv[-1] BASE_URL = "https://developer.blender.org/diffusion/B/browse" def main(): dirname, filename = os.path.split(SOURCE_FILE) process = subprocess.Popen(["git", "rev-parse", "--symbolic-full-name", "--abbrev-ref", "@{u}"], stdout=subprocess.PIPE, cwd=dirname, universal_newlines=True) output = process.communicate()[0] branchname = output.rstrip().rsplit('/', 1)[-1] process = subprocess.Popen(["git", "rev-parse", "--show-toplevel"], stdout=subprocess.PIPE, cwd=dirname, universal_newlines=True) output = process.communicate()[0] toplevel = output.rstrip() filepath = os.path.relpath(SOURCE_FILE, toplevel) url = '/'.join([BASE_URL, branchname, filepath]) + "$" + SOURCE_ROW print(url) # Maybe handy, but also annoying? if "--browse" in sys.argv: import webbrowser webbrowser.open(url) if __name__ == "__main__": main()