Skip to content
Snippets Groups Projects
qtc_blender_diffusion.py 1.07 KiB
Newer Older
  • Learn to ignore specific revisions
  • #!/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()