Add project structure
This commit is contained in:
		
							
								
								
									
										193
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,193 @@ | ||||
|  | ||||
| # Created by https://www.gitignore.io/api/python,django | ||||
| # Edit at https://www.gitignore.io/?templates=python,django | ||||
|  | ||||
| ### Django ### | ||||
| *.log | ||||
| *.pot | ||||
| *.pyc | ||||
| __pycache__/ | ||||
| local_settings.py | ||||
| db.sqlite3 | ||||
| media | ||||
|  | ||||
| # If your build process includes running collectstatic, then you probably don't need or want to include staticfiles/ | ||||
| # in your Git repository. Update and uncomment the following line accordingly. | ||||
| # <django-project-name>/staticfiles/ | ||||
|  | ||||
| ### Django.Python Stack ### | ||||
| # Byte-compiled / optimized / DLL files | ||||
| *.py[cod] | ||||
| *$py.class | ||||
|  | ||||
| # C extensions | ||||
| *.so | ||||
|  | ||||
| # Distribution / packaging | ||||
| .Python | ||||
| build/ | ||||
| develop-eggs/ | ||||
| dist/ | ||||
| downloads/ | ||||
| eggs/ | ||||
| .eggs/ | ||||
| lib/ | ||||
| lib64/ | ||||
| parts/ | ||||
| sdist/ | ||||
| var/ | ||||
| wheels/ | ||||
| *.egg-info/ | ||||
| .installed.cfg | ||||
| *.egg | ||||
| MANIFEST | ||||
|  | ||||
| # PyInstaller | ||||
| #  Usually these files are written by a python script from a template | ||||
| #  before PyInstaller builds the exe, so as to inject date/other infos into it. | ||||
| *.manifest | ||||
| *.spec | ||||
|  | ||||
| # Installer logs | ||||
| pip-log.txt | ||||
| pip-delete-this-directory.txt | ||||
|  | ||||
| # Unit test / coverage reports | ||||
| htmlcov/ | ||||
| .tox/ | ||||
| .nox/ | ||||
| .coverage | ||||
| .coverage.* | ||||
| .cache | ||||
| nosetests.xml | ||||
| coverage.xml | ||||
| *.cover | ||||
| .hypothesis/ | ||||
| .pytest_cache/ | ||||
|  | ||||
| # Translations | ||||
| *.mo | ||||
|  | ||||
| # Django stuff: | ||||
|  | ||||
| # Flask stuff: | ||||
| instance/ | ||||
| .webassets-cache | ||||
|  | ||||
| # Scrapy stuff: | ||||
| .scrapy | ||||
|  | ||||
| # Sphinx documentation | ||||
| docs/_build/ | ||||
|  | ||||
| # PyBuilder | ||||
| target/ | ||||
|  | ||||
| # Jupyter Notebook | ||||
| .ipynb_checkpoints | ||||
|  | ||||
| # IPython | ||||
| profile_default/ | ||||
| ipython_config.py | ||||
|  | ||||
| # pyenv | ||||
| .python-version | ||||
|  | ||||
| # celery beat schedule file | ||||
| celerybeat-schedule | ||||
|  | ||||
| # SageMath parsed files | ||||
| *.sage.py | ||||
|  | ||||
| # Environments | ||||
| .env | ||||
| .venv | ||||
| env/ | ||||
| venv/ | ||||
| ENV/ | ||||
| env.bak/ | ||||
| venv.bak/ | ||||
|  | ||||
| # Spyder project settings | ||||
| .spyderproject | ||||
| .spyproject | ||||
|  | ||||
| # Rope project settings | ||||
| .ropeproject | ||||
|  | ||||
| # mkdocs documentation | ||||
| /site | ||||
|  | ||||
| # mypy | ||||
| .mypy_cache/ | ||||
| .dmypy.json | ||||
| dmypy.json | ||||
|  | ||||
| # Pyre type checker | ||||
| .pyre/ | ||||
|  | ||||
| ### Python ### | ||||
| # Byte-compiled / optimized / DLL files | ||||
|  | ||||
| # C extensions | ||||
|  | ||||
| # Distribution / packaging | ||||
|  | ||||
| # PyInstaller | ||||
| #  Usually these files are written by a python script from a template | ||||
| #  before PyInstaller builds the exe, so as to inject date/other infos into it. | ||||
|  | ||||
| # Installer logs | ||||
|  | ||||
| # Unit test / coverage reports | ||||
|  | ||||
| # Translations | ||||
|  | ||||
| # Django stuff: | ||||
|  | ||||
| # Flask stuff: | ||||
|  | ||||
| # Scrapy stuff: | ||||
|  | ||||
| # Sphinx documentation | ||||
|  | ||||
| # PyBuilder | ||||
|  | ||||
| # Jupyter Notebook | ||||
|  | ||||
| # IPython | ||||
|  | ||||
| # pyenv | ||||
|  | ||||
| # celery beat schedule file | ||||
|  | ||||
| # SageMath parsed files | ||||
|  | ||||
| # Environments | ||||
|  | ||||
| # Spyder project settings | ||||
|  | ||||
| # Rope project settings | ||||
|  | ||||
| # mkdocs documentation | ||||
|  | ||||
| # mypy | ||||
|  | ||||
| # Pyre type checker | ||||
|  | ||||
| ### Python Patch ### | ||||
| .venv/ | ||||
|  | ||||
| ### Python.VirtualEnv Stack ### | ||||
| # Virtualenv | ||||
| # http://iamzed.com/2009/05/07/a-primer-on-virtualenv/ | ||||
| [Bb]in | ||||
| [Ii]nclude | ||||
| [Ll]ib | ||||
| [Ll]ib64 | ||||
| [Ll]ocal | ||||
| [Ss]cripts | ||||
| pyvenv.cfg | ||||
| pip-selfcheck.json | ||||
|  | ||||
| # End of https://www.gitignore.io/api/python,django | ||||
							
								
								
									
										12
									
								
								.pylintrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.pylintrc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| [MASTER] | ||||
|  | ||||
| disable=redefined-outer-name,arguments-differ,no-self-use,cyclic-import,fixme,locally-disabled,unpacking-non-sequence,too-many-ancestors,too-many-branches,too-few-public-methods | ||||
| load-plugins=pylint_django,pylint.extensions.bad_builtin | ||||
| #,pylint.extensions.docparams | ||||
| extension-pkg-whitelist=lxml | ||||
| const-rgx=[a-zA-Z0-9_]{1,40}$ | ||||
|  | ||||
| [SIMILARITIES] | ||||
|  | ||||
| # Minimum lines number of a similarity. | ||||
| min-similarity-lines=20 | ||||
							
								
								
									
										114
									
								
								.vscode/.ropeproject/config.py
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										114
									
								
								.vscode/.ropeproject/config.py
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,114 @@ | ||||
| # The default ``config.py`` | ||||
| # flake8: noqa | ||||
|  | ||||
|  | ||||
| def set_prefs(prefs): | ||||
|     """This function is called before opening the project""" | ||||
|  | ||||
|     # Specify which files and folders to ignore in the project. | ||||
|     # Changes to ignored resources are not added to the history and | ||||
|     # VCSs.  Also they are not returned in `Project.get_files()`. | ||||
|     # Note that ``?`` and ``*`` match all characters but slashes. | ||||
|     # '*.pyc': matches 'test.pyc' and 'pkg/test.pyc' | ||||
|     # 'mod*.pyc': matches 'test/mod1.pyc' but not 'mod/1.pyc' | ||||
|     # '.svn': matches 'pkg/.svn' and all of its children | ||||
|     # 'build/*.o': matches 'build/lib.o' but not 'build/sub/lib.o' | ||||
|     # 'build//*.o': matches 'build/lib.o' and 'build/sub/lib.o' | ||||
|     prefs['ignored_resources'] = ['*.pyc', '*~', '.ropeproject', | ||||
|                                   '.hg', '.svn', '_svn', '.git', '.tox'] | ||||
|  | ||||
|     # Specifies which files should be considered python files.  It is | ||||
|     # useful when you have scripts inside your project.  Only files | ||||
|     # ending with ``.py`` are considered to be python files by | ||||
|     # default. | ||||
|     # prefs['python_files'] = ['*.py'] | ||||
|  | ||||
|     # Custom source folders:  By default rope searches the project | ||||
|     # for finding source folders (folders that should be searched | ||||
|     # for finding modules).  You can add paths to that list.  Note | ||||
|     # that rope guesses project source folders correctly most of the | ||||
|     # time; use this if you have any problems. | ||||
|     # The folders should be relative to project root and use '/' for | ||||
|     # separating folders regardless of the platform rope is running on. | ||||
|     # 'src/my_source_folder' for instance. | ||||
|     # prefs.add('source_folders', 'src') | ||||
|  | ||||
|     # You can extend python path for looking up modules | ||||
|     # prefs.add('python_path', '~/python/') | ||||
|  | ||||
|     # Should rope save object information or not. | ||||
|     prefs['save_objectdb'] = True | ||||
|     prefs['compress_objectdb'] = False | ||||
|  | ||||
|     # If `True`, rope analyzes each module when it is being saved. | ||||
|     prefs['automatic_soa'] = True | ||||
|     # The depth of calls to follow in static object analysis | ||||
|     prefs['soa_followed_calls'] = 0 | ||||
|  | ||||
|     # If `False` when running modules or unit tests "dynamic object | ||||
|     # analysis" is turned off.  This makes them much faster. | ||||
|     prefs['perform_doa'] = True | ||||
|  | ||||
|     # Rope can check the validity of its object DB when running. | ||||
|     prefs['validate_objectdb'] = True | ||||
|  | ||||
|     # How many undos to hold? | ||||
|     prefs['max_history_items'] = 32 | ||||
|  | ||||
|     # Shows whether to save history across sessions. | ||||
|     prefs['save_history'] = True | ||||
|     prefs['compress_history'] = False | ||||
|  | ||||
|     # Set the number spaces used for indenting.  According to | ||||
|     # :PEP:`8`, it is best to use 4 spaces.  Since most of rope's | ||||
|     # unit-tests use 4 spaces it is more reliable, too. | ||||
|     prefs['indent_size'] = 4 | ||||
|  | ||||
|     # Builtin and c-extension modules that are allowed to be imported | ||||
|     # and inspected by rope. | ||||
|     prefs['extension_modules'] = [] | ||||
|  | ||||
|     # Add all standard c-extensions to extension_modules list. | ||||
|     prefs['import_dynload_stdmods'] = True | ||||
|  | ||||
|     # If `True` modules with syntax errors are considered to be empty. | ||||
|     # The default value is `False`; When `False` syntax errors raise | ||||
|     # `rope.base.exceptions.ModuleSyntaxError` exception. | ||||
|     prefs['ignore_syntax_errors'] = False | ||||
|  | ||||
|     # If `True`, rope ignores unresolvable imports.  Otherwise, they | ||||
|     # appear in the importing namespace. | ||||
|     prefs['ignore_bad_imports'] = False | ||||
|  | ||||
|     # If `True`, rope will insert new module imports as | ||||
|     # `from <package> import <module>` by default. | ||||
|     prefs['prefer_module_from_imports'] = False | ||||
|  | ||||
|     # If `True`, rope will transform a comma list of imports into | ||||
|     # multiple separate import statements when organizing | ||||
|     # imports. | ||||
|     prefs['split_imports'] = False | ||||
|  | ||||
|     # If `True`, rope will remove all top-level import statements and | ||||
|     # reinsert them at the top of the module when making changes. | ||||
|     prefs['pull_imports_to_top'] = True | ||||
|  | ||||
|     # If `True`, rope will sort imports alphabetically by module name instead | ||||
|     # of alphabetically by import statement, with from imports after normal | ||||
|     # imports. | ||||
|     prefs['sort_imports_alphabetically'] = False | ||||
|  | ||||
|     # Location of implementation of | ||||
|     # rope.base.oi.type_hinting.interfaces.ITypeHintingFactory In general | ||||
|     # case, you don't have to change this value, unless you're an rope expert. | ||||
|     # Change this value to inject you own implementations of interfaces | ||||
|     # listed in module rope.base.oi.type_hinting.providers.interfaces | ||||
|     # For example, you can add you own providers for Django Models, or disable | ||||
|     # the search type-hinting in a class hierarchy, etc. | ||||
|     prefs['type_hinting_factory'] = ( | ||||
|         'rope.base.oi.type_hinting.factory.default_type_hinting_factory') | ||||
|  | ||||
|  | ||||
| def project_opened(project): | ||||
|     """This function is called after opening the project""" | ||||
|     # Do whatever you like here! | ||||
							
								
								
									
										
											BIN
										
									
								
								.vscode/.ropeproject/objectdb
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.vscode/.ropeproject/objectdb
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										10
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | ||||
| { | ||||
|   "python.pythonPath": "env/bin/python", | ||||
|   "editor.tabSize": 4, | ||||
|   "[html]": { | ||||
|     "editor.tabSize": 2 | ||||
|   }, | ||||
|   "cSpell.words": [ | ||||
|     "pyazo" | ||||
|   ] | ||||
| } | ||||
							
								
								
									
										6
									
								
								TODO
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								TODO
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | ||||
| ## oauth_client | ||||
|  | ||||
|  - Move provider_type logic to own class, not name-based URL matching | ||||
|  - add provider_type field to Provider Model | ||||
|  - make Provider inherit core.application | ||||
|  - Add template for popular services like github, twitter, facebook, etc | ||||
							
								
								
									
										15
									
								
								manage.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								manage.py
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,15 @@ | ||||
| #!/usr/bin/env python | ||||
| import os | ||||
| import sys | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'passbook.core.settings') | ||||
|     try: | ||||
|         from django.core.management import execute_from_command_line | ||||
|     except ImportError as exc: | ||||
|         raise ImportError( | ||||
|             "Couldn't import Django. Are you sure it's installed and " | ||||
|             "available on your PYTHONPATH environment variable? Did you " | ||||
|             "forget to activate a virtual environment?" | ||||
|         ) from exc | ||||
|     execute_from_command_line(sys.argv) | ||||
							
								
								
									
										4
									
								
								requirements-dev.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								requirements-dev.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| pylint | ||||
| isort | ||||
| autopep8 | ||||
| django-debug-toolbar | ||||
							
								
								
									
										6
									
								
								requirements.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								requirements.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | ||||
| -r passbook/core/requirements.txt | ||||
| -r passbook/oauth_client/requirements.txt | ||||
| -r passbook/ldap/requirements.txt | ||||
| -r passbook/saml_idp/requirements.txt | ||||
| -r passbook/tfa/requirements.txt | ||||
| -r passbook/oauth_provider/requirements.txt | ||||
		Reference in New Issue
	
	Block a user
	 Jens Langhammer
					Jens Langhammer