Skip to content

Commit 2fa6a38

Browse files
committed
init commit
0 parents  commit 2fa6a38

16 files changed

+1062
-0
lines changed

.gitignore

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
*.py[cod]
2+
3+
# C extensions
4+
*.so
5+
6+
# pycharm
7+
.idea/
8+
.idea
9+
10+
# Packages
11+
*.egg
12+
*.egg-info
13+
build
14+
eggs
15+
parts
16+
bin
17+
var
18+
sdist
19+
develop-eggs
20+
.installed.cfg
21+
lib
22+
lib64
23+
24+
# Installer logs
25+
pip-log.txt
26+
27+
# Unit test / coverage reports
28+
.coverage
29+
.tox
30+
nosetests.xml
31+
32+
# Complexity
33+
output/*.html
34+
output/*/index.html
35+
36+
# Sphinx
37+
docs/_build
38+
39+
# Cookiecutter
40+
output/
41+
42+
dist/
43+
env/

LICENSE.md

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Copyright (c) 2017, Jesse Cooper
2+
All rights reserved.
3+
4+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5+
6+
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7+
8+
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
9+
10+
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
11+
12+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

MANIFEST.in

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
include README.md
2+
include requirements.txt

README.md

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
flask-casbin
2+
===============================
3+
4+
A Flask Casbin interface that allows you to decorate routes
5+
6+
Installation / Usage
7+
--------------------
8+
9+
To install use pip:
10+
```
11+
$ pip install flask-casbin
12+
```
13+
14+
Or clone the repo:
15+
```
16+
$ git clone https://github.com/sciencelogic/flask-casbin.git
17+
$ python setup.py install
18+
```
19+
20+
Module Usage:
21+
```python
22+
app = Flask(__name__)
23+
# Set up Casbin model config
24+
app.config['CASBIN_MODEL'] = 'casbinmodel.conf'
25+
# Set headers where owner for enforcement policy should be located
26+
app.config['CASBIN_OWNER_HEADERS'] = {'X-User', 'X-Group'}
27+
# Set up Casbin Adapter
28+
adapter = casbin_couchbase_adapter.Adapter(...)
29+
casbin_enforcer = CasbinEnforcer(app, adapter)
30+
31+
@app.route('/', methods=['GET'])
32+
@casbin_enforcer.enforcer
33+
def get_root():
34+
return jsonify({'message': 'If you see this you have access'})
35+
```
36+
37+
Contributing
38+
------------
39+
40+
TBD
41+
42+
Example
43+
-------
44+
45+
TBD

dev_requirements.txt

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Dev/Deployment
2+
sphinx
3+
sphinx_rtd_theme
4+
pytest
5+
pytest-cov
6+
pytest-mock
7+
coverage
8+
pypi-publisher

docs/Makefile

+230
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,230 @@
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) source
19+
# the i18n builder cannot share the environment and doctrees with the others
20+
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
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+
@echo " dummy to check syntax errors of document sources"
51+
52+
.PHONY: clean
53+
clean:
54+
rm -rf $(BUILDDIR)/*
55+
56+
.PHONY: html
57+
html:
58+
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
59+
@echo
60+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
61+
62+
.PHONY: dirhtml
63+
dirhtml:
64+
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
65+
@echo
66+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
67+
68+
.PHONY: singlehtml
69+
singlehtml:
70+
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
71+
@echo
72+
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
73+
74+
.PHONY: pickle
75+
pickle:
76+
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
77+
@echo
78+
@echo "Build finished; now you can process the pickle files."
79+
80+
.PHONY: json
81+
json:
82+
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
83+
@echo
84+
@echo "Build finished; now you can process the JSON files."
85+
86+
.PHONY: htmlhelp
87+
htmlhelp:
88+
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
89+
@echo
90+
@echo "Build finished; now you can run HTML Help Workshop with the" \
91+
".hhp project file in $(BUILDDIR)/htmlhelp."
92+
93+
.PHONY: qthelp
94+
qthelp:
95+
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
96+
@echo
97+
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
98+
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
99+
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/twitterpandas.qhcp"
100+
@echo "To view the help file:"
101+
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/twitterpandas.qhc"
102+
103+
.PHONY: applehelp
104+
applehelp:
105+
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
106+
@echo
107+
@echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
108+
@echo "N.B. You won't be able to view it unless you put it in" \
109+
"~/Library/Documentation/Help or install it in your application" \
110+
"bundle."
111+
112+
.PHONY: devhelp
113+
devhelp:
114+
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
115+
@echo
116+
@echo "Build finished."
117+
@echo "To view the help file:"
118+
@echo "# mkdir -p $$HOME/.local/share/devhelp/twitterpandas"
119+
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/twitterpandas"
120+
@echo "# devhelp"
121+
122+
.PHONY: epub
123+
epub:
124+
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
125+
@echo
126+
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
127+
128+
.PHONY: epub3
129+
epub3:
130+
$(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3
131+
@echo
132+
@echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3."
133+
134+
.PHONY: latex
135+
latex:
136+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
137+
@echo
138+
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
139+
@echo "Run \`make' in that directory to run these through (pdf)latex" \
140+
"(use \`make latexpdf' here to do that automatically)."
141+
142+
.PHONY: latexpdf
143+
latexpdf:
144+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
145+
@echo "Running LaTeX files through pdflatex..."
146+
$(MAKE) -C $(BUILDDIR)/latex all-pdf
147+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
148+
149+
.PHONY: latexpdfja
150+
latexpdfja:
151+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
152+
@echo "Running LaTeX files through platex and dvipdfmx..."
153+
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
154+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
155+
156+
.PHONY: text
157+
text:
158+
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
159+
@echo
160+
@echo "Build finished. The text files are in $(BUILDDIR)/text."
161+
162+
.PHONY: man
163+
man:
164+
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
165+
@echo
166+
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
167+
168+
.PHONY: texinfo
169+
texinfo:
170+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
171+
@echo
172+
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
173+
@echo "Run \`make' in that directory to run these through makeinfo" \
174+
"(use \`make info' here to do that automatically)."
175+
176+
.PHONY: info
177+
info:
178+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
179+
@echo "Running Texinfo files through makeinfo..."
180+
make -C $(BUILDDIR)/texinfo info
181+
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
182+
183+
.PHONY: gettext
184+
gettext:
185+
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
186+
@echo
187+
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
188+
189+
.PHONY: changes
190+
changes:
191+
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
192+
@echo
193+
@echo "The overview file is in $(BUILDDIR)/changes."
194+
195+
.PHONY: linkcheck
196+
linkcheck:
197+
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
198+
@echo
199+
@echo "Link check complete; look for any errors in the above output " \
200+
"or in $(BUILDDIR)/linkcheck/output.txt."
201+
202+
.PHONY: doctest
203+
doctest:
204+
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
205+
@echo "Testing of doctests in the sources finished, look at the " \
206+
"results in $(BUILDDIR)/doctest/output.txt."
207+
208+
.PHONY: coverage
209+
coverage:
210+
$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
211+
@echo "Testing of coverage in the sources finished, look at the " \
212+
"results in $(BUILDDIR)/coverage/python.txt."
213+
214+
.PHONY: xml
215+
xml:
216+
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
217+
@echo
218+
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
219+
220+
.PHONY: pseudoxml
221+
pseudoxml:
222+
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
223+
@echo
224+
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
225+
226+
.PHONY: dummy
227+
dummy:
228+
$(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy
229+
@echo
230+
@echo "Build finished. Dummy builder generates no files."

0 commit comments

Comments
 (0)