Skip to content

Commit e79d600

Browse files
authored
Merge pull request #1 from norwegian-geotechnical-institute/feature/testing_for_ngm
first init
2 parents cae54b6 + c5ba0f9 commit e79d600

26 files changed

Lines changed: 2499 additions & 6 deletions

poetry.lock

Lines changed: 1325 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,15 @@ packages = [
2121

2222
[tool.poetry.dependencies]
2323
python = ">3.10,<4.0"
24+
matplotlib = "^3.9.2"
25+
plotly = "^5.24.1"
26+
nbformat = "^5.10.4"
27+
scipy = "^1.14.1"
28+
folium = "^0.17.0"
29+
selenium = "^4.24.0"
30+
webdriver-manager = "^4.0.2"
31+
docx = "^0.2.4"
32+
python-docx = "^1.1.2"
2433

2534
[tool.poetry.group.dev.dependencies]
2635
pytest = "*"

src/examples/example.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from field_manager_api.field_manager import FieldManagerAPI
2+
3+
4+
fm = FieldManagerAPI()
5+
token = "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJQZGRrU2pfVGpwWEpQTnVXNjlkaEFkQTRiNE0xLVlJU24yMVRMQ2NRd24wIn0.eyJleHAiOjE3MjcwODExNDEsImlhdCI6MTcyNzA3Mzk0MSwiYXV0aF90aW1lIjoxNzI3MDczOTQxLCJqdGkiOiI5YmFhOWM0OC1mMGYzLTRkOTQtOThlNS1iYTRiZjRmYjAwNmIiLCJpc3MiOiJodHRwczovL2tleWNsb2FrLnRlc3QubmdpYXBpLm5vL2F1dGgvcmVhbG1zL3RlbmFudC1nZW9odWItcHVibGljIiwiYXVkIjpbIm5naWxpdmUtbGthYi1ncmFmYW5hdjIiLCJnZW9odWItY2xpZW50IiwiY29waXQtb2F1dGgtcHJveHkiLCJuZ2lsaXZlLW5naS1ncmFmYW5hdjIiLCJhY2NvdW50Il0sInN1YiI6IjhhMDk4MjYwLTRlMzUtNDNkMC04MzYzLWRkOWFlZjc1ZTJkZiIsInR5cCI6IkJlYXJlciIsImF6cCI6ImZpZWxkbWFuYWdlci1jbGllbnQiLCJub25jZSI6IjE2YTA1OWQzLTBmYTctNGM4OS04MGQ2LTQxZDI2OWI4ZTljNyIsInNlc3Npb25fc3RhdGUiOiI3ZmY0ZjhiZS1lNTA4LTRiMWYtOWQxYi1jNzZhOGVkZWZlYzUiLCJhbGxvd2VkLW9yaWdpbnMiOlsiaHR0cHM6Ly9hcHAudGVzdC5maWVsZG1hbmFnZXIuaW8iLCJodHRwOi8vbG9jYWxob3N0Ojg1MDEiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbInRlbmFudC1nZW9odWItcHVibGljIiwicmVhbG0tY2xpZW50LWFkbWluIiwibmdpX25vcndheV9vcmciLCJkZWZhdWx0LXJvbGVzLXRlbmFudC1nZW9odWItcHVibGljIiwib2ZmbGluZV9hY2Nlc3MiLCJ1bWFfYXV0aG9yaXphdGlvbiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7Im5naWxpdmUtbGthYi1ncmFmYW5hdjIiOnsicm9sZXMiOlsiVmlld2VyIl19LCJnZW9odWItY2xpZW50Ijp7InJvbGVzIjpbInJlZmVyZW5jZSIsImVkaXRvciIsInZpZXdlciIsImFkbWluIl19LCJjb3BpdC1vYXV0aC1wcm94eSI6eyJyb2xlcyI6WyJjb3BpdC1hY2Nlc3MiXX0sIm5naWxpdmUtbmdpLWdyYWZhbmF2MiI6eyJyb2xlcyI6WyJWaWV3ZXIiXX0sImZpZWxkbWFuYWdlci1jbGllbnQiOnsicm9sZXMiOlsicmVmZXJlbmNlIiwiYWRtaW4tcHJvai1hOTM1ODI1Zi1hNGEwLTQwYjUtOTUxNS02ZWY0MzE5OTdlZjQiLCJ2aWV3ZXIiLCJyZWZlcmVuY2Utb3JnLTg3MDUyNWIyLThmMmItNGQyNC04YTEyLTBiZTc2NjYyOGZiMyIsImVkaXRvciIsInZpZXdlci1vcmctODcwNTI1YjItOGYyYi00ZDI0LThhMTItMGJlNzY2NjI4ZmIzIiwicmVmZXJlbmNlLW9yZy0zZWM0NGJlOC05ZTdjLTQyOTktYmZjMy0xMzdlMmMzMDViNDAiLCJyZWZlcmVuY2Utb3JnLTdhMzU2YmU2LWY3ZTItNDQzYi04MjU3LWJjOTAxNzNkN2JhZiIsImFkbWluIiwicmVmZXJlbmNlLXByb2otYTkzNTgyNWYtYTRhMC00MGI1LTk1MTUtNmVmNDMxOTk3ZWY0IiwiYWRtaW4tcHJvai0xNmViOTc0ZS0yYjFkLTRjZDEtYWFlMS03MzdjYWU5MzZlZTAiLCJyZWZlcmVuY2UtcHJvai0xNmViOTc0ZS0yYjFkLTRjZDEtYWFlMS03MzdjYWU5MzZlZTAiXX0sImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgcHJvamVjdDpyZWFkIG1hcC1vcmctY2xhaW0gZW1haWwiLCJzaWQiOiI3ZmY0ZjhiZS1lNTA4LTRiMWYtOWQxYi1jNzZhOGVkZWZlYzUiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwib3JnIjoiODcwNTI1YjItOGYyYi00ZDI0LThhMTItMGJlNzY2NjI4ZmIzIiwibmFtZSI6IlRlbGxlZiBLeWRsYW5kIiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVsbGVmLmt5ZGxhbmRAbmdpLm5vIiwiZ2l2ZW5fbmFtZSI6IlRlbGxlZiIsImZhbWlseV9uYW1lIjoiS3lkbGFuZCIsImVtYWlsIjoidGVsbGVmLmt5ZGxhbmRAbmdpLm5vIn0.C5VcEX5X2I4Xct6WXE7MhpLWMH2NXm9NrlS7I1UHj9oxXm3jcZJ4wl3LOyRWZz0kl17KXHJbNYfyyTIYuGN3Lbo2krl-9XaXTpkiqCkbqhOlVYTzXvl3qr1t4rJwYWVRSBmFj4rVo9gl7194x-ImbE7B2oTZBTZTc6tJPDWBPSNeGqvrxx-EQBYATL2madR63lSds-R5QRBPdJ94BKU-_lPAMgOa_RtWwjAFAI8WJc1KO0nDDuKCSvvP3GKKr0yc0NuKFdnArflAhHprAc1HrNYuczUEEd13cezJnaj-q8Aq9JkCt1kHs5TehAvjnPOhoCsfG4tjCr7y8awt3hgZlA"
6+
fm.set_token(token)
7+
fm.get_projects()
8+
fm.set_project(
9+
project_name="TellefTesterTing"
10+
) # /fm.set_project(project_id="e1a73be4-7269-4738-a1cb-1bb87b0e37c5")
11+
fm.get_locations()
12+
fm.get_methods()
13+
14+
fm.plot_locations()
15+
fm.create_ground_model()
16+
fm.plot_heatmap()
17+
fm.create_bedrock_model()
18+
fm.create_datarapport()

src/field_manager_api/auth/__init__.py

Whitespace-only changes.

src/field_manager_api/auth/auth.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
def set_bearer_token_header(token: str) -> None:
2+
"""
3+
Set the Authorization header with the Bearer token.
4+
"""
5+
headers = {"Authorization": f"Bearer {token}"}
6+
return headers
7+
8+
9+
def get_token_from_credentials(username: str, password: str) -> str:
10+
"""
11+
Get the token from the credentials.
12+
"""
13+
return

src/field_manager_api/config/__init__.py

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
DATA_URL = "https://api.test.fieldmanager.io/fieldmanager/"
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import requests
2+
3+
4+
def get_request_handler(url: str, headers: dict):
5+
try:
6+
# Send a GET request to the specified URL
7+
response = requests.get(url, headers=headers)
8+
9+
# Check if the request was successful
10+
if response.status_code == 200:
11+
print("Request successful!")
12+
return (
13+
response.json()
14+
) # or response.text, based on the API's response format
15+
elif response.status_code == 401:
16+
print("Authorization failed: Token may need to be refreshed or changed.")
17+
raise PermissionError("Token authorization failed (401 Unauthorized).")
18+
else:
19+
print(f"Request failed with status code: {response.status_code}")
20+
response.raise_for_status() # Raise an exception for error status codes
21+
22+
except requests.exceptions.HTTPError as http_err:
23+
print(f"HTTP error occurred: {http_err}")
24+
raise requests.exceptions.HTTPError("An HTTP error occurred.") from http_err
25+
except requests.exceptions.ConnectionError as conn_err:
26+
print("Connection error occurred. Please check the URL or network connection.")
27+
raise ConnectionError("Failed to connect to the server.") from conn_err
28+
except requests.exceptions.Timeout as timeout_err:
29+
print("Request timed out. Try again later.")
30+
raise TimeoutError("The request timed out.") from timeout_err
31+
except requests.exceptions.RequestException as req_err:
32+
print(f"An error occurred: {req_err}")
33+
raise RuntimeError("An unspecified request error occurred.") from req_err

src/field_manager_api/export/__init__.py

Whitespace-only changes.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
def export_project():
2+
"""
3+
Export project.
4+
"""
5+
pass

0 commit comments

Comments
 (0)