Skip to content

Commit b29295b

Browse files
improving gsheet publishing (updated start_cell logic, add clear_sheet logic)
1 parent 21b6e61 commit b29295b

File tree

2 files changed

+24
-18
lines changed

2 files changed

+24
-18
lines changed

main.py

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def parse_args():
4141
type=str,
4242
required=False,
4343
help='Starting cell for Google Sheets export (e.g., "A1", "B3")',
44-
default=None
44+
default="A1"
4545
)
4646

4747
parser.add_argument(
@@ -122,6 +122,12 @@ def parse_args():
122122
required=False,
123123
help='Specify title for a sheet in a document in which data will be printed',
124124
)
125+
parser.add_argument(
126+
"--clear_sheet",
127+
action="store_true",
128+
required=False,
129+
help="Specify to clear sheet content before printing",
130+
)
125131
args = parser.parse_args()
126132

127133
if args.export_google_sheets:
@@ -170,25 +176,24 @@ def run(args, binded_repos, repos_for_wiki=None):
170176
if args.wikis:
171177
wikipars.wikiparser(repos_for_wiki, args.download_repos, args.out)
172178
if args.export_google_sheets:
173-
if args.start_cell:
174-
export_sheets.write_data_to_table(
175-
args.out, args.google_token, args.table_id, args.sheet_name, args.start_cell
176-
)
177-
else:
178-
export_sheets.write_data_to_table(
179-
args.out, args.google_token, args.table_id, args.sheet_name
180-
)
179+
export_sheets.write_data_to_table(
180+
csv_path=args.out,
181+
google_token=args.google_token,
182+
table_id=args.table_id,
183+
sheet_name=args.sheet_name,
184+
start_cell=args.start_cell,
185+
clear_content=args.clear_sheet,
186+
)
181187

182188

183189
def main():
184190
args = parse_args()
185191

186-
if args.start_cell is not None:
187-
try:
188-
args.start_cell = validate_and_normalize_cell(args.start_cell)
189-
except ValueError as e:
190-
print(f"Error in start_cell argument: {e}")
191-
sys.exit(1)
192+
try:
193+
args.start_cell = validate_and_normalize_cell(args.start_cell)
194+
except ValueError as e:
195+
print(f"Error in start_cell argument: {e}")
196+
sys.exit(1)
192197

193198
if args.token:
194199
tokens = [args.token]

src/export_sheets.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
INT_MASS = [{"one": 1, "two": 2, "what?": 3}]
55

66

7-
def write_data_to_table(csv_path, google_token, table_id, sheet_name, start_cell="A1"):
7+
def write_data_to_table(csv_path, google_token, table_id, sheet_name, start_cell="A1", clear_content=False):
88
if google_token and sheet_name and table_id:
99
gc = pygsheets.authorize(service_file=google_token)
1010
sh = gc.open_by_key(table_id)
@@ -22,7 +22,8 @@ def write_data_to_table(csv_path, google_token, table_id, sheet_name, start_cell
2222
df = pd.DataFrame(INT_MASS)
2323

2424
# Очистка существующих данных
25-
# wk_content.clear()
25+
if clear_content:
26+
wk_content.clear()
2627

2728
# Запись новых данных
28-
wk_content.set_dataframe(df, start_cell, copy_head=True)
29+
wk_content.set_dataframe(df=df, start=start_cell, copy_head=True, nan='')

0 commit comments

Comments
 (0)