Kaynağa Gözat

[templates] Add counts and durations to new tables

Colin Powell 5 ay önce
ebeveyn
işleme
059d7780a0

+ 8 - 0
vrobbler/apps/scrobbles/models.py

@@ -635,6 +635,14 @@ class Scrobble(TimeStampedModel):
 
         for scrobble in scrobble_qs:
             scrobbles_by_type[scrobble.media_type].append(scrobble)
+            if not scrobbles_by_type.get(scrobble.media_type + "_count"):
+                scrobbles_by_type[scrobble.media_type + "_count"] = 0
+            scrobbles_by_type[scrobble.media_type + "_count"] += 1
+            if not scrobbles_by_type.get(scrobble.media_type + "_time"):
+                scrobbles_by_type[scrobble.media_type + "_time"] = 0
+            scrobbles_by_type[scrobble.media_type + "_time"] += int(
+                (scrobble.elapsed_time)
+            )
 
         return scrobbles_by_type
 

+ 10 - 10
vrobbler/templates/scrobbles/_last_scrobbles.html

@@ -9,7 +9,7 @@
     <div class="col-md">
         {% if Track %}
         <h2>Music</h2>
-        {% with scrobbles=Track %}
+        {% with scrobbles=Track count=Track_count time=Track_time %}
         {% include "scrobbles/_scrobble_table.html" %}
         {% endwith %}
         {% endif %}
@@ -18,63 +18,63 @@
 
         {% if Task %}
         <h2>Latest tasks</h2>
-        {% with scrobbles=Task %}
+        {% with scrobbles=Task count=Task_count time=Task_time %}
         {% include "scrobbles/_scrobble_table.html" %}
         {% endwith %}
         {% endif %}
 
         {% if Video %}
         <h2>Videos</h2>
-        {% with scrobbles=Video %}
+        {% with scrobbles=Video count=Video_count time=Video_time %}
         {% include "scrobbles/_scrobble_table.html" %}
         {% endwith %}
         {% endif %}
 
         {% if WebPage %}
         <h4>Web pages</h4>
-        {% with scrobbles=WebPage %}
+        {% with scrobbles=WebPage count=WebPage_count time=WebPage_time %}
         {% include "scrobbles/_scrobble_table.html" %}
         {% endwith %}
         {% endif %}
 
         {% if SportEvent %}
         <h2>Sports</h2>
-        {% with scrobbles=SportEvent %}
+        {% with scrobbles=SportEvent count=SportEvent_count time=SportEvent_time %}
         {% include "scrobbles/_scrobble_table.html" %}
         {% endwith %}
         {% endif %}
 
         {% if PodcastEpisode %}
         <h2>Latest podcasts</h2>
-        {% with scrobbles=PodcastEpisode %}
+        {% with scrobbles=PodcastEpisode count=PodcastEpisode_count time=PodcastEpisode_time %}
         {% include "scrobbles/_scrobble_table.html" %}
         {% endwith %}
         {% endif %}
 
         {% if VideoGame %}
         <h4>Video games</h4>
-        {% with scrobbles=VideoGame %}
+        {% with scrobbles=VideoGame count=VideoGame_count time=VideoGame_time %}
         {% include "scrobbles/_scrobble_table.html" %}
         {% endwith %}
         {% endif %}
 
         {% if BoardGame %}
         <h4>Board games</h4>
-        {% with scrobbles=BoardGame %}
+        {% with scrobbles=BoardGame count=BoardGame_count time=BoardGame_time %}
         {% include "scrobbles/_scrobble_table.html" %}
         {% endwith %}
         {% endif %}
 
         {% if Beer %}
         <h4>Beers</h4>
-        {% with scrobbles=Beer %}
+        {% with scrobbles=Beer count=Beer_count time=Beer_time %}
         {% include "scrobbles/_scrobble_table.html" %}
         {% endwith %}
         {% endif %}
 
         {% if Book %}
         <h4>Books</h4>
-        {% with scrobbles=Book %}
+        {% with scrobbles=Book count=Book_count time=Book_time %}
         {% include "scrobbles/_scrobble_table.html" %}
         {% endwith %}
         {% endif %}

+ 2 - 2
vrobbler/templates/scrobbles/_row.html

@@ -1,7 +1,7 @@
 {% load humanize %}
 {% load naturalduration %}
-<tr>
+<tr {% if scrobble.in_progress %}class="in-progress"{% endif %}>
     <td>{% if scrobble.in_progress %}{{scrobble.media_obj.strings.verb}} now | <a class="right" href="{% url "scrobbles:finish" scrobble.uuid %}">Finish</a>{% else %}{{scrobble.timestamp|naturaltime}}{% endif %}</td>
-    <td><a href="{{scrobble.media_obj.get_absolute_url}}">{{scrobble.media_obj|truncatechars_html:50}}</a></td>
+    <td><a href="{{scrobble.media_obj.get_absolute_url}}">{{scrobble.media_obj|truncatechars_html:45}}</a></td>
     <td>{{scrobble.elapsed_time|natural_duration}}</td>
 </tr>

+ 1 - 0
vrobbler/templates/scrobbles/_scrobble_table.html

@@ -4,6 +4,7 @@
 <div class="tab-pane fade show" id="latest-beers" role="tabpanel"
     aria-labelledby="latest-beers-tab">
     <div class="table-responsive">
+        {{count}} scrobble {% if time %}| {{time|natural_duration}}{% endif %}
         <table class="table table-striped table-sm">
             <thead>
                 <tr>

+ 4 - 0
vrobbler/templates/scrobbles/scrobble_list.html

@@ -43,6 +43,10 @@
      background:rgba(0,0,0,0.4);
 
  }
+ .in-progress {
+     background: #CCFFFF;
+ }
+ .in-progress a { color: black }
 </style>
 {% endblock %}
 {% block content %}