def write_data_to_dataframe(df, start_date, end_date):
last_df_index = len(df)
if last_df_index > 0:
start_date_str = df["date"].values[last_df_index - 1]
start_date = datetime.strptime(start_date_str, "%Y-%m-%d").date()
start_date = start_date + timedelta(days=1)
for d in date_range(start_date, end_date):
response_json = get_durations_from_waka(d, prepare_request_header(str.encode(API_KEY)))
try:
data = response_json["data"]
data_dict = {}
for duration_data in data:
project_name = duration_data["project"]
duration = duration_data["duration"]
try:
data_dict[project_name] += duration
except KeyError:
data_dict[project_name] = duration
for k, v in data_dict.items():
new_row = [d.strftime("%Y-%m-%d"), k, v]
df.loc[last_df_index] = new_row
last_df_index += 1
except KeyError as keyError:
print("[*] ERROR: for {0}, key error: {1}".format(d.strftime("%Y-%m-%d"), keyError))
print("This means that you can't see this day's records because you've exceeded the free Waka limit")
print("Run this script at least once in a week to get all the records!")
print("Durations saved for: {0}".format(d.strftime("%Y-%m-%d")))
评论列表
文章目录