hooks.txt -> hooks.py
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
new file mode 100644
index 0000000..5d5adc6
--- /dev/null
+++ b/erpnext/hooks.py
@@ -0,0 +1,60 @@
+app_name = "erpnext"
+app_title = "ERPNext"
+app_publisher = "Web Notes Technologies Pvt. Ltd. and Contributors"
+app_description = "Open Source Enterprise Resource Planning for Small and Midsized Organizations"
+app_icon = "icon-th"
+app_color = "#e74c3c"
+app_version = "4.0.0-wip"
+
+app_include_js = "assets/js/erpnext.min.js"
+app_include_css = "assets/css/erpnext.css"
+web_include_js = "assets/js/erpnext-web.min.js"
+
+after_install = "erpnext.setup.install.after_install"
+
+boot_session = "erpnext.startup.boot.boot_session"
+notification_config = "erpnext.startup.notifications.get_notification_config"
+
+dump_report_map = "erpnext.startup.report_data_map.data_map"
+update_website_context = "erpnext.startup.webutils.update_website_context"
+
+mail_footer = "erpnext.startup.mail_footer"
+
+on_session_creation = "erpnext.startup.event_handlers.on_session_creation"
+before_tests = "erpnext.setup.utils.before_tests"
+
+standard_queries = "Customer:erpnext.selling.doctype.customer.customer.get_customer_list"
+
+doc_events = {
+ "*": {
+ "on_update": "erpnext.home.update_feed",
+ "on_submit": "erpnext.home.update_feed"
+ },
+ "Comment": {
+ "on_update": "erpnext.home.make_comment_feed"
+ },
+ "Stock Entry": {
+ "on_submit": "erpnext.stock.doctype.material_request.material_request.update_completed_qty",
+ "on_cancel": "erpnext.stock.doctype.material_request.material_request.update_completed_qty"
+ }
+}
+
+scheduler_events = {
+ "all": [
+ "erpnext.support.doctype.support_ticket.get_support_mails.get_support_mails",
+ "erpnext.hr.doctype.job_applicant.get_job_applications.get_job_applications",
+ "erpnext.selling.doctype.lead.get_leads.get_leads"
+ ],
+ "daily": [
+ "erpnext.accounts.doctype.sales_invoice.sales_invoice.manage_recurring_invoices",
+ "erpnext.stock.utils.reorder_item",
+ "erpnext.setup.doctype.email_digest.email_digest.send",
+ "erpnext.support.doctype.support_ticket.support_ticket.auto_close_tickets"
+ ],
+ "daily_long": [
+ "erpnext.setup.doctype.backup_manager.backup_manager.take_backups_daily"
+ ],
+ "weekly_long": [
+ "erpnext.setup.doctype.backup_manager.backup_manager.take_backups_weekly"
+ ]
+}
diff --git a/erpnext/hooks.txt b/erpnext/hooks.txt
deleted file mode 100644
index b4e6b8e..0000000
--- a/erpnext/hooks.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-app_name = erpnext
-app_title = ERPNext
-app_publisher = Web Notes Technologies Pvt. Ltd. and Contributors
-app_description = Open Source Enterprise Resource Planning for Small and Midsized Organizations
-app_icon = icon-th
-app_color = #e74c3c
-app_version = 4.0.0-wip
-
-app_include_js = assets/js/erpnext.min.js
-app_include_css = assets/css/erpnext.css
-web_include_js = assets/js/erpnext-web.min.js
-
-after_install = erpnext.setup.install.after_install
-
-boot_session = erpnext.startup.boot.boot_session
-notification_config = erpnext.startup.notifications.get_notification_config
-
-dump_report_map = erpnext.startup.report_data_map.data_map
-update_website_context = erpnext.startup.webutils.update_website_context
-
-mail_footer = erpnext.startup.mail_footer
-
-on_session_creation = erpnext.startup.event_handlers.on_session_creation
-before_tests = erpnext.setup.utils.before_tests
-
-# Bean Events
-# -------------------------
-
-doc_event:*:on_update = erpnext.home.update_feed
-doc_event:*:on_submit = erpnext.home.update_feed
-doc_event:Comment:on_update = erpnext.home.make_comment_feed
-
-doc_event:Stock Entry:on_submit = erpnext.stock.doctype.material_request.material_request.update_completed_qty
-doc_event:Stock Entry:on_cancel = erpnext.stock.doctype.material_request.material_request.update_completed_qty
-
-standard_queries = Customer:erpnext.selling.doctype.customer.customer.get_customer_list
-
-# Schedulers
-# -------------------------
-
-#### Frequently
-
-scheduler_event:all = erpnext.support.doctype.support_ticket.get_support_mails.get_support_mails
-scheduler_event:all = erpnext.hr.doctype.job_applicant.get_job_applications.get_job_applications
-scheduler_event:all = erpnext.selling.doctype.lead.get_leads.get_leads
-
-#### Daily
-
-scheduler_event:daily = erpnext.accounts.doctype.sales_invoice.sales_invoice.manage_recurring_invoices
-scheduler_event:daily_long = erpnext.setup.doctype.backup_manager.backup_manager.take_backups_daily
-scheduler_event:daily = erpnext.stock.utils.reorder_item
-scheduler_event:daily = erpnext.setup.doctype.email_digest.email_digest.send
-scheduler_event:daily = erpnext.support.doctype.support_ticket.support_ticket.auto_close_tickets
-
-#### Weekly
-
-scheduler_event:weekly_long = erpnext.setup.doctype.backup_manager.backup_manager.take_backups_weekly
diff --git a/erpnext/tests/__init__.py b/erpnext/tests/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/tests/__init__.py
diff --git a/erpnext/tests/sel_tests.py b/erpnext/tests/sel_tests.py
new file mode 100644
index 0000000..b1db9bb
--- /dev/null
+++ b/erpnext/tests/sel_tests.py
@@ -0,0 +1,28 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+"""
+Run Selenium Tests
+
+Requires a clean install. After reinstalling fresh db, call
+
+ frappe --execute erpnext.tests.sel_tests.start
+
+"""
+
+from __future__ import unicode_literals
+import frappe
+
+from frappe.utils import sel
+
+def start():
+ sel.start(verbose=True)
+ sel.login("#page-setup-wizard")
+
+
+# complete setup
+# new customer
+# new supplier
+# new item
+# sales cycle
+# purchase cycle