mirror of
https://github.com/karma-riuk/crab-webapp.git
synced 2025-07-04 22:08:12 +02:00
using dotenv with default values properly and
certalized default value logic
This commit is contained in:
@ -5,8 +5,7 @@ from utils.dataset import CommentGenSubmission
|
|||||||
from utils.errors import InvalidJsonFormatError
|
from utils.errors import InvalidJsonFormatError
|
||||||
from utils.process_data import evaluate_comments, evaluate_refinement
|
from utils.process_data import evaluate_comments, evaluate_refinement
|
||||||
from utils.observer import SocketObserver, Status, Subject
|
from utils.observer import SocketObserver, Status, Subject
|
||||||
import functools
|
import functools, json, os
|
||||||
import json
|
|
||||||
|
|
||||||
from utils.queue_manager import QueueManager
|
from utils.queue_manager import QueueManager
|
||||||
|
|
||||||
@ -56,7 +55,7 @@ def validate_json_format_for_code_refinement(data: str) -> dict[str, dict[str, s
|
|||||||
raise InvalidJsonFormatError()
|
raise InvalidJsonFormatError()
|
||||||
|
|
||||||
|
|
||||||
QUEUE_MANAGER = QueueManager(1)
|
QUEUE_MANAGER = QueueManager(int(os.environ["MAX_WORKERS"]))
|
||||||
|
|
||||||
|
|
||||||
def handler(type_: str, validate_json: Callable, evaluate_submission: Callable):
|
def handler(type_: str, validate_json: Callable, evaluate_submission: Callable):
|
||||||
|
@ -8,7 +8,7 @@ DATASETS = {'comment_generation', 'code_refinement'}
|
|||||||
|
|
||||||
# below, the '../' + is need because the send_from send_from_directory is local
|
# below, the '../' + is need because the send_from send_from_directory is local
|
||||||
# the file, but the DATA_DIR is local to the root of the repo
|
# the file, but the DATA_DIR is local to the root of the repo
|
||||||
DATA_DIR = os.path.join('..', os.getenv("DATA_PATH", "data"))
|
DATA_DIR = os.path.join('..', os.environ["DATA_PATH"])
|
||||||
|
|
||||||
|
|
||||||
@router.route('/download/<dataset>')
|
@router.route('/download/<dataset>')
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
# server.py
|
from utils.env_defaults import set_env_defaults
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
set_env_defaults()
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
from flask import Flask, request
|
from flask import Flask, request
|
||||||
from flask_cors import CORS
|
from flask_cors import CORS
|
||||||
from flask_socketio import SocketIO
|
from flask_socketio import SocketIO
|
||||||
@ -9,10 +14,6 @@ from routes.datasets import router as datasets_router
|
|||||||
from werkzeug.exceptions import HTTPException
|
from werkzeug.exceptions import HTTPException
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from dotenv import load_dotenv
|
|
||||||
|
|
||||||
load_dotenv()
|
|
||||||
|
|
||||||
app = Flask(__name__, static_folder='../public', static_url_path='/')
|
app = Flask(__name__, static_folder='../public', static_url_path='/')
|
||||||
|
|
||||||
with app.app_context():
|
with app.app_context():
|
||||||
@ -79,7 +80,7 @@ def init_socketio(app):
|
|||||||
socketio = init_socketio(app)
|
socketio = init_socketio(app)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
port = int(os.getenv('PORT', 45003))
|
port = int(os.environ['PORT'])
|
||||||
socketio.run(
|
socketio.run(
|
||||||
app,
|
app,
|
||||||
use_reloader=True,
|
use_reloader=True,
|
||||||
|
@ -637,7 +637,7 @@ def get_build_handler(root: str, repo: str, verbose: bool = False) -> BuildHandl
|
|||||||
an instance of GradleHandler or MavenHandler
|
an instance of GradleHandler or MavenHandler
|
||||||
"""
|
"""
|
||||||
path = os.path.join(root, repo)
|
path = os.path.join(root, repo)
|
||||||
if os.getenv('MOCK_BUILD_HANDLER', False):
|
if bool(os.environ["MOCK_BUILD_HANDLER"]):
|
||||||
return WaitBuildHander("NO REPO PATH", "NO BUILD FILE", {})
|
return WaitBuildHander("NO REPO PATH", "NO BUILD FILE", {})
|
||||||
|
|
||||||
# 1) If it's a tarball, extract it
|
# 1) If it's a tarball, extract it
|
||||||
|
16
src/utils/env_defaults.py
Normal file
16
src/utils/env_defaults.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import os
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
|
|
||||||
|
def set(k: str, v: Any):
|
||||||
|
os.environ.setdefault(k, str(v))
|
||||||
|
|
||||||
|
|
||||||
|
def set_env_defaults():
|
||||||
|
set("PORT", 45003)
|
||||||
|
set("MAX_WORKERS", 5)
|
||||||
|
set("RESULTS_DIR", "submission_results")
|
||||||
|
set("MOCK_BUILD_HANDLER", False)
|
||||||
|
set("DATA_PATH", "data")
|
||||||
|
set("DATASET_PATH", os.path.join(os.environ["DATA_PATH"], "dataset.json"))
|
||||||
|
set("ARCHIVES_ROOT", os.path.join(os.environ["DATA_PATH"], "archives"))
|
@ -4,7 +4,7 @@ from enum import Enum
|
|||||||
import os, tempfile, threading, json
|
import os, tempfile, threading, json
|
||||||
from typing import Callable, Optional, Set
|
from typing import Callable, Optional, Set
|
||||||
|
|
||||||
RESULTS_DIR = os.getenv("RESULTS_DIR", "submission_results")
|
RESULTS_DIR = os.environ["RESULTS_DIR"]
|
||||||
|
|
||||||
|
|
||||||
class Status(Enum):
|
class Status(Enum):
|
||||||
|
@ -5,11 +5,9 @@ from utils.build_handlers import get_build_handler
|
|||||||
from sacrebleu import sentence_bleu as bleu
|
from sacrebleu import sentence_bleu as bleu
|
||||||
from utils.dataset import ArchiveState, Comment, CommentGenSubmission, Dataset
|
from utils.dataset import ArchiveState, Comment, CommentGenSubmission, Dataset
|
||||||
|
|
||||||
REFERENCE_MAP = Dataset.from_json(
|
REFERENCE_MAP = Dataset.from_json(os.environ["DATASET_PATH"]).build_reference_map()
|
||||||
os.getenv("DATASET_PATH", os.path.join("data", "dataset.json")),
|
|
||||||
).build_reference_map()
|
|
||||||
|
|
||||||
ARCHIVES_ROOT = os.getenv("ARCHIVES_ROOT", "data/archives")
|
ARCHIVES_ROOT = os.environ["ARCHIVES_ROOT"]
|
||||||
|
|
||||||
|
|
||||||
def comment_distance(submission: CommentGenSubmission, entry: Comment):
|
def comment_distance(submission: CommentGenSubmission, entry: Comment):
|
||||||
|
Reference in New Issue
Block a user