fix cloc output scrapping. add clone progress and python output to docker logs.
This commit is contained in:
5
.env.example
Normal file
5
.env.example
Normal 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
4
.gitignore
vendored
@@ -1,3 +1,7 @@
|
|||||||
**/__pycache__/
|
**/__pycache__/
|
||||||
**/*_tok
|
**/*_tok
|
||||||
**/.idea/
|
**/.idea/
|
||||||
|
|
||||||
|
# Environment variables and local development overrides
|
||||||
|
.env
|
||||||
|
docker-compose.override.yml
|
||||||
|
|||||||
@@ -18,4 +18,4 @@ RUN useradd -m appuser && \
|
|||||||
|
|
||||||
USER appuser
|
USER appuser
|
||||||
|
|
||||||
CMD ["python", "main.py"]
|
CMD ["python", "-u", "main.py"]
|
||||||
|
|||||||
19
PICable.py
19
PICable.py
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user