OneStop4All-Indexer 2.8.0.dev7__tar.gz → 2.8.0.dev9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9/OneStop4All_Indexer.egg-info}/PKG-INFO +5 -2
  2. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/OneStop4All_Indexer.egg-info/requires.txt +4 -1
  3. {onestop4all_indexer-2.8.0.dev7/OneStop4All_Indexer.egg-info → onestop4all_indexer-2.8.0.dev9}/PKG-INFO +5 -2
  4. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/setup.py +5 -2
  5. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/utils/solr.py +6 -3
  6. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/LICENSE +0 -0
  7. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/OneStop4All_Indexer.egg-info/SOURCES.txt +0 -0
  8. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/OneStop4All_Indexer.egg-info/dependency_links.txt +0 -0
  9. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/OneStop4All_Indexer.egg-info/entry_points.txt +0 -0
  10. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/OneStop4All_Indexer.egg-info/top_level.txt +0 -0
  11. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/data_repositories/__init__.py +0 -0
  12. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/data_repositories/repository_base.py +0 -0
  13. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/data_repositories/repository_n4eorganization.py +0 -0
  14. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/data_repositories/repository_person.py +0 -0
  15. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/data_repositories/repository_resource_links.py +0 -0
  16. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/data_repositories/repository_theme.py +0 -0
  17. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/harvesters/__init__.py +0 -0
  18. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/harvesters/harvester_article.py +0 -0
  19. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/harvesters/harvester_base.py +0 -0
  20. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/harvesters/harvester_dataservice.py +0 -0
  21. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/harvesters/harvester_dataset.py +0 -0
  22. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/harvesters/harvester_document.py +0 -0
  23. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/harvesters/harvester_learningresource.py +0 -0
  24. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/harvesters/harvester_metadatastandards.py +0 -0
  25. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/harvesters/harvester_organization.py +0 -0
  26. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/harvesters/harvester_repository.py +0 -0
  27. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/harvesters/harvester_service.py +0 -0
  28. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/harvesters/harvester_softwaresourcecode.py +0 -0
  29. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/pyproject.toml +0 -0
  30. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/setup.cfg +0 -0
  31. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/utils/__init__.py +0 -0
  32. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/utils/cli.py +0 -0
  33. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/utils/configs.py +0 -0
  34. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/utils/harvest.py +0 -0
  35. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/utils/sparql.py +0 -0
  36. {onestop4all_indexer-2.8.0.dev7 → onestop4all_indexer-2.8.0.dev9}/utils/util.py +0 -0
@@ -1,18 +1,21 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OneStop4All-Indexer
3
- Version: 2.8.0.dev7
3
+ Version: 2.8.0.dev9
4
4
  Summary: Library to harvest data from NFDI4Earth-KnowledgeHub to OneStop4All-Index
5
5
  Author: Markus Konkol, Arne Vogt, Tom Niers, Ralf Klammer
6
6
  Author-email: m.konkol@52north.org, a.vogt@52north.org, tom.niers@tu-dresden.de, ralf.klammer@tu-dresden.de
7
7
  License-File: LICENSE
8
8
  Requires-Dist: click
9
9
  Requires-Dist: sparqlwrapper~=2.0.0
10
- Requires-Dist: pysolr~=3.9.0
10
+ Requires-Dist: pysolr~=3.11.0
11
11
  Requires-Dist: jproperties~=2.1.1
12
12
  Requires-Dist: geomet~=1.1.0
13
13
  Requires-Dist: shapely~=2.0.5
14
+ Provides-Extra: airflow
15
+ Requires-Dist: apache-airflow==3.1.7; extra == "airflow"
14
16
  Dynamic: author
15
17
  Dynamic: author-email
16
18
  Dynamic: license-file
19
+ Dynamic: provides-extra
17
20
  Dynamic: requires-dist
18
21
  Dynamic: summary
@@ -1,6 +1,9 @@
1
1
  click
2
2
  sparqlwrapper~=2.0.0
3
- pysolr~=3.9.0
3
+ pysolr~=3.11.0
4
4
  jproperties~=2.1.1
5
5
  geomet~=1.1.0
6
6
  shapely~=2.0.5
7
+
8
+ [airflow]
9
+ apache-airflow==3.1.7
@@ -1,18 +1,21 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OneStop4All-Indexer
3
- Version: 2.8.0.dev7
3
+ Version: 2.8.0.dev9
4
4
  Summary: Library to harvest data from NFDI4Earth-KnowledgeHub to OneStop4All-Index
5
5
  Author: Markus Konkol, Arne Vogt, Tom Niers, Ralf Klammer
6
6
  Author-email: m.konkol@52north.org, a.vogt@52north.org, tom.niers@tu-dresden.de, ralf.klammer@tu-dresden.de
7
7
  License-File: LICENSE
8
8
  Requires-Dist: click
9
9
  Requires-Dist: sparqlwrapper~=2.0.0
10
- Requires-Dist: pysolr~=3.9.0
10
+ Requires-Dist: pysolr~=3.11.0
11
11
  Requires-Dist: jproperties~=2.1.1
12
12
  Requires-Dist: geomet~=1.1.0
13
13
  Requires-Dist: shapely~=2.0.5
14
+ Provides-Extra: airflow
15
+ Requires-Dist: apache-airflow==3.1.7; extra == "airflow"
14
16
  Dynamic: author
15
17
  Dynamic: author-email
16
18
  Dynamic: license-file
19
+ Dynamic: provides-extra
17
20
  Dynamic: requires-dist
18
21
  Dynamic: summary
@@ -2,7 +2,7 @@ from setuptools import find_packages, setup
2
2
 
3
3
  setup(
4
4
  name="OneStop4All-Indexer",
5
- version="2.8.0.dev7",
5
+ version="2.8.0.dev9",
6
6
  description="Library to harvest data from NFDI4Earth-KnowledgeHub to OneStop4All-Index",
7
7
  author="Markus Konkol, Arne Vogt, Tom Niers, Ralf Klammer",
8
8
  author_email="m.konkol@52north.org, a.vogt@52north.org, tom.niers@tu-dresden.de, ralf.klammer@tu-dresden.de",
@@ -10,11 +10,14 @@ setup(
10
10
  install_requires=[
11
11
  "click",
12
12
  "sparqlwrapper~= 2.0.0",
13
- "pysolr~= 3.9.0",
13
+ "pysolr~= 3.11.0",
14
14
  "jproperties~= 2.1.1 ",
15
15
  "geomet ~= 1.1.0",
16
16
  "shapely ~= 2.0.5",
17
17
  ],
18
+ extras_require={
19
+ "airflow": ["apache-airflow==3.1.7"],
20
+ },
18
21
  include_package_data=True,
19
22
  entry_points={
20
23
  "console_scripts": [
@@ -3,7 +3,6 @@ import logging
3
3
  from pysolr import Solr as SolrBase
4
4
  from requests.auth import HTTPBasicAuth
5
5
  from typing import List, Dict, Optional, Literal
6
- from urllib.parse import urljoin
7
6
 
8
7
  from utils import config
9
8
 
@@ -33,9 +32,10 @@ class Solr(object):
33
32
  def endpoint(self):
34
33
  # using config-values (by default) OR
35
34
  # overwrite with initially given values
35
+ # TODO: check if endpoint is reachable, if not raise error
36
36
  solr_url = self.solr_url if self.solr_url else config["solr_url"]
37
37
  solr_core = self.solr_core if self.solr_core else config["solr_core"]
38
- return urljoin(solr_url, solr_core)
38
+ return f"{solr_url.rstrip('/')}/{solr_core}"
39
39
 
40
40
  @property
41
41
  def authentication(self):
@@ -112,4 +112,7 @@ class SolrValidator(Solr):
112
112
  return False
113
113
 
114
114
  def close(self):
115
- self.solr.delete({"id": "geomValidationTest"})
115
+ # technically not necessary to check existence of test document,
116
+ # but when urls are misconfigured, this will throw an error
117
+ if self.solr.search("id:geomValidationTest").hits:
118
+ self.solr.delete(q="id:geomValidationTest")