diff --git a/pywb/apps/cdx_server.py b/pywb/apps/cdx_server.py index b234e445..560a667e 100644 --- a/pywb/apps/cdx_server.py +++ b/pywb/apps/cdx_server.py @@ -1,7 +1,7 @@ from pywb.framework.wsgi_wrappers import init_app, start_wsgi_server #from pywb.core.cdx_api_handler import create_cdx_server_app -from pywb.core.pywb_init import create_cdx_server_app +from pywb.webapp.pywb_init import create_cdx_server_app #================================================================= # init cdx server app diff --git a/pywb/apps/wayback.py b/pywb/apps/wayback.py index 70d15537..17b7744f 100644 --- a/pywb/apps/wayback.py +++ b/pywb/apps/wayback.py @@ -1,5 +1,5 @@ from pywb.framework.wsgi_wrappers import init_app, start_wsgi_server -from pywb.core.pywb_init import create_wb_router +from pywb.webapp.pywb_init import create_wb_router #================================================================= # init pywb app diff --git a/pywb/cdx/test/test_cdxserver.py b/pywb/cdx/test/test_cdxserver.py index 3514efb6..3e4cdf3e 100644 --- a/pywb/cdx/test/test_cdxserver.py +++ b/pywb/cdx/test/test_cdxserver.py @@ -1,6 +1,7 @@ from pywb.apps.cdx_server import application from pywb.cdx.cdxserver import CDXServer, RemoteCDXServer +from pywb.utils.dsrules import DEFAULT_RULES_FILE from pywb.utils.wbexception import AccessException, NotFoundException from pywb.utils.wbexception import BadRequestException, WbException @@ -110,25 +111,22 @@ def test_match(): assert_cdx_match(RemoteCDXServer(CDX_SERVER_URL)) -# TODO: make these automatic -DEFAULT_RULES = 'pywb/rules.yaml' - def test_fuzzy_match(): # Local CDX Server assert_cdx_fuzzy_match(CDXServer([TEST_CDX_DIR], - ds_rules_file=DEFAULT_RULES)) + ds_rules_file=DEFAULT_RULES_FILE)) # Remote CDX Source, Local Filtering # two calls to remote, first exact with 404, # then fuzzy with 200 assert_cdx_fuzzy_match(CDXServer(CDX_SERVER_URL, - ds_rules_file=DEFAULT_RULES), + ds_rules_file=DEFAULT_RULES_FILE), mock_urlopen_fuzzy) # Remote CDX Query (Remote Filtering) # fuzzy match handled on remote, single response assert_cdx_fuzzy_match(RemoteCDXServer(CDX_SERVER_URL, - ds_rules_file=DEFAULT_RULES)) + ds_rules_file=DEFAULT_RULES_FILE)) def assert_error(func, exception): with raises(exception): diff --git a/pywb/perms/test/__init__.py b/pywb/perms/test/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/pywb/perms/test/test_perms.py b/pywb/perms/test/test_perms.py index 9c1e5bff..7b6e8869 100644 --- a/pywb/perms/test/test_perms.py +++ b/pywb/perms/test/test_perms.py @@ -2,7 +2,7 @@ from pywb.cdx.cdxops import cdx_load from pywb.cdx.query import CDXQuery from pywb.cdx.cdxserver import CDXServer from pywb.utils.wbexception import AccessException -from pywb.core.query_handler import QueryHandler +from pywb.webapp.query_handler import QueryHandler from pytest import raises diff --git a/pywb/core/__init__.py b/pywb/webapp/__init__.py similarity index 100% rename from pywb/core/__init__.py rename to pywb/webapp/__init__.py diff --git a/pywb/core/cdx_api_handler.py b/pywb/webapp/cdx_api_handler.py similarity index 100% rename from pywb/core/cdx_api_handler.py rename to pywb/webapp/cdx_api_handler.py diff --git a/pywb/core/handlers.py b/pywb/webapp/handlers.py similarity index 96% rename from pywb/core/handlers.py rename to pywb/webapp/handlers.py index d124ac67..2e074d66 100644 --- a/pywb/core/handlers.py +++ b/pywb/webapp/handlers.py @@ -86,13 +86,13 @@ class StaticHandler(BaseHandler): #================================================================= # Debug Handlers #================================================================= -class DebugEchoEnvHandler(BaseHandler): +class DebugEchoEnvHandler(BaseHandler): # pragma: no cover def __call__(self, wbrequest): return WbResponse.text_response(str(wbrequest.env)) #================================================================= -class DebugEchoHandler(BaseHandler): +class DebugEchoHandler(BaseHandler): # pragma: no cover def __call__(self, wbrequest): return WbResponse.text_response(str(wbrequest)) diff --git a/pywb/core/pywb_init.py b/pywb/webapp/pywb_init.py similarity index 98% rename from pywb/core/pywb_init.py rename to pywb/webapp/pywb_init.py index 520d742b..4adec312 100644 --- a/pywb/core/pywb_init.py +++ b/pywb/webapp/pywb_init.py @@ -1,3 +1,5 @@ +from pywb.utils.dsrules import DEFAULT_RULES_FILE + from pywb.framework.archivalrouter import ArchivalRouter, Route from pywb.framework.proxy import ProxyArchivalRouter from pywb.framework.wbrequestresponse import WbRequest @@ -37,7 +39,7 @@ DEFAULTS = { 'static_routes': {'static/default': 'pywb/static/'}, - 'domain_specific_rules': 'pywb/rules.yaml', + 'domain_specific_rules': DEFAULT_RULES_FILE, 'enable_memento': True, diff --git a/pywb/core/query_handler.py b/pywb/webapp/query_handler.py similarity index 96% rename from pywb/core/query_handler.py rename to pywb/webapp/query_handler.py index 56b8d388..c388d948 100644 --- a/pywb/core/query_handler.py +++ b/pywb/webapp/query_handler.py @@ -1,14 +1,13 @@ import urllib import urllib2 +from pywb.utils.dsrules import DEFAULT_RULES_FILE + from pywb.perms.perms_filter import make_perms_cdx_filter from pywb.framework.wbrequestresponse import WbResponse from pywb.cdx.cdxserver import create_cdx_server from views import MementoTimemapView -#================================================================= -DEFAULT_RULES = 'pywb/rules.yaml' - #================================================================= class QueryHandler(object): @@ -33,7 +32,7 @@ class QueryHandler(object): @staticmethod def init_from_config(config, - ds_rules_file=DEFAULT_RULES, + ds_rules_file=DEFAULT_RULES_FILE, html_view=None): perms_policy = config.get('perms_policy') diff --git a/pywb/core/replay_views.py b/pywb/webapp/replay_views.py similarity index 100% rename from pywb/core/replay_views.py rename to pywb/webapp/replay_views.py diff --git a/pywb/core/views.py b/pywb/webapp/views.py similarity index 99% rename from pywb/core/views.py rename to pywb/webapp/views.py index 8ada84af..bebab355 100644 --- a/pywb/core/views.py +++ b/pywb/webapp/views.py @@ -2,7 +2,7 @@ from pywb.utils.timeutils import timestamp_to_datetime from pywb.framework.wbrequestresponse import WbResponse from pywb.framework.memento import make_timemap, LINK_FORMAT -from pywb.core.handlers import WBHandler +from handlers import WBHandler import urlparse import logging diff --git a/setup.py b/setup.py index ab9f6867..0a578f54 100755 --- a/setup.py +++ b/setup.py @@ -50,7 +50,7 @@ setup( 'pywb.rewrite', 'pywb.framework', 'pywb.perms', - 'pywb.core', + 'pywb.webapp', 'pywb.apps' ], package_data={ diff --git a/pywb/perms/test/test_perms_policy.py b/tests/perms_fixture.py similarity index 94% rename from pywb/perms/test/test_perms_policy.py rename to tests/perms_fixture.py index 429291d3..67fd74cd 100644 --- a/pywb/perms/test/test_perms_policy.py +++ b/tests/perms_fixture.py @@ -1,5 +1,5 @@ """ -An example perms policy used for testing +An example perms policy used as a testing fixture this policy is enabled by adding the following setting to the main config.yaml @@ -31,5 +31,3 @@ class TestExclusionPerms(Perms): #================================================================ def perms_policy(wbrequest): return TestExclusionPerms() - - diff --git a/tests/test_config.yaml b/tests/test_config.yaml index ac6307f0..2d748083 100644 --- a/tests/test_config.yaml +++ b/tests/test_config.yaml @@ -100,7 +100,7 @@ reporter: !!python/object/new:tests.fixture.PrintReporter [] # Not yet production ready -- used primarily for testing #perms_checker: !!python/object/new:pywb.cdx.perms.AllowAllPerms [] -perms_policy: !!python/name:pywb.perms.test.test_perms_policy.perms_policy +perms_policy: !!python/name:tests.perms_fixture.perms_policy # not testing memento here enable_memento: False diff --git a/tests/test_integration.py b/tests/test_integration.py index 8adf994e..10ed3724 100644 --- a/tests/test_integration.py +++ b/tests/test_integration.py @@ -1,6 +1,6 @@ from pytest import raises import webtest -from pywb.core.pywb_init import create_wb_router +from pywb.webapp.pywb_init import create_wb_router from pywb.framework.wsgi_wrappers import init_app from pywb.cdx.cdxobject import CDXObject diff --git a/tests/test_memento.py b/tests/test_memento.py index 2cc3f1f3..1e60606b 100644 --- a/tests/test_memento.py +++ b/tests/test_memento.py @@ -1,5 +1,5 @@ import webtest -from pywb.core.pywb_init import create_wb_router +from pywb.webapp.pywb_init import create_wb_router from pywb.framework.wsgi_wrappers import init_app from pywb.cdx.cdxobject import CDXObject