Skip to content

Commit

Permalink
[script] Stale action: remove temporary layer and activate closing (#…
Browse files Browse the repository at this point in the history
…4560)

[script] Remove temporary layer and activate closing
  • Loading branch information
hugtalbot committed Mar 12, 2024
1 parent 86a6583 commit f97d501
Showing 1 changed file with 26 additions and 67 deletions.
93 changes: 26 additions & 67 deletions scripts/comment-close-old-discussions.py
Expand Up @@ -6,12 +6,7 @@
#Ref : Action in python https://www.python-engineer.com/posts/run-python-github-actions/


#TEST steps:
# - after 1st of December 2023, remove the temporary layer

import os
import sys
import json
from datetime import datetime, timedelta, date
from python_graphql_client import GraphqlClient
from dateutil.relativedelta import relativedelta
Expand Down Expand Up @@ -206,6 +201,8 @@ def make_github_closing_comment(discussion_id, discussion_author):
""" % (message, discussion_id)
return query



def close_github_discussion(discussion_id):

query = """
Expand All @@ -216,25 +213,10 @@ def close_github_discussion(discussion_id):
}
}
}
""" % (discussion_id)
return

""" % discussion_id
return query

# ------- TO REMOVE !!!! ---------
def temporary_github_closing_comment(discussion_id, discussion_author):
message = ":warning: :warning: :warning:<br>@"+str(discussion_author)+"<br>We are setting a new forum management policy: topics like this one, in which the last reply is more than 4 months old, will automatically be closed. Without further news in the coming weeks, our bot will proceed to automatic closure, thus keeping this forum clean and fresh :seedling: Thank you for your understanding"

query = """
mutation {
addDiscussionComment(input: {body: "%s", discussionId: "%s"}) {
comment {
id
}
}
}
""" % (message, discussion_id)
return query
# --------------------------------



Expand All @@ -253,11 +235,11 @@ def temporary_github_closing_comment(discussion_id, discussion_author):
#==========================================================
# 2- do it using github API
if(len(to_be_warned_discussion_id)!=len(to_be_warned_discussion_author)):
print('Error: size of both vectors number/author for discussions to be warned is different')
exit(1)
print('Error: size of both vectors number/author for discussions to be warned is different')
exit(1)
if(len(to_be_closed_discussion_id)!=len(to_be_closed_discussion_author)):
print('Error: size of both vectors number/author for discussions to be closed is different')
exit(1)
print('Error: size of both vectors number/author for discussions to be closed is different')
exit(1)

print("** Output lists **")
print("******************")
Expand All @@ -277,64 +259,41 @@ def temporary_github_closing_comment(discussion_id, discussion_author):
#==========================================================
# WARNING step
print("** WARNING step **")

for index, discussion_id in enumerate(to_be_warned_discussion_id):
print("to_be_warned_discussion_number[index] = "+str(to_be_warned_discussion_number[index]))
print("to_be_warned_discussion_author[index] = "+str(to_be_warned_discussion_author[index]))
print("discussion_id = "+str(discussion_id))
# Warning comment
data = client.execute(
print("to_be_warned_discussion_number[index] = "+str(to_be_warned_discussion_number[index]))
print("to_be_warned_discussion_author[index] = "+str(to_be_warned_discussion_author[index]))
print("discussion_id = "+str(discussion_id))
# Warning comment
data = client.execute(
query = make_github_warning_comment( discussion_id, to_be_warned_discussion_author[index] ),
headers = {"Authorization": "Bearer {}".format(github_token)},
)
print(data)

print(data)
print("******************")
print("******************")

#==========================================================
# CLOSING step
print("** CLOSING step **")

# ------- TO REMOVE !!!! ---------
date_today = date.today()
date_end_temporary_message = date.fromisoformat('2024-01-01')
temporary_case = False

if date_today > date_end_temporary_message:
temporary_case = False
else:
temporary_case = True

if temporary_case:
remaining_time = date_end_temporary_message-date_today
print(str(remaining_time)[:-9]+" days to go before end of temporary message")
# --------------------------------

for index, discussion_id in enumerate(to_be_closed_discussion_id):
print("to_be_closed_discussion_number[index] = "+str(to_be_closed_discussion_number[index]))
print("to_be_closed_discussion_author[index] = "+str(to_be_closed_discussion_author[index]))
print("discussion_id = "+str(discussion_id))
# ------- TO REMOVE !!!! ---------
if temporary_case:
# Closing comment
data = client.execute(
query = temporary_github_closing_comment( discussion_id, to_be_closed_discussion_author[index] ),
headers = {"Authorization": "Bearer {}".format(github_token)},
)
print(data)
else:
# --------------------------------
print("to_be_closed_discussion_number[index] = "+str(to_be_closed_discussion_number[index]))
print("to_be_closed_discussion_author[index] = "+str(to_be_closed_discussion_author[index]))
print("discussion_id = "+str(discussion_id))

# Closing comment
data = client.execute(
query = make_github_closing_comment( discussion_id, to_be_closed_discussion_author[index] ),
headers = {"Authorization": "Bearer {}".format(github_token)},
)
query = make_github_closing_comment( discussion_id, to_be_closed_discussion_author[index] ),
headers = {"Authorization": "Bearer {}".format(github_token)},
)
print(data)

# Close discussion
data = client.execute(
query = close_github_discussion( discussion_id ),
headers = {"Authorization": "Bearer {}".format(github_token)},
)
query = close_github_discussion( discussion_id ),
headers = {"Authorization": "Bearer {}".format(github_token)},
)
print(data)

#==========================================================

0 comments on commit f97d501

Please sign in to comment.