diff --git a/utils_ide/qtcreator/externaltools/qtc_blender_diffusion.py b/utils_ide/qtcreator/externaltools/qtc_blender_diffusion.py new file mode 100755 index 0000000000000000000000000000000000000000..915c949a030f39ec562218d6aab707e59585529f --- /dev/null +++ b/utils_ide/qtcreator/externaltools/qtc_blender_diffusion.py @@ -0,0 +1,42 @@ +#!/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() diff --git a/utils_ide/qtcreator/externaltools/qtc_blender_diffusion.xml b/utils_ide/qtcreator/externaltools/qtc_blender_diffusion.xml new file mode 100644 index 0000000000000000000000000000000000000000..9bf3b73583a89631a3bde3fc767c1b5807db6721 --- /dev/null +++ b/utils_ide/qtcreator/externaltools/qtc_blender_diffusion.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Written on Mi. Mär. 5 19:21:33 2014 by Qt Creator 3.0.0--> +<externaltool id="qtc_blender_diffusion"> + <description>Print a URL to Diffusion on developer.blender.org for online reference</description> + <displayname>Blender Diffusion</displayname> + <category>Documentation</category> + <executable output="showinpane" error="showinpane" modifiesdocument="no"> + <path>/home/lukas/.config/QtProject/qtcreator/externaltools/qtc_blender_diffusion.py</path> + <arguments>%{CurrentDocument:FilePath} %{CurrentDocument:Row}</arguments> + <workingdirectory>%{CurrentDocument:Path}</workingdirectory> + </executable> +</externaltool>