yamanavijayavardhan commited on
Commit
0e75969
·
1 Parent(s): 16edead
Files changed (1) hide show
  1. main.py +47 -26
main.py CHANGED
@@ -11,23 +11,40 @@ from dotenv import load_dotenv
11
  # Load environment variables
12
  load_dotenv()
13
 
14
- # Create a logs directory in the temp folder
15
- BASE_DIR = os.path.dirname(os.path.abspath(__file__))
16
- log_dir = os.path.join(BASE_DIR, 'logs')
17
- os.makedirs(log_dir, exist_ok=True)
 
 
 
 
 
 
 
 
18
 
19
  # Create a log file with timestamp
20
  log_file = os.path.join(log_dir, f'app_{datetime.now().strftime("%Y%m%d_%H%M%S")}.log')
21
 
22
- # Set up logging to both file and console (single configuration)
23
- logging.basicConfig(
24
- level=logging.INFO,
25
- format='%(asctime)s - %(levelname)s - %(message)s',
26
- handlers=[
27
- logging.FileHandler(log_file),
28
- logging.StreamHandler(sys.stdout)
29
- ]
30
- )
 
 
 
 
 
 
 
 
 
31
 
32
  # Create a custom logger
33
  logger = logging.getLogger(__name__)
@@ -44,24 +61,28 @@ def log_print(message, level="INFO"):
44
  logger.warning(message)
45
 
46
  # Set up all cache and data directories in /tmp
47
- cache_dir = os.path.join(BASE_DIR, 'cache')
48
- nltk_data_dir = os.path.join(cache_dir, 'nltk_data')
49
- gensim_data_dir = os.path.join(cache_dir, 'gensim-data')
50
- upload_dir = os.path.join(cache_dir, 'uploads')
51
- ans_image_dir = os.path.join(cache_dir, 'ans_image')
 
 
 
 
 
 
 
 
 
 
 
 
52
 
53
  # Set environment variables
54
  os.environ['HF_HOME'] = cache_dir
55
  os.environ['GENSIM_DATA_DIR'] = gensim_data_dir
56
 
57
- # Create directories with correct permissions
58
- for directory in [nltk_data_dir, gensim_data_dir, upload_dir, ans_image_dir]:
59
- try:
60
- os.makedirs(directory, exist_ok=True)
61
- except Exception as e:
62
- log_print(f"Error creating directory {directory}: {e}", "ERROR")
63
- raise
64
-
65
  # Add the custom directory to NLTK's search path
66
  nltk.data.path.insert(0, nltk_data_dir)
67
 
 
11
  # Load environment variables
12
  load_dotenv()
13
 
14
+ # Create directories in /tmp which is writable
15
+ BASE_DIR = tempfile.gettempdir()
16
+ log_dir = os.path.join(BASE_DIR, 'app_logs')
17
+ cache_dir = os.path.join(BASE_DIR, 'app_cache')
18
+
19
+ # Create necessary directories
20
+ try:
21
+ os.makedirs(log_dir, exist_ok=True)
22
+ except Exception as e:
23
+ print(f"Warning: Could not create log directory: {e}")
24
+ # Fallback to temp directory
25
+ log_dir = tempfile.mkdtemp(prefix='app_logs_')
26
 
27
  # Create a log file with timestamp
28
  log_file = os.path.join(log_dir, f'app_{datetime.now().strftime("%Y%m%d_%H%M%S")}.log')
29
 
30
+ # Set up logging to both file and console
31
+ try:
32
+ logging.basicConfig(
33
+ level=logging.INFO,
34
+ format='%(asctime)s - %(levelname)s - %(message)s',
35
+ handlers=[
36
+ logging.FileHandler(log_file),
37
+ logging.StreamHandler(sys.stdout)
38
+ ]
39
+ )
40
+ except Exception as e:
41
+ print(f"Warning: Could not set up file logging: {e}")
42
+ # Fallback to console-only logging
43
+ logging.basicConfig(
44
+ level=logging.INFO,
45
+ format='%(asctime)s - %(levelname)s - %(message)s',
46
+ handlers=[logging.StreamHandler(sys.stdout)]
47
+ )
48
 
49
  # Create a custom logger
50
  logger = logging.getLogger(__name__)
 
61
  logger.warning(message)
62
 
63
  # Set up all cache and data directories in /tmp
64
+ try:
65
+ nltk_data_dir = os.path.join(cache_dir, 'nltk_data')
66
+ gensim_data_dir = os.path.join(cache_dir, 'gensim-data')
67
+ upload_dir = os.path.join(cache_dir, 'uploads')
68
+ ans_image_dir = os.path.join(cache_dir, 'ans_image')
69
+
70
+ # Create directories with correct permissions
71
+ for directory in [cache_dir, nltk_data_dir, gensim_data_dir, upload_dir, ans_image_dir]:
72
+ os.makedirs(directory, exist_ok=True)
73
+ except Exception as e:
74
+ print(f"Warning: Could not create cache directories: {e}")
75
+ # Fallback to temporary directories
76
+ cache_dir = tempfile.mkdtemp(prefix='app_cache_')
77
+ nltk_data_dir = tempfile.mkdtemp(prefix='nltk_data_')
78
+ gensim_data_dir = tempfile.mkdtemp(prefix='gensim_data_')
79
+ upload_dir = tempfile.mkdtemp(prefix='uploads_')
80
+ ans_image_dir = tempfile.mkdtemp(prefix='ans_image_')
81
 
82
  # Set environment variables
83
  os.environ['HF_HOME'] = cache_dir
84
  os.environ['GENSIM_DATA_DIR'] = gensim_data_dir
85
 
 
 
 
 
 
 
 
 
86
  # Add the custom directory to NLTK's search path
87
  nltk.data.path.insert(0, nltk_data_dir)
88