jebin2 commited on
Commit
62663f1
·
1 Parent(s): affd763
Files changed (1) hide show
  1. services/drive_service.py +11 -11
services/drive_service.py CHANGED
@@ -94,8 +94,8 @@ class DriveService:
94
  if not self.service and not self.authenticate():
95
  return False
96
 
97
- if not os.path.exists(self.DB_FILENAME):
98
- logger.warning(f"Database file {self.DB_FILENAME} not found for upload.")
99
  return False
100
 
101
  folder_id = self._get_folder_id()
@@ -104,25 +104,25 @@ class DriveService:
104
 
105
  try:
106
  # Check if file already exists in folder
107
- query = f"name='{self.DB_FILENAME}' and '{folder_id}' in parents and trashed=false"
108
  results = self.service.files().list(q=query, spaces='drive', fields='files(id)').execute()
109
  files = results.get('files', [])
110
 
111
- media = MediaFileUpload(self.DB_FILENAME, mimetype='application/x-sqlite3', resumable=True)
112
 
113
  if files:
114
  # Update existing file
115
  file_id = files[0]['id']
116
  self.service.files().update(fileId=file_id, media_body=media).execute()
117
- logger.info(f"Updated database file {self.DB_FILENAME} in Drive (ID: {file_id})")
118
  else:
119
  # Create new file
120
  file_metadata = {
121
- 'name': self.DB_FILENAME,
122
  'parents': [folder_id]
123
  }
124
  self.service.files().create(body=file_metadata, media_body=media, fields='id').execute()
125
- logger.info(f"Uploaded new database file {self.DB_FILENAME} to Drive")
126
 
127
  return True
128
  except HttpError as error:
@@ -143,24 +143,24 @@ class DriveService:
143
  return False
144
 
145
  try:
146
- query = f"name='{self.DB_FILENAME}' and '{folder_id}' in parents and trashed=false"
147
  results = self.service.files().list(q=query, spaces='drive', fields='files(id)').execute()
148
  files = results.get('files', [])
149
 
150
  if not files:
151
- logger.info(f"No {self.DB_FILENAME} found in Drive folder. Starting with fresh DB.")
152
  return False
153
 
154
  file_id = files[0]['id']
155
  request = self.service.files().get_media(fileId=file_id)
156
- fh = io.FileIO(self.DB_FILENAME, 'wb')
157
  downloader = MediaIoBaseDownload(fh, request)
158
  done = False
159
  while done is False:
160
  status, done = downloader.next_chunk()
161
  # logger.info(f"Download {int(status.progress() * 100)}%.")
162
 
163
- logger.info(f"Successfully downloaded {self.DB_FILENAME} from Drive.")
164
  return True
165
  except HttpError as error:
166
  logger.error(f"An error occurred downloading DB: {error}")
 
94
  if not self.service and not self.authenticate():
95
  return False
96
 
97
+ if not os.path.exists(DB_FILENAME):
98
+ logger.warning(f"Database file {DB_FILENAME} not found for upload.")
99
  return False
100
 
101
  folder_id = self._get_folder_id()
 
104
 
105
  try:
106
  # Check if file already exists in folder
107
+ query = f"name='{DB_FILENAME}' and '{folder_id}' in parents and trashed=false"
108
  results = self.service.files().list(q=query, spaces='drive', fields='files(id)').execute()
109
  files = results.get('files', [])
110
 
111
+ media = MediaFileUpload(DB_FILENAME, mimetype='application/x-sqlite3', resumable=True)
112
 
113
  if files:
114
  # Update existing file
115
  file_id = files[0]['id']
116
  self.service.files().update(fileId=file_id, media_body=media).execute()
117
+ logger.info(f"Updated database file {DB_FILENAME} in Drive (ID: {file_id})")
118
  else:
119
  # Create new file
120
  file_metadata = {
121
+ 'name': DB_FILENAME,
122
  'parents': [folder_id]
123
  }
124
  self.service.files().create(body=file_metadata, media_body=media, fields='id').execute()
125
+ logger.info(f"Uploaded new database file {DB_FILENAME} to Drive")
126
 
127
  return True
128
  except HttpError as error:
 
143
  return False
144
 
145
  try:
146
+ query = f"name='{DB_FILENAME}' and '{folder_id}' in parents and trashed=false"
147
  results = self.service.files().list(q=query, spaces='drive', fields='files(id)').execute()
148
  files = results.get('files', [])
149
 
150
  if not files:
151
+ logger.info(f"No {DB_FILENAME} found in Drive folder. Starting with fresh DB.")
152
  return False
153
 
154
  file_id = files[0]['id']
155
  request = self.service.files().get_media(fileId=file_id)
156
+ fh = io.FileIO(DB_FILENAME, 'wb')
157
  downloader = MediaIoBaseDownload(fh, request)
158
  done = False
159
  while done is False:
160
  status, done = downloader.next_chunk()
161
  # logger.info(f"Download {int(status.progress() * 100)}%.")
162
 
163
+ logger.info(f"Successfully downloaded {DB_FILENAME} from Drive.")
164
  return True
165
  except HttpError as error:
166
  logger.error(f"An error occurred downloading DB: {error}")