feat: Initialize App

This commit is contained in:
Pranav Jerry 2023-03-25 22:00:12 +05:30
commit 3be691b4a5
15 changed files with 257 additions and 0 deletions

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
.DS_Store
*.pyc
*.egg-info
*.swp
tags
node_modules

18
MANIFEST.in Normal file
View File

@ -0,0 +1,18 @@
include MANIFEST.in
include requirements.txt
include *.json
include *.md
include *.py
include *.txt
recursive-include exam_helper *.css
recursive-include exam_helper *.csv
recursive-include exam_helper *.html
recursive-include exam_helper *.ico
recursive-include exam_helper *.js
recursive-include exam_helper *.json
recursive-include exam_helper *.md
recursive-include exam_helper *.png
recursive-include exam_helper *.py
recursive-include exam_helper *.svg
recursive-include exam_helper *.txt
recursive-exclude exam_helper *.pyc

7
README.md Normal file
View File

@ -0,0 +1,7 @@
## Exam Helper
assist exam cell in managing exams
#### License
AGPL

3
exam_helper/__init__.py Normal file
View File

@ -0,0 +1,3 @@
__version__ = '0.0.1'

View File

View File

201
exam_helper/hooks.py Normal file
View File

@ -0,0 +1,201 @@
from . import __version__ as app_version
app_name = "exam_helper"
app_title = "Exam Helper"
app_publisher = "CSE 2020 Batch"
app_description = "assist exam cell in managing exams"
app_email = "libreinator@disroot.org"
app_license = "AGPL"
# Includes in <head>
# ------------------
# include js, css files in header of desk.html
# app_include_css = "/assets/exam_helper/css/exam_helper.css"
# app_include_js = "/assets/exam_helper/js/exam_helper.js"
# include js, css files in header of web template
# web_include_css = "/assets/exam_helper/css/exam_helper.css"
# web_include_js = "/assets/exam_helper/js/exam_helper.js"
# include custom scss in every website theme (without file extension ".scss")
# website_theme_scss = "exam_helper/public/scss/website"
# include js, css files in header of web form
# webform_include_js = {"doctype": "public/js/doctype.js"}
# webform_include_css = {"doctype": "public/css/doctype.css"}
# include js in page
# page_js = {"page" : "public/js/file.js"}
# include js in doctype views
# doctype_js = {"doctype" : "public/js/doctype.js"}
# doctype_list_js = {"doctype" : "public/js/doctype_list.js"}
# doctype_tree_js = {"doctype" : "public/js/doctype_tree.js"}
# doctype_calendar_js = {"doctype" : "public/js/doctype_calendar.js"}
# Home Pages
# ----------
# application home page (will override Website Settings)
# home_page = "login"
# website user home page (by Role)
# role_home_page = {
# "Role": "home_page"
# }
# Generators
# ----------
# automatically create page for each record of this doctype
# website_generators = ["Web Page"]
# Jinja
# ----------
# add methods and filters to jinja environment
# jinja = {
# "methods": "exam_helper.utils.jinja_methods",
# "filters": "exam_helper.utils.jinja_filters"
# }
# Installation
# ------------
# before_install = "exam_helper.install.before_install"
# after_install = "exam_helper.install.after_install"
# Uninstallation
# ------------
# before_uninstall = "exam_helper.uninstall.before_uninstall"
# after_uninstall = "exam_helper.uninstall.after_uninstall"
# Desk Notifications
# ------------------
# See frappe.core.notifications.get_notification_config
# notification_config = "exam_helper.notifications.get_notification_config"
# Permissions
# -----------
# Permissions evaluated in scripted ways
# permission_query_conditions = {
# "Event": "frappe.desk.doctype.event.event.get_permission_query_conditions",
# }
#
# has_permission = {
# "Event": "frappe.desk.doctype.event.event.has_permission",
# }
# DocType Class
# ---------------
# Override standard doctype classes
# override_doctype_class = {
# "ToDo": "custom_app.overrides.CustomToDo"
# }
# Document Events
# ---------------
# Hook on document methods and events
# doc_events = {
# "*": {
# "on_update": "method",
# "on_cancel": "method",
# "on_trash": "method"
# }
# }
# Scheduled Tasks
# ---------------
# scheduler_events = {
# "all": [
# "exam_helper.tasks.all"
# ],
# "daily": [
# "exam_helper.tasks.daily"
# ],
# "hourly": [
# "exam_helper.tasks.hourly"
# ],
# "weekly": [
# "exam_helper.tasks.weekly"
# ],
# "monthly": [
# "exam_helper.tasks.monthly"
# ],
# }
# Testing
# -------
# before_tests = "exam_helper.install.before_tests"
# Overriding Methods
# ------------------------------
#
# override_whitelisted_methods = {
# "frappe.desk.doctype.event.event.get_events": "exam_helper.event.get_events"
# }
#
# each overriding function accepts a `data` argument;
# generated from the base implementation of the doctype dashboard,
# along with any modifications made in other Frappe apps
# override_doctype_dashboards = {
# "Task": "exam_helper.task.get_dashboard_data"
# }
# exempt linked doctypes from being automatically cancelled
#
# auto_cancel_exempted_doctypes = ["Auto Repeat"]
# Ignore links to specified DocTypes when deleting documents
# -----------------------------------------------------------
# ignore_links_on_delete = ["Communication", "ToDo"]
# Request Events
# ----------------
# before_request = ["exam_helper.utils.before_request"]
# after_request = ["exam_helper.utils.after_request"]
# Job Events
# ----------
# before_job = ["exam_helper.utils.before_job"]
# after_job = ["exam_helper.utils.after_job"]
# User Data Protection
# --------------------
# user_data_fields = [
# {
# "doctype": "{doctype_1}",
# "filter_by": "{filter_by}",
# "redact_fields": ["{field_1}", "{field_2}"],
# "partial": 1,
# },
# {
# "doctype": "{doctype_2}",
# "filter_by": "{filter_by}",
# "partial": 1,
# },
# {
# "doctype": "{doctype_3}",
# "strict": False,
# },
# {
# "doctype": "{doctype_4}"
# }
# ]
# Authentication and authorization
# --------------------------------
# auth_hooks = [
# "exam_helper.auth.validate"
# ]

1
exam_helper/modules.txt Normal file
View File

@ -0,0 +1 @@
Exam Helper

0
exam_helper/patches.txt Normal file
View File

View File

View File

View File

1
license.txt Normal file
View File

@ -0,0 +1 @@
License: AGPL

1
requirements.txt Normal file
View File

@ -0,0 +1 @@
# frappe -- https://github.com/frappe/frappe is installed via 'bench init'

19
setup.py Normal file
View File

@ -0,0 +1,19 @@
from setuptools import setup, find_packages
with open("requirements.txt") as f:
install_requires = f.read().strip().split("\n")
# get version from __version__ variable in exam_helper/__init__.py
from exam_helper import __version__ as version
setup(
name="exam_helper",
version=version,
description="assist exam cell in managing exams",
author="CSE 2020 Batch",
author_email="libreinator@disroot.org",
packages=find_packages(),
zip_safe=False,
include_package_data=True,
install_requires=install_requires
)