fix cloc output scrapping. add clone progress and python output to docker logs.

This commit is contained in:
Enzo Nunes
2025-12-05 20:12:55 +00:00
parent 1cac1d2e66
commit 4a4fb621ad
5 changed files with 25 additions and 9 deletions

5
.env.example Normal file
View File

@@ -0,0 +1,5 @@
# Copy this file to .env and fill in your actual tokens
# The .env file is gitignored and will be used for local development
PICABLE_DISCORD_TOKEN=your_discord_token_here
PICABLE_GITHUB_TOKEN=your_github_token_here

4
.gitignore vendored
View File

@@ -1,3 +1,7 @@
**/__pycache__/ **/__pycache__/
**/*_tok **/*_tok
**/.idea/ **/.idea/
# Environment variables and local development overrides
.env
docker-compose.override.yml

View File

@@ -18,4 +18,4 @@ RUN useradd -m appuser && \
USER appuser USER appuser
CMD ["python", "main.py"] CMD ["python", "-u", "main.py"]

View File

@@ -1,6 +1,5 @@
import os import os
import subprocess import subprocess
import sys
from datetime import datetime, timedelta from datetime import datetime, timedelta
import requests import requests
@@ -54,20 +53,28 @@ def get_lines_of_code(owner, repository):
repository_clone_dir = os.path.expanduser(f"{parent_dir}/{repository}") repository_clone_dir = os.path.expanduser(f"{parent_dir}/{repository}")
try: try:
print(f"Cloning {repository_url}...")
subprocess.run( subprocess.run(
["git", "clone", "--depth", "1", repository_url, repository_clone_dir], ["git", "clone", "--depth", "1", "--progress", repository_url, repository_clone_dir],
check=True, check=True,
stdout=sys.stdout,
stderr=sys.stderr,
) )
print("Clone complete. Running cloc...")
result = subprocess.run( result = subprocess.run(
["cloc", f"--exclude-lang={','.join(EXCLUDED_LANGUAGES)}", repository_clone_dir], ["cloc", f"--exclude-lang={','.join(EXCLUDED_LANGUAGES)}", repository_clone_dir],
capture_output=True, capture_output=True,
text=True, text=True,
check=True, check=True,
) )
number_of_lines_of_code = int(result.stdout.split("\n")[-3].split()[-1])
except Exception: # Find the SUM line and extract the last column (code lines)
for line in result.stdout.split("\n"):
if line.strip().startswith("SUM:"):
number_of_lines_of_code = int(line.split()[-1])
break
else:
raise ValueError("Could not find SUM line in cloc output")
except Exception as e:
print(f"Error occurred: {e}")
return -1 return -1
finally: finally:
subprocess.run(["rm", "-rf", parent_dir], check=True) subprocess.run(["rm", "-rf", parent_dir], check=True)

View File

@@ -3,6 +3,6 @@ services:
image: didas72/picable:latest image: didas72/picable:latest
container_name: picable container_name: picable
environment: environment:
- PICABLE_DISCORD_TOKEN=yourdiscordtoken - PICABLE_DISCORD_TOKEN=${PICABLE_DISCORD_TOKEN}
- PICABLE_GITHUB_TOKEN=yourgithubtoken - PICABLE_GITHUB_TOKEN=${PICABLE_GITHUB_TOKEN}
restart: unless-stopped restart: unless-stopped