fix script +action

This commit is contained in:
Bhupesh-V 2024-01-07 19:52:50 +05:30
parent 73ba9c6d81
commit a9cb37dbd3
2 changed files with 62 additions and 15 deletions

View File

@ -8,10 +8,27 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3
- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Get Stats
env:
REDDIT_CLIENT_ID: ${{ secrets.REDDIT_CLIENT_ID }}
REDDIT_CLIENT_SECRET: ${{ secrets.REDDIT_CLIENT_SECRET }}
REDDIT_PASSWORD: ${{ secrets.REDDIT_PASSWORD }}
REDDIT_USERNAME: ${{ secrets.REDDIT_USERNAME }}
run: |
cd user-flair-usage
python_output=$(python main.py)
echo "::set-output name=python_output::$python_output"
- name: Send Discord message - name: Send Discord message
env: env:
WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} # Add your Discord webhook URL in repository secrets WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
run: | run: |
curl -X POST -H "Content-Type: application/json" -d '{ curl -X POST -H "Content-Type: application/json" -d "{\"content\":\"$python_output\"}" $WEBHOOK_URL
"content": "Hello from GitHub Action! This is a multiline message.\n\n```\nHere is a new line.\nAnd another one.```"
}' $WEBHOOK_URL

View File

@ -1,6 +1,7 @@
import praw import praw
from collections import defaultdict from collections import defaultdict
import os import os
import json
client_id = os.environ["REDDIT_CLIENT_ID"] client_id = os.environ["REDDIT_CLIENT_ID"]
client_secret = os.environ["REDDIT_CLIENT_SECRET"] client_secret = os.environ["REDDIT_CLIENT_SECRET"]
@ -30,7 +31,7 @@ emoji_flair_users = []
for flair in subreddit.flair(limit=None): for flair in subreddit.flair(limit=None):
f = flair['flair_text'].strip() f = flair['flair_text'].strip()
if f.startswith(":") and f.endswith(":"): if f.startswith(":") or f.endswith(":"):
emoji_flair_count += 1 emoji_flair_count += 1
emoji_flair_users.append( emoji_flair_users.append(
dict( dict(
@ -44,14 +45,43 @@ for flair in subreddit.flair(limit=None):
# Convert the dictionary to a list of tuples and sort it by the count # Convert the dictionary to a list of tuples and sort it by the count
sorted_flairs = sorted(flair_count.items(), key=lambda x: x[1], reverse=True) sorted_flairs = sorted(flair_count.items(), key=lambda x: x[1], reverse=True)
# # Print the sorted list of flairs and their counts # Fetch the list of available user flairs
# for flair, count in sorted_flairs: available_flairs = []
# print(f"Flair: {flair}, Count: {count}") for flair in subreddit.flair.templates:
if not flair['mod_only']:
available_flairs.append(flair['text'].strip())
for user in emoji_flair_users:
print(user) # Initialize a dictionary to count available flairs
# Calculate and print the total count of all flairs available_flair_count = defaultdict(int)
total_count = sum(flair_count.values()) old_available_flair_count = defaultdict(int)
print(f"Total count of non-emoji flairs: {total_count}") # Iterate over the sorted flairs
print(f"Total count of emoji only flairs: {emoji_flair_count}") for flair, count in sorted_flairs:
print(f"Total count of user-flairs: {total_count + emoji_flair_count}") # If the flair is available, increment its count
if flair in available_flairs:
available_flair_count[flair] += count
else:
old_available_flair_count[flair] += count
# Print the usage count of each available flair
# for flair, count in available_flair_count.items():
# print(f"Flair: {flair}, Usage Count: {count}")
total_count = sum(available_flair_count.values())
old_flairs_total_count = sum(old_available_flair_count.values())
# print(f"Users with un-supported (old) text flairs: {old_flairs_total_count}")
# print(f"Users with supported text flairs: {total_count}")
# print(f"Users with emoji only flairs: {emoji_flair_count}")
# print(f"Total count of user-flairs: {total_count + emoji_flair_count + old_flairs_total_count}")
data = {
'Users with un-supported (old) text flairs': old_flairs_total_count,
'Users with supported text flairs': total_count,
'Users with emoji only flairs': emoji_flair_count,
'Total count of user-flairs': total_count + emoji_flair_count + old_flairs_total_count
}
formatted_data = json.dumps(data, indent=4) # Format the data as JSON with indentation
print(formatted_data)