Skip to content
Snippets Groups Projects
Commit 8cc40bd4 authored by Lukas Tönne's avatar Lukas Tönne
Browse files

Blender Diffusion tool for QtCreator: Prints a url to Diffusion on

developer.blender.org for easy online linking and code reference.
parent 2e04a31c
No related branches found
No related tags found
No related merge requests found
#!/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()
<?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>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment