Fix popularity stats to use upload data instead of download data
- Change popularity stats to analyze upload records (Direction = 'Upload') - This shows which of your shared files are most downloaded by others - Update error messages and explanations to reflect upload-based analysis - Remove "NEW" labels from README features - Clarify that popularity shows download frequency of your uploads
This commit is contained in:
@@ -12,7 +12,7 @@ A GUI tool to analyze upload and download statistics from your slskd transfers d
|
||||
- Lists top users by data transferred
|
||||
- Shows statistics by file type
|
||||
- Filter statistics by time period (All time, Last month, Last year)
|
||||
- **NEW**: Artist and album popularity statistics based on user download demand
|
||||
- Artist and album popularity statistics based on download frequency of your uploads
|
||||
- Smart path parsing with enhanced library structure detection
|
||||
- Intelligent album name cleaning (removes redundant artist names from folder names)
|
||||
- User-friendly graphical interface with summary and detailed tables
|
||||
@@ -43,8 +43,8 @@ With the GUI, you can:
|
||||
- Set the number of top entries to display
|
||||
- View upload and download statistics side-by-side
|
||||
- See summary statistics and detailed tables for users and file types
|
||||
- **NEW**: Visual time series graphs showing transfer trends over time
|
||||
- **NEW**: Analyze artist and album popularity based on download demand with interactive charts and tables
|
||||
- Visual time series graphs showing transfer trends over time
|
||||
- Analyze artist and album popularity based on how often others download your files with interactive charts and tables
|
||||
|
||||
## Screenshots
|
||||
|
||||
@@ -63,6 +63,7 @@ This tool automatically detects and works with both:
|
||||
- **Old format**: Text-based `State` column
|
||||
- **New format**: Integer `State` + `StateDescription` columns
|
||||
|
||||
|
||||
## About
|
||||
|
||||
This tool is designed to work with the `transfers.db` SQLite database created by [slskd](https://github.com/slskd/slskd), a Soulseek client daemon. It helps you understand your sharing patterns and track transfer statistics.
|
||||
|
||||
+4
-4
@@ -1011,7 +1011,7 @@ class MainWindow(QMainWindow):
|
||||
|
||||
# Check if we have data and good format compatibility
|
||||
if not artist_stats and not album_stats:
|
||||
self.showPopularityError("No successful download transfers found.", format_info)
|
||||
self.showPopularityError("No successful upload transfers found.", format_info)
|
||||
return
|
||||
elif format_info['match_percentage'] < 50:
|
||||
self.showPopularityWarning(format_info)
|
||||
@@ -1202,7 +1202,7 @@ class MainWindow(QMainWindow):
|
||||
{message}
|
||||
|
||||
How it works:
|
||||
• Analyzes successful download transfers (what users want)
|
||||
• Analyzes successful upload transfers (what others downloaded from you)
|
||||
• Smart left-to-right path parsing
|
||||
• Detects media folders (/music/, \\Artists\\, etc.)
|
||||
• Removes artist name prefixes from album titles
|
||||
@@ -1256,7 +1256,7 @@ def analyze_library_format(db_paths):
|
||||
cursor.execute(f"""
|
||||
SELECT Filename
|
||||
FROM Transfers
|
||||
WHERE {success_condition} AND Direction = 'Download' AND Filename IS NOT NULL
|
||||
WHERE {success_condition} AND Direction = 'Upload' AND Filename IS NOT NULL
|
||||
LIMIT 200
|
||||
""")
|
||||
|
||||
@@ -1425,7 +1425,7 @@ def get_popularity_stats(db_paths, days=None):
|
||||
success_condition = "State LIKE 'Completed, Succeeded'"
|
||||
|
||||
# Create WHERE clause for time filtering
|
||||
where_clause = f"WHERE {success_condition} AND Direction = 'Download'" # Track what users download
|
||||
where_clause = f"WHERE {success_condition} AND Direction = 'Upload'" # Track what users upload/share
|
||||
params = []
|
||||
|
||||
if days is not None:
|
||||
|
||||
Reference in New Issue
Block a user