Skip to content

Commit

Permalink
Issue 41 (#42)
Browse files Browse the repository at this point in the history
Release 0.0.4
- Updated to new releases of MyCapytain and Nautilus (Fixed #41)
- Renaming according to new convention: former endpoints are called retrievers
  • Loading branch information
PonteIneptique committed Apr 15, 2016
1 parent d96da90 commit 4bab839
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 23 deletions.
24 changes: 12 additions & 12 deletions flask_nemo/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
import requests_cache
import jinja2
from flask import request, render_template, Blueprint, abort, Markup, send_from_directory, Flask
import MyCapytain.endpoints.cts5
from MyCapytain.endpoints.proto import CTS as CtsProtoEndpoint
import MyCapytain.retrievers.cts5
from MyCapytain.retrievers.proto import CTS as CtsProtoRetriever
import MyCapytain.resources.texts.tei
import MyCapytain.resources.texts.api
import MyCapytain.resources.inventory
Expand All @@ -34,8 +34,8 @@ class Nemo(object):
:type app: Flask
:param api_url: URL of the API Endpoint
:type api_url: str
:param endpoint: CTS Endpoint (Will be defaulted to api_url using cts5 endpoint if necessary)
:type endpoint: MyCapytain.endpoints.proto.CTS
:param retriever: CTS Retriever (Will be defaulted to api_url using cts5 retriever if necessary)
:type retriever: MyCapytain.retrievers.proto.CTS
:param base_url: Base URL to use when registering the endpoint
:type base_url: str
:param cache: SQLITE cache file name
Expand Down Expand Up @@ -108,7 +108,7 @@ class Nemo(object):
"f_order_author"
]

def __init__(self, name=None, app=None, api_url="/", endpoint=None, base_url="/nemo", cache=None, expire=3600,
def __init__(self, name=None, app=None, api_url="/", retriever=None, base_url="/nemo", cache=None, expire=3600,
template_folder=None, static_folder=None, static_url_path=None,
urls=None, inventory=None, transform=None, urntransform=None, chunker=None, prevnext=None,
css=None, js=None, templates=None, statics=None):
Expand All @@ -119,10 +119,10 @@ def __init__(self, name=None, app=None, api_url="/", endpoint=None, base_url="/n
self.prefix = base_url
self.api_url = api_url

if isinstance(endpoint, CtsProtoEndpoint):
self.endpoint = endpoint
if isinstance(retriever, CtsProtoRetriever):
self.retriever = retriever
else:
self.endpoint = MyCapytain.endpoints.cts5.CTS(self.api_url)
self.retriever = MyCapytain.retrievers.cts5.CTS(self.api_url)

self.templates = copy(Nemo.TEMPLATES)
if isinstance(templates, dict):
Expand All @@ -136,7 +136,7 @@ def __init__(self, name=None, app=None, api_url="/", endpoint=None, base_url="/n

self.api_inventory = inventory
if self.api_inventory:
self.endpoint.inventory = self.api_inventory
self.retriever.inventory = self.api_inventory
self.cache = None
if cache is not None:
self.__register_cache(cache, expire)
Expand Down Expand Up @@ -297,7 +297,7 @@ def get_inventory(self):
if self._inventory:
return self._inventory

reply = self.endpoint.getCapabilities(inventory=self.api_inventory)
reply = self.retriever.getCapabilities(inventory=self.api_inventory)
inventory = MyCapytain.resources.inventory.TextInventory(resource=reply)
self._inventory = inventory
return self._inventory
Expand Down Expand Up @@ -433,7 +433,7 @@ def get_reffs(self, collection, textgroup, work, version):
text = self.get_text(collection, textgroup, work, version)
reffs = MyCapytain.resources.texts.api.Text(
"urn:cts:{0}:{1}.{2}.{3}".format(collection, textgroup, work, version),
self.endpoint,
self.retriever,
citation=text.citation
)
return text, lambda level: reffs.getValidReff(level=level)
Expand All @@ -457,7 +457,7 @@ def get_passage(self, collection, textgroup, work, version, passage_identifier):
"""
text = MyCapytain.resources.texts.api.Text(
"urn:cts:{0}:{1}.{2}.{3}".format(collection, textgroup, work, version),
self.endpoint
self.retriever
)
passage = text.getPassage(passage_identifier)
return passage
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
MyCapytain>=0.1.1
MyCapytain>=1.0.1
requests_cache>=0.4.9
Flask>=0.10.1
6 changes: 3 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

setup(
name='flask_nemo',
version="0.0.3",
version="0.0.4",
packages=find_packages(exclude=["examples"]),
url='https://github.com/capitains/flask-capitains-nemo',
license='GNU GPL',
Expand All @@ -11,13 +11,13 @@
description='Flask Extension to Browse CTS Repository',
test_suite="tests",
install_requires=[
"MyCapytain>=0.1.1",
"MyCapytain>=1.0.1",
"requests_cache>=0.4.9",
"Flask>=0.10.1"
],
tests_require=[
"mock==1.0.1",
"capitains_nautilus>=0.0.2"
"capitains_nautilus>=0.0.3"
],
entry_points={
'console_scripts': ['capitains-nemo=flask_nemo:cmd'],
Expand Down
4 changes: 2 additions & 2 deletions tests/resources.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import unittest
from flask.ext.nemo import Nemo
from flask import Markup, Flask
from capitains_nautilus.mycapytain import NautilusEndpoint
from capitains_nautilus.mycapytain import NautilusRetriever

def create_test_app(debug=False, config=None):
app = Flask(__name__)
Expand Down Expand Up @@ -60,4 +60,4 @@ def setUp(self):
api_url=NemoResource.endpoint
)

NautilusDummy = NautilusEndpoint(folders=["./tests/test_data/nautilus/farsiLit", "./tests/test_data/nautilus/latinLit"])
NautilusDummy = NautilusRetriever(folders=["./tests/test_data/nautilus/farsiLit", "./tests/test_data/nautilus/latinLit"])
8 changes: 4 additions & 4 deletions tests/test_init.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,11 @@ def test_template_folder(self):

def test_other_endpoint(self):
""" Test when an endpoint is set """
nemo = Nemo(endpoint=NautilusDummy)
self.assertEqual(nemo.endpoint, NautilusDummy, "Endpoint should be set through endpoint parameter")
nemo = Nemo(retriever=NautilusDummy)
self.assertEqual(nemo.retriever, NautilusDummy, "Endpoint should be set through endpoint parameter")

nemo = Nemo(api_url="http://foo.bar", endpoint=NautilusDummy)
self.assertEqual(nemo.endpoint, NautilusDummy,
nemo = Nemo(api_url="http://foo.bar", retriever=NautilusDummy)
self.assertEqual(nemo.retriever, NautilusDummy,
"Endpoint should be set through endpoint parameter, regardless of api_url")
self.assertEqual(nemo.api_url, "http://foo.bar",
"api_urlshould be set through endpoint parameter, regardless of endpoint")
2 changes: 1 addition & 1 deletion tests/test_with_nautilus.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def setUp(self):
nemo = Nemo(
app=app,
base_url="",
endpoint=NautilusDummy,
retriever=NautilusDummy,
chunker={"default": lambda x, y: Nemo.level_grouper(x, y, groupby=30)}
)
nemo.register_routes()
Expand Down

0 comments on commit 4bab839

Please sign in to comment.