Last active
July 11, 2018 17:03
-
-
Save ahal/a892861172d1d755c63c1f62e6c94181 to your computer and use it in GitHub Desktop.
Sample Patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!doctype html> | |
<html lang="en"> | |
<head> | |
<meta charset="utf-8"> | |
<title>Diff to HTML by rtfpessoa</title> | |
<!-- | |
Diff to HTML (template.html) | |
Author: rtfpessoa | |
--> | |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/styles/github.min.css"> | |
<style> | |
.d2h-wrapper{text-align:left}.d2h-file-header{padding:5px 10px;border-bottom:1px solid #d8d8d8;background-color:#f7f7f7}.d2h-file-stats{display:flex;margin-left:auto;font-size:14px}.d2h-lines-added{text-align:right;border:1px solid #b4e2b4;border-radius:5px 0 0 5px;color:#399839;padding:2px;vertical-align:middle}.d2h-lines-deleted{text-align:left;border:1px solid #e9aeae;border-radius:0 5px 5px 0;color:#c33;padding:2px;vertical-align:middle;margin-left:1px}.d2h-file-name-wrapper{display:flex;align-items:center;width:100%;font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15px}.d2h-file-name{white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden;line-height:21px}.d2h-file-wrapper{border:1px solid #ddd;border-radius:3px;margin-bottom:1em}.d2h-diff-table{width:100%;border-collapse:collapse;font-family:Menlo,Consolas,monospace;font-size:13px}.d2h-diff-tbody>tr>td{height:20px;line-height:20px}.d2h-files-diff{display:block;width:100%;height:100%}.d2h-file-diff{overflow-x:scroll;overflow-y:hidden}.d2h-file-side-diff{display:inline-block;overflow-x:scroll;overflow-y:hidden;width:50%;margin-right:-4px;margin-bottom:-8px}.d2h-code-line{display:inline-block;white-space:nowrap;padding:0 10px;margin-left:80px}.d2h-code-side-line{display:inline-block;white-space:nowrap;padding:0 10px;margin-left:50px}.d2h-code-line del,.d2h-code-side-line del{display:inline-block;margin-top:-1px;text-decoration:none;background-color:#ffb6ba;border-radius:.2em}.d2h-code-line ins,.d2h-code-side-line ins{display:inline-block;margin-top:-1px;text-decoration:none;background-color:#97f295;border-radius:.2em;text-align:left}.d2h-code-line-prefix{display:inline;background:0 0;padding:0;word-wrap:normal;white-space:pre}.d2h-code-line-ctn{display:inline;background:0 0;padding:0;word-wrap:normal;white-space:pre}.line-num1{box-sizing:border-box;float:left;width:40px;overflow:hidden;text-overflow:ellipsis;padding-left:3px}.line-num2{box-sizing:border-box;float:right;width:40px;overflow:hidden;text-overflow:ellipsis;padding-left:3px}.d2h-code-linenumber{box-sizing:border-box;position:absolute;width:86px;padding-left:2px;padding-right:2px;background-color:#fff;color:rgba(0,0,0,.3);text-align:right;border:solid #eee;border-width:0 1px 0 1px;cursor:pointer}.d2h-code-side-linenumber{box-sizing:border-box;position:absolute;width:56px;padding-left:5px;padding-right:5px;background-color:#fff;color:rgba(0,0,0,.3);text-align:right;border:solid #eee;border-width:0 1px 0 1px;cursor:pointer;overflow:hidden;text-overflow:ellipsis}.d2h-del{background-color:#fee8e9;border-color:#e9aeae}.d2h-ins{background-color:#dfd;border-color:#b4e2b4}.d2h-info{background-color:#f8fafd;color:rgba(0,0,0,.3);border-color:#d5e4f2}.d2h-file-diff .d2h-del.d2h-change{background-color:#fdf2d0}.d2h-file-diff .d2h-ins.d2h-change{background-color:#ded}.d2h-file-list-wrapper{margin-bottom:10px}.d2h-file-list-wrapper a{text-decoration:none;color:#3572b0}.d2h-file-list-wrapper a:visited{color:#3572b0}.d2h-file-list-header{text-align:left}.d2h-file-list-title{font-weight:700}.d2h-file-list-line{display:flex;text-align:left}.d2h-file-list{display:block;list-style:none;padding:0;margin:0}.d2h-file-list>li{border-bottom:#ddd solid 1px;padding:5px 10px;margin:0}.d2h-file-list>li:last-child{border-bottom:none}.d2h-file-switch{display:none;font-size:10px;cursor:pointer}.d2h-icon-wrapper{line-height:31px}.d2h-icon{vertical-align:middle;margin-right:10px;fill:currentColor}.d2h-deleted{color:#c33}.d2h-added{color:#399839}.d2h-changed{color:#d0b44c}.d2h-moved{color:#3572b0}.d2h-tag{display:flex;font-size:10px;margin-left:5px;padding:0 2px;background-color:#fff}.d2h-deleted-tag{border:#c33 1px solid}.d2h-added-tag{border:#399839 1px solid}.d2h-changed-tag{border:#d0b44c 1px solid}.d2h-moved-tag{border:#3572b0 1px solid}.selecting-left .d2h-code-line,.selecting-left .d2h-code-line *,.selecting-left .d2h-code-side-line,.selecting-left .d2h-code-side-line *,.selecting-right td.d2h-code-linenumber,.selecting-right td.d2h-code-linenumber *,.selecting-right td.d2h-code-side-linenumber,.selecting-right td.d2h-code-side-linenumber *{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.selecting-left .d2h-code-line ::-moz-selection,.selecting-left .d2h-code-line::-moz-selection,.selecting-left .d2h-code-side-line ::-moz-selection,.selecting-left .d2h-code-side-line::-moz-selection,.selecting-right td.d2h-code-linenumber::-moz-selection,.selecting-right td.d2h-code-side-linenumber ::-moz-selection,.selecting-right td.d2h-code-side-linenumber::-moz-selection{background:0 0}.selecting-left .d2h-code-line ::selection,.selecting-left .d2h-code-line::selection,.selecting-left .d2h-code-side-line ::selection,.selecting-left .d2h-code-side-line::selection,.selecting-right td.d2h-code-linenumber::selection,.selecting-right td.d2h-code-side-linenumber ::selection,.selecting-right td.d2h-code-side-linenumber::selection{background:0 0} | |
</style> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.js"></script> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/highlight.min.js"></script> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/languages/scala.min.js"></script> | |
<script> | |
!function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){(function(global){!function(){var highlightJS=require("./highlight.js-internals.js").HighlightJS,diffJson=null,currentSelectionColumnId=-1;function Diff2HtmlUI(config){var cfg=config||{};cfg.diff?diffJson=Diff2Html.getJsonFromDiff(cfg.diff):cfg.json&&(diffJson=cfg.json),this._initSelection()}Diff2HtmlUI.prototype.draw=function(targetId,config){var cfg=config||{};cfg.inputFormat="json";var $target=this._getTarget(targetId);$target.html(Diff2Html.getPrettyHtml(diffJson,cfg)),cfg.synchronisedScroll&&this.synchronisedScroll($target,cfg)},Diff2HtmlUI.prototype.synchronisedScroll=function(targetId){this._getTarget(targetId).find(".d2h-file-side-diff").scroll(function(){var $this=$(this);$this.closest(".d2h-file-wrapper").find(".d2h-file-side-diff").scrollLeft($this.scrollLeft())})},Diff2HtmlUI.prototype.fileListCloseable=function(targetId,startVisible){var $target=this._getTarget(targetId),hashTag=this._getHashTag(),$showBtn=$target.find(".d2h-show"),$hideBtn=$target.find(".d2h-hide"),$fileList=$target.find(".d2h-file-list");function show(){$showBtn.hide(),$hideBtn.show(),$fileList.show()}function hide(){$hideBtn.hide(),$showBtn.show(),$fileList.hide()}"files-summary-show"===hashTag?show():"files-summary-hide"===hashTag?hide():startVisible?show():hide(),$showBtn.click(show),$hideBtn.click(hide)},Diff2HtmlUI.prototype.highlightCode=function(targetId){this._getTarget(targetId).find(".d2h-file-wrapper").map(function(_i,file){var oldLinesState,newLinesState,$file=$(file),language=$file.data("lang");$file.find(".d2h-code-line-ctn").map(function(_j,line){var lineState,$line=$(line),text=line.textContent,lineParent=line.parentNode;lineState=-1!==lineParent.className.indexOf("d2h-del")?oldLinesState:newLinesState;var result=hljs.getLanguage(language)?hljs.highlight(language,text,!0,lineState):hljs.highlightAuto(text);-1!==lineParent.className.indexOf("d2h-del")?oldLinesState=result.top:(-1!==lineParent.className.indexOf("d2h-ins")||(oldLinesState=result.top),newLinesState=result.top);var originalStream=highlightJS.nodeStream(line);if(originalStream.length){var resultNode=document.createElementNS("http://www.w3.org/1999/xhtml","div");resultNode.innerHTML=result.value,result.value=highlightJS.mergeStreams(originalStream,highlightJS.nodeStream(resultNode),text)}$line.addClass("hljs"),$line.addClass(result.language),$line.html(result.value)})})},Diff2HtmlUI.prototype._getTarget=function(targetId){var $target;return"object"==typeof targetId&&targetId instanceof jQuery?$target=targetId:"string"==typeof targetId?$target=$(targetId):(console.error("Wrong target provided! Falling back to default value 'body'."),console.log("Please provide a jQuery object or a valid DOM query string."),$target=$("body")),$target},Diff2HtmlUI.prototype._getHashTag=function(){var docUrl=document.URL,hashTagIndex=docUrl.indexOf("#"),hashTag=null;return-1!==hashTagIndex&&(hashTag=docUrl.substr(hashTagIndex+1)),hashTag},Diff2HtmlUI.prototype._distinct=function(collection){return collection.filter(function(v,i){return collection.indexOf(v)===i})},Diff2HtmlUI.prototype._initSelection=function(){var body=$("body"),that=this;body.on("mousedown",".d2h-diff-table",function(event){var target=$(event.target),table=target.closest(".d2h-diff-table");target.closest(".d2h-code-line,.d2h-code-side-line").length?(table.removeClass("selecting-left"),table.addClass("selecting-right"),currentSelectionColumnId=1):target.closest(".d2h-code-linenumber,.d2h-code-side-linenumber").length&&(table.removeClass("selecting-right"),table.addClass("selecting-left"),currentSelectionColumnId=0)}),body.on("copy",".d2h-diff-table",function(event){var clipboardData=event.originalEvent.clipboardData,text=that._getSelectedText();clipboardData.setData("text",text),event.preventDefault()})},Diff2HtmlUI.prototype._getSelectedText=function(){var doc=window.getSelection().getRangeAt(0).cloneContents(),nodes=doc.querySelectorAll("tr"),text="",idx=currentSelectionColumnId;return 0===nodes.length?text=doc.textContent:[].forEach.call(nodes,function(tr,i){var td=tr.cells[1===tr.cells.length?0:idx];text+=(i?"\n":"")+td.textContent.replace(/(?:\r\n|\r|\n)/g,"")}),text},module.exports.Diff2HtmlUI=Diff2HtmlUI,global.Diff2HtmlUI=Diff2HtmlUI}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./highlight.js-internals.js":2}],2:[function(require,module,exports){!function(){function HighlightJS(){}var ArrayProto=[];function escape(value){return value.replace(/&/gm,"&").replace(/</gm,"<").replace(/>/gm,">")}function tag(node){return node.nodeName.toLowerCase()}HighlightJS.prototype.nodeStream=function(node){var result=[];return function _nodeStream(node,offset){for(var child=node.firstChild;child;child=child.nextSibling)3===child.nodeType?offset+=child.nodeValue.length:1===child.nodeType&&(result.push({event:"start",offset:offset,node:child}),offset=_nodeStream(child,offset),tag(child).match(/br|hr|img|input/)||result.push({event:"stop",offset:offset,node:child}));return offset}(node,0),result},HighlightJS.prototype.mergeStreams=function(original,highlighted,value){var processed=0,result="",nodeStack=[];function selectStream(){return original.length&&highlighted.length?original[0].offset!==highlighted[0].offset?original[0].offset<highlighted[0].offset?original:highlighted:"start"===highlighted[0].event?original:highlighted:original.length?original:highlighted}function open(node){result+="<"+tag(node)+ArrayProto.map.call(node.attributes,function(a){return" "+a.nodeName+'="'+escape(a.value)+'"'}).join("")+">"}function close(node){result+="</"+tag(node)+">"}function render(event){("start"===event.event?open:close)(event.node)}for(;original.length||highlighted.length;){var stream=selectStream();if(result+=escape(value.substring(processed,stream[0].offset)),processed=stream[0].offset,stream===original){for(nodeStack.reverse().forEach(close);render(stream.splice(0,1)[0]),(stream=selectStream())===original&&stream.length&&stream[0].offset===processed;);nodeStack.reverse().forEach(open)}else"start"===stream[0].event?nodeStack.push(stream[0].node):nodeStack.pop(),render(stream.splice(0,1)[0])}return result+escape(value.substr(processed))},module.exports.HighlightJS=new HighlightJS}()},{}]},{},[1]); | |
</script> | |
<script> | |
$(document).ready(function() { | |
var diff2htmlUi = new Diff2HtmlUI(); | |
diff2htmlUi.fileListCloseable("#diff", true); | |
diff2htmlUi.synchronisedScroll("#diff", false); | |
diff2htmlUi.highlightCode('#diff'); | |
}); | |
</script> | |
</head> | |
<body style="text-align: center; font-family: 'Source Sans Pro',sans-serif;"> | |
<h1>Diff to HTML by <a href="https://github.com/rtfpessoa">rtfpessoa</a></h1> | |
<div id="diff"> | |
<div class="d2h-file-list-wrapper"> | |
<div class="d2h-file-list-header"> | |
<span class="d2h-file-list-title">Files changed (1)</span> | |
<a class="d2h-file-switch d2h-hide">hide</a> | |
<a class="d2h-file-switch d2h-show">show</a> | |
</div> | |
<ol class="d2h-file-list"> | |
<li class="d2h-file-list-line"> | |
<span class="d2h-file-name-wrapper"> | |
<span><svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" | |
viewBox="0 0 14 16" width="14"> | |
<path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> | |
</svg></span> | |
<a href="#d2h-731159" class="d2h-file-name">tools/docs/moztreedocs/__init__.py</a> | |
<span class="d2h-file-stats"> | |
<span class="d2h-lines-added">+31</span> | |
<span class="d2h-lines-deleted">-27</span> | |
</span> | |
</span> | |
</li> | |
</ol> | |
</div><div class="d2h-wrapper"> | |
<div id="d2h-731159" class="d2h-file-wrapper" data-lang="py"> | |
<div class="d2h-file-header"> | |
<span class="d2h-file-name-wrapper"> | |
<span class="d2h-icon-wrapper"><svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> | |
<path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> | |
</svg></span> | |
<span class="d2h-file-name">tools/docs/moztreedocs/__init__.py</span> | |
<span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> | |
</div> | |
<div class="d2h-files-diff"> | |
<div class="d2h-file-side-diff"> | |
<div class="d2h-code-wrapper"> | |
<table class="d2h-diff-table"> | |
<tbody class="d2h-diff-tbody"> | |
<tr> | |
<td class="d2h-code-side-linenumber d2h-info"></td> | |
<td class="d2h-info"> | |
<div class="d2h-code-side-line d2h-info">@@ -3,100 +3,96 @@</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
3 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"># file, # You can obtain one at http://mozilla.org/MPL/2.0/.</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
4 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
5 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">from __future__ import unicode_literals</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
6 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
7 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">import os</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
8 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
9 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">from mozbuild.base import MozbuildObject</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
10 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">from mozbuild.frontend.reader import BuildReader</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
11 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">from mozpack.copier import FileCopier</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
12 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">from mozpack.files import FileFinder</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
13 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">from mozpack.manifests import InstallManifest</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
14 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
15 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">import sphinx</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
16 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">import sphinx.apidoc</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
17 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
18 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">here = os.path.abspath(os.path.dirname(__file__))</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
19 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">build = MozbuildObject.from_environment(cwd=here)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
20 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
21 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">MAIN_DOC_PATH = os.path.join(build.topsrcdir, 'tools', 'docs')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
22 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
23 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
24 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">class _SphinxManager(object):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
25 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> """Manages the generation of Sphinx documentation for the tree."""</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
26 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
27 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> def __init__(self, topsrcdir, main_path):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
28 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> self.topsrcdir = topsrcdir</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
29 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> self.conf_py_path = os.path.join(main_path, 'conf.py')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
30 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> self.index_path = os.path.join(main_path, 'index.rst')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
31 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
32 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> self._trees = {}</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
33 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
34 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> # Instance variables that get set in self.generate_docs()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
35 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> self.staging_dir = None</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
36 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
37 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> def read_build_config(self):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
38 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> """Read the active build config and add docs to this instance."""</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
39 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> reader = BuildReader()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
40 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> for path, key, value in reader.find_sphinx_variables():</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
41 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> reldir = os.path.dirname(path)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
42 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
43 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> assert key</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
44 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> if key.startswith('/'):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
45 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> key = key[1:]</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
46 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> else:</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
47 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> key = os.path.join(reldir, key)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
48 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> self.add_tree(os.path.join(reldir, value), key)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
49 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
50 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> def add_tree(self, source_dir, dest_dir):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
51 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> """Add a directory from where docs should be sourced."""</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
52 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> if dest_dir in self._trees:</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
53 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> raise Exception('%s has already been registered as a destination.'</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
54 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> % dest_dir)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
55 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
56 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> self._trees[dest_dir] = source_dir</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
57 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
58 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
59 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> def generate_docs(self, app):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
60 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> """Generate/stage documentation."""</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
61 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> self.staging_dir = os.path.join(app.outdir, '_staging')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
62 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
63 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> app.info('Reading Sphinx metadata from build configuration')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
64 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> self.read_build_config()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
65 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> app.info('Staging static documentation')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
66 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> self._synchronize_docs()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
67 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> app.info('Generating Python API documentation')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
68 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> self._generate_python_api_docs()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
69 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
70 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> def _generate_python_api_docs(self):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
71 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> """Generate Python API doc files."""</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
72 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> out_dir = os.path.join(self.staging_dir, 'python')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
73 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> base_args = ['sphinx', '--no-toc', '-o', out_dir]</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
74 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
75 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> for p in sorted(self._python_package_dirs):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
76 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> full = os.path.join(self.topsrcdir, p)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
77 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
78 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> finder = FileFinder(full)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
79 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> dirs = {os.path.dirname(f[0]) for f in finder.find('**')}</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
80 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
81 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> excludes = {d for d in dirs if d.endswith('test')}</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
82 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
83 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> args = list(base_args)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-info"></td> | |
<td class="d2h-info"> | |
<div class="d2h-code-side-line d2h-info">@@ -105,36 +101,36 @@ class _SphinxManager(object):</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
105 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
106 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> sphinx.apidoc.main(args)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
107 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
108 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> def _synchronize_docs(self):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
109 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> m = InstallManifest()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
110 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
111 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> m.add_link(self.conf_py_path, 'conf.py')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
112 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
113 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> for dest, source in sorted(self.<del>_trees</del>.items()):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
114 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> source_dir = os.path.join(self.topsrcdir, source)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
115 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> for root, dirs, files in os.walk(source_dir):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
116 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> for f in files:</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
117 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> source_path = os.path.join(root, f)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
118 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> rel_source = source_path[len(source_dir) + 1:]</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
119 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
120 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> m.add_link(source_path, os.path.join(dest, rel_source))</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
121 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
122 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> copier = FileCopier()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
123 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> m.populate_registry(copier)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
124 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> copier.copy(self.staging_dir)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
125 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
126 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> with open(self.index_path, 'rb') as fh:</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
127 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> data = fh.read()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
128 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-del"> | |
129 | |
</td> | |
<td class="d2h-del"> | |
<div class="d2h-code-side-line d2h-del"> | |
<span class="d2h-code-line-prefix">-</span> | |
<span class="d2h-code-line-ctn"> indexes = ['%s/index' % p for p in sorted(self.<del>_trees</del>.keys())]</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
130 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> indexes = '\n '.join(indexes)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
131 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
132 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> packages = [os.path.basename(p) for p in self._python_package_dirs]</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
133 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> packages = ['python/%s' % p for p in packages]</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
134 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> packages = '\n '.join(sorted(packages))</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
135 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> data = data.format(indexes=indexes, python_packages=packages)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
136 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
137 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> with open(os.path.join(self.staging_dir, 'index.rst'), 'wb') as fh:</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
138 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> fh.write(data)</span> | |
</div> | |
</td> | |
</tr> | |
</tbody> | |
</table> | |
</div> | |
</div> | |
<div class="d2h-file-side-diff"> | |
<div class="d2h-code-wrapper"> | |
<table class="d2h-diff-table"> | |
<tbody class="d2h-diff-tbody"> | |
<tr> | |
<td class="d2h-code-side-linenumber d2h-info"></td> | |
<td class="d2h-info"> | |
<div class="d2h-code-side-line d2h-info"></div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
3 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"># file, # You can obtain one at http://mozilla.org/MPL/2.0/.</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
4 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
5 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">from __future__ import unicode_literals</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
6 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
7 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">import os</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
8 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
9 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">from mozbuild.base import MozbuildObject</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
10 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">from mozbuild.frontend.reader import BuildReader</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
11 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn">from mozbuild.util import memoize</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
12 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">from mozpack.copier import FileCopier</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
13 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">from mozpack.files import FileFinder</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
14 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">from mozpack.manifests import InstallManifest</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
15 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
16 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">import sphinx</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
17 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">import sphinx.apidoc</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
18 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
19 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">here = os.path.abspath(os.path.dirname(__file__))</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
20 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">build = MozbuildObject.from_environment(cwd=here)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
21 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
22 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">MAIN_DOC_PATH = os.path.join(build.topsrcdir, 'tools', 'docs')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
23 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
24 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
25 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn">@memoize</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
26 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn">def read_build_config(docdir):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
27 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> """Read the active build config and return the relevant doc paths.</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
28 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
29 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> The return value is cached so re-generating with the same docdir won't</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
30 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> invoke the build system a second time."""</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
31 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> trees = {}</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
32 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
33 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> reader = BuildReader()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
34 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> for path, key, value in reader.find_sphinx_variables():</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
35 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> reldir = os.path.join(os.path.dirname(path), value)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
36 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
37 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> assert key</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
38 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> if key.startswith('/'):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
39 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> key = key[1:]</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
40 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> else:</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
41 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> key = os.path.join(reldir, key)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
42 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
43 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> if key in trees:</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
44 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> raise Exception('{} has already been registered as a destination.'.format(key))</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
45 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> trees[key] = reldir</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
46 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
47 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> return trees</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
48 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
49 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
50 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn">class _SphinxManager(object):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
51 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> """Manages the generation of Sphinx documentation for the tree."""</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
52 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
53 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> def __init__(self, topsrcdir, main_path):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
54 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> self.topsrcdir = topsrcdir</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
55 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> self.conf_py_path = os.path.join(main_path, 'conf.py')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
56 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> self.index_path = os.path.join(main_path, 'index.rst')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
57 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
58 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> # Instance variables that get set in self.generate_docs()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
59 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> self.staging_dir = None</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
60 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"><ins> self.trees = None</ins></span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
61 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
62 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> def generate_docs(self, app):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
63 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> """Generate/stage documentation."""</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
64 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> self.staging_dir = os.path.join(app.outdir, '_staging')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
65 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
66 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> app.info('Reading Sphinx metadata from build configuration')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
67 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> self.<ins>trees = </ins>read_build_config()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
68 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
69 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> app.info('Staging static documentation')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
70 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> self._synchronize_docs()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
71 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> app.info('Generating Python API documentation')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
72 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> self._generate_python_api_docs()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
73 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
74 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> def _generate_python_api_docs(self):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
75 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> """Generate Python API doc files."""</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
76 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> out_dir = os.path.join(self.staging_dir, 'python')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
77 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> base_args = ['sphinx', '--no-toc', '-o', out_dir]</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
78 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
79 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> for p in sorted(self._python_package_dirs):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
80 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> full = os.path.join(self.topsrcdir, p)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
81 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
82 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> finder = FileFinder(full)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
83 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> dirs = {os.path.dirname(f[0]) for f in finder.find('**')}</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
84 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
85 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> excludes = {d for d in dirs if d.endswith('test')}</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
86 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
87 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> args = list(base_args)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-info"></td> | |
<td class="d2h-info"> | |
<div class="d2h-code-side-line d2h-info"></div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
101 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
102 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> sphinx.apidoc.main(args)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
103 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
104 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> def _synchronize_docs(self):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
105 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> m = InstallManifest()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
106 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
107 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> m.add_link(self.conf_py_path, 'conf.py')</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
108 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
109 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> for dest, source in sorted(self.<ins>trees</ins>.items()):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
110 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> source_dir = os.path.join(self.topsrcdir, source)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
111 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> for root, dirs, files in os.walk(source_dir):</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
112 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> for f in files:</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
113 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> source_path = os.path.join(root, f)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
114 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> rel_source = source_path[len(source_dir) + 1:]</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
115 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
116 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> m.add_link(source_path, os.path.join(dest, rel_source))</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
117 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
118 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> copier = FileCopier()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
119 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> m.populate_registry(copier)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
120 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> copier.copy(self.staging_dir)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
121 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
122 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> with open(self.index_path, 'rb') as fh:</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
123 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> data = fh.read()</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
124 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-ins"> | |
125 | |
</td> | |
<td class="d2h-ins"> | |
<div class="d2h-code-side-line d2h-ins"> | |
<span class="d2h-code-line-prefix">+</span> | |
<span class="d2h-code-line-ctn"> indexes = ['%s/index' % p for p in sorted(self.<ins>trees</ins>.keys())]</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
126 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> indexes = '\n '.join(indexes)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
127 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
128 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> packages = [os.path.basename(p) for p in self._python_package_dirs]</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
129 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> packages = ['python/%s' % p for p in packages]</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
130 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> packages = '\n '.join(sorted(packages))</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
131 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> data = data.format(indexes=indexes, python_packages=packages)</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
132 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
133 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> with open(os.path.join(self.staging_dir, 'index.rst'), 'wb') as fh:</span> | |
</div> | |
</td> | |
</tr><tr> | |
<td class="d2h-code-side-linenumber d2h-cntx"> | |
134 | |
</td> | |
<td class="d2h-cntx"> | |
<div class="d2h-code-side-line d2h-cntx"> | |
<span class="d2h-code-line-prefix"> </span> | |
<span class="d2h-code-line-ctn"> fh.write(data)</span> | |
</div> | |
</td> | |
</tr> | |
</tbody> | |
</table> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment