|
12 | 12 | METRICS_SHEET_NAME, |
13 | 13 | VALUE_COLUMN_NAME, |
14 | 14 | ) |
| 15 | +from gitmetrics.drive import _get_drive_client, is_drive_path, split_drive_path |
15 | 16 | from gitmetrics.output import create_spreadsheet, load_spreadsheet |
16 | 17 |
|
17 | 18 | OUTPUT_FILENAME = 'gitmetrics_consolidated_summary_to_date' |
@@ -55,13 +56,31 @@ def consolidate_metrics(projects, output_folder, dry_run=False, verbose=True): |
55 | 56 | row_info.update(row_values) |
56 | 57 | if verbose: |
57 | 58 | LOGGER.info(f' {project} values: {row_info}') |
| 59 | + |
58 | 60 | rows.append(row_info) |
59 | 61 |
|
60 | 62 | consolidated_df = pd.DataFrame(rows) |
61 | 63 | sheets = {SHEET_NAME: consolidated_df} |
62 | 64 | if verbose: |
63 | 65 | LOGGER.info(f'Sheet Name: {SHEET_NAME}') |
64 | 66 | LOGGER.info(consolidated_df.to_string()) |
| 67 | + |
65 | 68 | if not dry_run: |
66 | 69 | output_path = os.path.join(output_folder, OUTPUT_FILENAME) |
| 70 | + |
| 71 | + if is_drive_path(output_folder): |
| 72 | + drive = _get_drive_client() |
| 73 | + gdrive_folder = output_folder.rstrip('/') + '/' |
| 74 | + folder_id, _ = split_drive_path(gdrive_folder) |
| 75 | + |
| 76 | + folder = drive.CreateFile({'id': folder_id}) |
| 77 | + folder.FetchMetadata(fields='parents') |
| 78 | + |
| 79 | + parents = folder.get('parents') or [] |
| 80 | + parent_id = parents[0].get('id') |
| 81 | + |
| 82 | + output_path = f'gdrive://{parent_id}/{OUTPUT_FILENAME}' |
| 83 | + create_spreadsheet(output_path=output_path, sheets=sheets) |
| 84 | + |
| 85 | + else: |
67 | 86 | create_spreadsheet(output_path=output_path, sheets=sheets) |
0 commit comments