Skip to content

Commit 674131b

Browse files
committed
Removing caching facility
1 parent 5ad4243 commit 674131b

File tree

1 file changed

+26
-48
lines changed

1 file changed

+26
-48
lines changed

examples/opentree-doi-search/opentree-doi-search.py

Lines changed: 26 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,6 @@
2929
import collections
3030
import pyopentree
3131

32-
try:
33-
import vcr
34-
CACHING_AVAILABLE = True
35-
except ImportError:
36-
CACHING_AVAILABLE = False
37-
pass
38-
3932
__prog__ = os.path.basename(__file__)
4033
__version__ = "1.0.0"
4134
__description__ = __doc__
@@ -58,14 +51,6 @@ def __init__(self, *args, **kwargs):
5851
".opentree.cache.yaml")
5952
pyopentree.OpenTreeService.__init__(self, *args, **kwargs)
6053

61-
def open_url(self, request):
62-
if CACHING_AVAILABLE:
63-
with vcr.use_cassette(self.cache_path,
64-
record_mode="new_episodes"):
65-
return pyopentree.OpenTreeService.open_url(self, request)
66-
else:
67-
return pyopentree.OpenTreeService.open_url(self, request)
68-
6954
def slice_from(self, slice_from, slice_limit):
7055
"""
7156
- slice_from: 1-based index of where to start slice; defaults to None (=first)
@@ -79,7 +64,7 @@ def slice_from(self, slice_from, slice_limit):
7964
if slice_start is None:
8065
slice_to = slice_limit
8166
else:
82-
slice_to = slice_start + slice_limit
67+
slice_to = slice_start + slice_limit + 1
8368
else:
8469
slice_to = None
8570
slice_result = slice(slice_from, slice_to)
@@ -108,34 +93,19 @@ def yield_studies(
10893
citation=citation)
10994
yield s
11095

111-
def list_studies(self,
112-
list_from=None,
113-
max_studies=None,
114-
as_table=True,
115-
table_column_delimiter="\t",
116-
out=sys.stdout):
117-
for study in self.yield_studies(
118-
list_from=list_from,
119-
max_studies=max_studies):
120-
if as_table:
121-
out.write("{}{}{}\n".format(
122-
study.doi,
123-
table_column_delimiter,
124-
study.citation))
125-
else:
126-
out.write("[{}]\n{}\n\n".format(
127-
study.doi,
128-
study.citation))
129-
13096
def get_trees(self,
13197
doi,
13298
schema="nexml"):
133-
# verbose
134-
tree_ids = self.studies_find_trees(
135-
study_property="ot:studyPublication",
136-
value=doi,
137-
exact=True)
138-
print(tree_ids)
99+
study_query = self.studies_find_studies(
100+
property_name="ot:studyPublication",
101+
property_value=doi,
102+
exact=True,
103+
verbose=False)
104+
matched_studies = study_query["matched_studies"]
105+
if not matched_studies:
106+
return None
107+
else:
108+
return "OK"
139109

140110
def main():
141111
"""
@@ -186,16 +156,24 @@ def main():
186156

187157
ots = OpenTreeDoiSearcher()
188158
if args.subparser_name == "list-studies":
189-
ots.list_studies(
159+
out = sys.stdout
160+
for study in ots.yield_studies(
190161
list_from=args.list_from,
191-
max_studies=args.max_studies,
192-
as_table=args.as_table,
193-
)
162+
max_studies=args.max_studies):
163+
if args.as_table:
164+
out.write("{}\t{}\n".format(
165+
study.doi,
166+
study.citation))
167+
else:
168+
out.write("[{}]\n{}\n\n".format(
169+
study.doi,
170+
study.citation))
194171
elif args.subparser_name == "get-trees":
195172
# http://dx.doi.org/10.1111/j.1365-294X.2012.05606.x
196-
ots.get_trees(
197-
doi=args.doi,
198-
schema=args.schema)
173+
trees_string = ots.get_trees(doi=args.doi, schema=args.schema)
174+
if trees_string is None:
175+
sys.exit("No studies found with DOI: '{}'".format(args.doi))
176+
print(trees_string)
199177
else:
200178
parser.print_usage(sys.stderr)
201179
sys.exit(1)

0 commit comments

Comments
 (0)