Skip to content

Commit df49bc2

Browse files
committed
Merge pull request #1 from Samuc/master
Add package and html documentation generator
2 parents 8f0dc31 + dafbcb8 commit df49bc2

71 files changed

Lines changed: 19595 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Priority Matrix Python API
2+
#Requirements
3+
4+
Priority Matrix requires the following modules:
5+
- Python 2.5+
6+
- Slumber
7+
- Demjson
8+
- Quick view of PM use
9+
10+
PM is easy to use to interact with the API:
11+
test.py:
12+
13+
```
14+
import priority_matrix
15+
16+
pm = PM("https://sync.appfluence.com/api/v1/", "your_access_token")
17+
18+
print pm.project("project_name").item("item_name").toString()
19+
pm.project("project_name").item("item_name").name = "New item name"
20+
print pm.project("project_name").item("item_name").name
21+
print pm.project("project_name").item("item_name").id
22+
```

html_sphinx/Makefile

Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
1+
# Makefile for Sphinx documentation
2+
#
3+
4+
# You can set these variables from the command line.
5+
SPHINXOPTS =
6+
SPHINXBUILD = sphinx-build
7+
PAPER =
8+
BUILDDIR = _build
9+
10+
# User-friendly check for sphinx-build
11+
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
12+
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don\'t have Sphinx installed, grab it from http://sphinx-doc.org/)
13+
endif
14+
15+
# Internal variables.
16+
PAPEROPT_a4 = -D latex_paper_size=a4
17+
PAPEROPT_letter = -D latex_paper_size=letter
18+
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
19+
# the i18n builder cannot share the environment and doctrees with the others
20+
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
21+
22+
.PHONY: help
23+
help:
24+
@echo "Please use \`make <target>' where <target> is one of"
25+
@echo " html to make standalone HTML files"
26+
@echo " dirhtml to make HTML files named index.html in directories"
27+
@echo " singlehtml to make a single large HTML file"
28+
@echo " pickle to make pickle files"
29+
@echo " json to make JSON files"
30+
@echo " htmlhelp to make HTML files and a HTML help project"
31+
@echo " qthelp to make HTML files and a qthelp project"
32+
@echo " applehelp to make an Apple Help Book"
33+
@echo " devhelp to make HTML files and a Devhelp project"
34+
@echo " epub to make an epub"
35+
@echo " epub3 to make an epub3"
36+
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
37+
@echo " latexpdf to make LaTeX files and run them through pdflatex"
38+
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
39+
@echo " text to make text files"
40+
@echo " man to make manual pages"
41+
@echo " texinfo to make Texinfo files"
42+
@echo " info to make Texinfo files and run them through makeinfo"
43+
@echo " gettext to make PO message catalogs"
44+
@echo " changes to make an overview of all changed/added/deprecated items"
45+
@echo " xml to make Docutils-native XML files"
46+
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
47+
@echo " linkcheck to check all external links for integrity"
48+
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
49+
@echo " coverage to run coverage check of the documentation (if enabled)"
50+
51+
.PHONY: clean
52+
clean:
53+
rm -rf $(BUILDDIR)/*
54+
55+
.PHONY: html
56+
html:
57+
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)
58+
@echo
59+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
60+
61+
.PHONY: dirhtml
62+
dirhtml:
63+
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
64+
@echo
65+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
66+
67+
.PHONY: singlehtml
68+
singlehtml:
69+
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
70+
@echo
71+
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
72+
73+
.PHONY: pickle
74+
pickle:
75+
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
76+
@echo
77+
@echo "Build finished; now you can process the pickle files."
78+
79+
.PHONY: json
80+
json:
81+
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
82+
@echo
83+
@echo "Build finished; now you can process the JSON files."
84+
85+
.PHONY: htmlhelp
86+
htmlhelp:
87+
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
88+
@echo
89+
@echo "Build finished; now you can run HTML Help Workshop with the" \
90+
".hhp project file in $(BUILDDIR)/htmlhelp."
91+
92+
.PHONY: qthelp
93+
qthelp:
94+
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
95+
@echo
96+
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
97+
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
98+
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PythonWrappper.qhcp"
99+
@echo "To view the help file:"
100+
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PythonWrappper.qhc"
101+
102+
.PHONY: applehelp
103+
applehelp:
104+
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
105+
@echo
106+
@echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
107+
@echo "N.B. You won't be able to view it unless you put it in" \
108+
"~/Library/Documentation/Help or install it in your application" \
109+
"bundle."
110+
111+
.PHONY: devhelp
112+
devhelp:
113+
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
114+
@echo
115+
@echo "Build finished."
116+
@echo "To view the help file:"
117+
@echo "# mkdir -p $$HOME/.local/share/devhelp/PythonWrappper"
118+
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PythonWrappper"
119+
@echo "# devhelp"
120+
121+
.PHONY: epub
122+
epub:
123+
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
124+
@echo
125+
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
126+
127+
.PHONY: epub3
128+
epub3:
129+
$(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3
130+
@echo
131+
@echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3."
132+
133+
.PHONY: latex
134+
latex:
135+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
136+
@echo
137+
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
138+
@echo "Run \`make' in that directory to run these through (pdf)latex" \
139+
"(use \`make latexpdf' here to do that automatically)."
140+
141+
.PHONY: latexpdf
142+
latexpdf:
143+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
144+
@echo "Running LaTeX files through pdflatex..."
145+
$(MAKE) -C $(BUILDDIR)/latex all-pdf
146+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
147+
148+
.PHONY: latexpdfja
149+
latexpdfja:
150+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
151+
@echo "Running LaTeX files through platex and dvipdfmx..."
152+
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
153+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
154+
155+
.PHONY: text
156+
text:
157+
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
158+
@echo
159+
@echo "Build finished. The text files are in $(BUILDDIR)/text."
160+
161+
.PHONY: man
162+
man:
163+
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
164+
@echo
165+
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
166+
167+
.PHONY: texinfo
168+
texinfo:
169+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
170+
@echo
171+
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
172+
@echo "Run \`make' in that directory to run these through makeinfo" \
173+
"(use \`make info' here to do that automatically)."
174+
175+
.PHONY: info
176+
info:
177+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
178+
@echo "Running Texinfo files through makeinfo..."
179+
make -C $(BUILDDIR)/texinfo info
180+
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
181+
182+
.PHONY: gettext
183+
gettext:
184+
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
185+
@echo
186+
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
187+
188+
.PHONY: changes
189+
changes:
190+
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
191+
@echo
192+
@echo "The overview file is in $(BUILDDIR)/changes."
193+
194+
.PHONY: linkcheck
195+
linkcheck:
196+
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
197+
@echo
198+
@echo "Link check complete; look for any errors in the above output " \
199+
"or in $(BUILDDIR)/linkcheck/output.txt."
200+
201+
.PHONY: doctest
202+
doctest:
203+
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
204+
@echo "Testing of doctests in the sources finished, look at the " \
205+
"results in $(BUILDDIR)/doctest/output.txt."
206+
207+
.PHONY: coverage
208+
coverage:
209+
$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
210+
@echo "Testing of coverage in the sources finished, look at the " \
211+
"results in $(BUILDDIR)/coverage/python.txt."
212+
213+
.PHONY: xml
214+
xml:
215+
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
216+
@echo
217+
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
218+
219+
.PHONY: pseudoxml
220+
pseudoxml:
221+
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
222+
@echo
223+
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."

html_sphinx/_build/.buildinfo

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Sphinx build info version 1
2+
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3+
config: 6154fe61416037a51d39acbe443a26f1
4+
tags: 645f666f9bcd5a90fca523b33c5a78b7
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Priority Matrix - Code Documentation
2+
====================================
3+
4+
.. toctree::
5+
:maxdepth: 3
6+
7+
pm
8+
project
9+
item
10+
icon
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
2+
==============================================
3+
Getting Access Token Authentication - OAuth 2.0
4+
==============================================
5+
6+
7+
Getting ID and Client Secret
8+
============================
9+
10+
We use `OAuth 2.0`_ for authentication.
11+
12+
.. _OAuth 2.0: http://oauth.net/2/
13+
14+
First, create an application on /o/applications/
15+
16+
| 1. Go to https://sync.appfluence.com/o/applications/
17+
18+
19+
| 2. Create a new application:
20+
21+
* name: any unique name
22+
* client type: confidential
23+
* authorization grant type: “Resource owner password-based”
24+
25+
| 3. Save the client id and client secret.
26+
27+
Example:
28+
29+
.. image:: ../images/pm_id_client_secret.jpg
30+
:width: 55%
31+
:alt: ID and Client Secret
32+
33+
Getting Access Token
34+
====================
35+
36+
To get the authorization token, we have to do a "http post" request on /o/token/ .
37+
A fast way is to use the Chrome Postman plugin or Firefox/RESTClient plugin.
38+
39+
Firstly, we have to login, on https://sync.appfluence.com , on the browser we are going to use the plugin.
40+
Once we are logged in, the plugin will catch directly the cookie to connect with the Appfluence API.
41+
42+
Then, we are going to use Chrome/Postman on our example.
43+
44+
| 1. On Basic Auth tab, we fill our ID and client secret, in the textboxes Username and Password respectively, and click on "Refres headers" to generate automatically the Authorization header:
45+
46+
.. image:: ../images/pm_id_client_secret_2.jpg
47+
:alt: ID and Client Secret
48+
49+
50+
| 2. We set the request to a POST one, and in the x-www-form-uncoded tab we are going write the our username, password and grant_type.
51+
Then, we send the request, and the response will be the access_token.
52+
Example:
53+
54+
.. image:: ../images/pm_id_client_secret_3.jpg
55+
:alt: ID and Client Secret
56+
57+
| 3. In the request response we can see our **access_token string**, this is the parameter we need to connect to the API in our Priority Matrix python API.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
Welcome to Priority Matrix Python API's documentation!
2+
==========================================
3+
4+
==============
5+
Index Contents
6+
==============
7+
8+
.. toctree::
9+
:maxdepth: 3
10+
11+
tutorial
12+
get_access_token
13+
code_documentation
14+
15+
Requirements
16+
============
17+
18+
Priority Matrix requires the following modules:
19+
20+
* Python 2.5+
21+
* Slumber
22+
* Demjson
23+
24+
25+
Quick view of PM use
26+
====================
27+
* PM is easy to use to interact with the API:
28+
test.py::
29+
30+
import priority_matrix
31+
32+
pm = PM("https://sync.appfluence.com/api/v1/", "your_access_token")
33+
34+
print pm.project("project_name").item("item_name").toString()
35+
pm.project("project_name").item("item_name").name = "New item name"
36+
print pm.project("project_name").item("item_name").name
37+
print pm.project("project_name").item("item_name").id
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Item Class
2+
=============================
3+
4+
.. automodule:: item
5+
.. autoclass:: Item
6+
:members:
7+
:undoc-members:

html_sphinx/_build/_sources/pm.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Priority Matrix - Main Class
2+
=============================
3+
4+
.. automodule:: pm
5+
6+
.. autoclass:: PM
7+
:members:
8+
:undoc-members:
9+
10+
.. automethod:: __init__
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Project Class
2+
=============================
3+
4+
.. automodule:: project
5+
.. autoclass:: Project
6+
:members:
7+
:undoc-members:

0 commit comments

Comments
 (0)