aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md6
-rw-r--r--backend/hist_data/README.md6
-rw-r--r--backend/requirements.txt12
-rw-r--r--backend/tests/test_chrona.py (renamed from backend/tests/test_histplorer.py)14
4 files changed, 21 insertions, 17 deletions
diff --git a/README.md b/README.md
index d2ec2c6..e303e35 100644
--- a/README.md
+++ b/README.md
@@ -54,10 +54,8 @@ More details are in `backend/hist_data/README.md`.
1. If you don't have Python 3 installed, see <https://www.python.org/downloads>.
The package manager Pip is included.
1. The database used by the server is generated using scripts in `backend/hist_data/`.
- See it's README for instructions. You'll likely need to install a few
- packages using Pip.
-1. To run the data server via `backend/server.py`, you'll need to install jsonpickle.
- This can be done using `python -m pip install jsonpickle`.
+ See it's README for instructions. Package dependencies are listed in `backend/requirements.txt`.
+ They can be installed using `pip install -r requirements.txt`.
If you want to keep the installed package separate from your system's packages,
it's common practice to use [venv](https://docs.python.org/3/tutorial/venv.html).
diff --git a/backend/hist_data/README.md b/backend/hist_data/README.md
index 09a71fc..73b7a36 100644
--- a/backend/hist_data/README.md
+++ b/backend/hist_data/README.md
@@ -44,12 +44,6 @@ This directory holds files used to generate the history database data.db.
# Generating the Database
-## Environment
-Some of the scripts use third-party packages:
-- `indexed_bzip2`: For parallelised bzip2 processing
-- `mwxml`, `mwparserfromhell`: For parsing Wikipedia dumps
-- `requests`: For downloading data
-
## Generate Event Data
1. Obtain a Wikidata JSON dump in wikidata/, as specified in it's README.
1. Run `gen_events_data.py`, which creates `data.db`, and adds the `events` table.
diff --git a/backend/requirements.txt b/backend/requirements.txt
new file mode 100644
index 0000000..c9130ff
--- /dev/null
+++ b/backend/requirements.txt
@@ -0,0 +1,12 @@
+# For encoding data to send from server
+jsonpickle==3.0.1
+
+# For parsing Wikipedia dumps
+mwxml==0.3.3
+mwparserfromhell==0.6.4
+
+# For parallelised bzip2 processing
+indexed-bzip2==1.4.0
+
+# For downloading data
+requests==2.28.2
diff --git a/backend/tests/test_histplorer.py b/backend/tests/test_chrona.py
index cd52c67..525c6f8 100644
--- a/backend/tests/test_histplorer.py
+++ b/backend/tests/test_chrona.py
@@ -3,7 +3,7 @@ import tempfile
import os
from tests.common import createTestDbTable
-from histplorer import handleReq, HistDate, Event, ImgInfo, EventInfo, SuggResponse
+from chrona import handleReq, HistDate, HistEvent, ImgInfo, EventInfo, SuggResponse
def initTestDb(dbFile: str) -> None:
createTestDbTable(
@@ -113,17 +113,17 @@ class TestHandleReq(unittest.TestCase):
def test_events_req(self):
response = handleReq(self.dbFile, {'QUERY_STRING': 'type=events&range=-1999.2002-11-1&scale=1&incl=3&limit=2'})
self.assertEqual(response.events, [
- Event(5, 'event five', HistDate(None, 2000, 1, 1), None, HistDate(None, 2001, 1, 1), None,
+ HistEvent(5, 'event five', HistDate(None, 2000, 1, 1), None, HistDate(None, 2001, 1, 1), None,
'event', 50, 51),
- Event(3, 'event three', HistDate(True, 1990, 10, 10), HistDate(True, 2000, 10, 10), None, None,
+ HistEvent(3, 'event three', HistDate(True, 1990, 10, 10), HistDate(True, 2000, 10, 10), None, None,
'discovery', 30, 0),
])
self.assertEqual(response.unitCounts, {1900: 2, 1990: 1, 2000: 1, 2001: 1})
response = handleReq(self.dbFile, {'QUERY_STRING': 'type=events&range=.1999-11-27&scale=1&ctgs=event'})
self.assertEqual(response.events, [
- Event(4, 'event four', HistDate(False, -2000, 10, 10), None, HistDate(False, 1, 10, 10), None,
+ HistEvent(4, 'event four', HistDate(False, -2000, 10, 10), None, HistDate(False, 1, 10, 10), None,
'event', 20, 1000),
- Event(1, 'event one', HistDate(None, 1900, 1, 1), None, None, None, 'event', 10, 11),
+ HistEvent(1, 'event one', HistDate(None, 1900, 1, 1), None, None, None, 'event', 10, 11),
])
self.assertEqual(response.unitCounts, {-2000: 1, 1900: 2, 1990: 1})
@@ -131,13 +131,13 @@ class TestHandleReq(unittest.TestCase):
response = handleReq(self.dbFile, {'QUERY_STRING': 'type=info&event=event%20three'})
self.assertEqual(response,
EventInfo(
- Event(3, 'event three', HistDate(True, 1990, 10, 10), HistDate(True, 2000, 10, 10), None, None,
+ HistEvent(3, 'event three', HistDate(True, 1990, 10, 10), HistDate(True, 2000, 10, 10), None, None,
'discovery', 30, 0),
'desc three', 300, ImgInfo('example.com/3', 'cc-by-sa 3.0', 'artist three', 'credits three')))
response = handleReq(self.dbFile, {'QUERY_STRING': 'type=info&event=event%20four'})
self.assertEqual(response,
EventInfo(
- Event(4, 'event four', HistDate(False, -2000, 10, 10), None, HistDate(False, 1, 10, 10), None,
+ HistEvent(4, 'event four', HistDate(False, -2000, 10, 10), None, HistDate(False, 1, 10, 10), None,
'event', 20, 1000),
'desc four', 400, ImgInfo('example.com/2', 'cc-by', 'artist two', 'credits two')))