Fuente a local; deshabilitación de toggle; habilitación de tooltip
This commit is contained in:
parent
567f28122c
commit
e1c2e209e8
|
@ -0,0 +1,33 @@
|
|||
# Generated by Django 3.2.15 on 2023-01-09 18:10
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('main', '0004_auto_20210807_2207'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='country',
|
||||
name='id',
|
||||
field=models.AutoField(primary_key=True, serialize=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='gender',
|
||||
name='id',
|
||||
field=models.AutoField(primary_key=True, serialize=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='movie',
|
||||
name='id',
|
||||
field=models.AutoField(primary_key=True, serialize=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='person',
|
||||
name='id',
|
||||
field=models.AutoField(primary_key=True, serialize=False),
|
||||
),
|
||||
]
|
|
@ -1,5 +1,3 @@
|
|||
import requests
|
||||
import shutil
|
||||
import random
|
||||
import time
|
||||
import wikipediaapi
|
||||
|
@ -131,7 +129,7 @@ class MovieQuerySet(models.QuerySet):
|
|||
key = Gender.objects.get(pk=gender).name
|
||||
picked = self.random_pick(genders=gender)
|
||||
if picked:
|
||||
sections["genders"][key] = self.fix_all_data(picked)
|
||||
sections["genders"][key] = self.fix_all(picked)
|
||||
return sections
|
||||
|
||||
def home_sections(self):
|
||||
|
@ -141,14 +139,14 @@ class MovieQuerySet(models.QuerySet):
|
|||
Las secciones son novedades, mejor valorados y más descargados.
|
||||
"""
|
||||
sections = {
|
||||
"Novedades": self.fix_all_data(self.top_pick("id")),
|
||||
"Mejor valorados": self.fix_all_data(self.top_random_pick("stars")),
|
||||
"Más descargados": self.fix_all_data(self.top_pick("count")),
|
||||
"Novedades": self.fix_all(self.top_pick("id")),
|
||||
"Mejor valorados": self.fix_all(self.top_random_pick("stars")),
|
||||
"Más descargados": self.fix_all(self.top_pick("count")),
|
||||
}
|
||||
sections["genders"] = {}
|
||||
return sections
|
||||
|
||||
def fix_all_data(self, movies):
|
||||
def fix_all(self, movies):
|
||||
"""
|
||||
Enmienda los datos de las películas.
|
||||
"""
|
||||
|
@ -167,7 +165,7 @@ class MovieQuerySet(models.QuerySet):
|
|||
movie["count_formatted"] = self.format_count(movie["count"])
|
||||
movie["stars_icons"] = self.format_stars(movie["stars"])
|
||||
movie["file_name"] = self.fix_path(movie["file_name"])
|
||||
movie["cartel"] = settings.MEDIA_URL + movie["cartel"]
|
||||
movie["cartel"] = self.fix_path(movie["cartel"])
|
||||
if wikipedia:
|
||||
movie["wiki"] = self.get_wiki(movie)
|
||||
|
||||
|
@ -176,10 +174,11 @@ class MovieQuerySet(models.QuerySet):
|
|||
Enmienda ruta a medio.
|
||||
|
||||
La ruta es distinta según se esté en producción o en desarrollo
|
||||
('DEBUG').
|
||||
('DEBUG'). La URL_DEBUB apunta a la dirección en nebula.
|
||||
"""
|
||||
# ~ print('EL', el)
|
||||
if settings.DEBUG:
|
||||
if str(Path(el).parent) == '.':
|
||||
el = f"{el[0]}/{el}"
|
||||
return settings.URL_DEBUG.format(el)
|
||||
else:
|
||||
return settings.MEDIA_ROOT / el
|
||||
|
@ -189,8 +188,8 @@ class MovieQuerySet(models.QuerySet):
|
|||
Enmienda sinopsis de Wikipedia.
|
||||
|
||||
Los sumarios de artículos a la Wikipedia vienen con notas al pie que no
|
||||
son necesarias. Para la sinopsis estas notas son eliminadas y se regresa
|
||||
el código HTML como una cadena de caracteres.
|
||||
son necesarias. Para la sinopsis estas notas son eliminadas y se
|
||||
regresa el código HTML como una cadena de caracteres.
|
||||
"""
|
||||
html = BeautifulSoup(raw, "lxml")
|
||||
for ref in html.find_all("sup", "reference"):
|
||||
|
@ -259,7 +258,7 @@ class MovieQuerySet(models.QuerySet):
|
|||
}
|
||||
else:
|
||||
return None
|
||||
except:
|
||||
except Exception:
|
||||
return None
|
||||
|
||||
def get_movie_by_id(self, id):
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -230,6 +230,39 @@
|
|||
height: calc(100% - 3em);
|
||||
}
|
||||
|
||||
/* Tooltip de la ficha; Cfr:
|
||||
* https://www.w3schools.com/howto/howto_css_tooltip.asp
|
||||
*/
|
||||
|
||||
/* Tooltip container */
|
||||
.tooltip {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Tooltip text */
|
||||
.tooltip .tooltiptext {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
width: 100%;
|
||||
background-color: var(--color-background);
|
||||
color: #fff;
|
||||
border-top: 3px solid var(--color-primary);
|
||||
text-align: center;
|
||||
font-size: 1.25rem;
|
||||
padding: .5em;
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
top: 0;
|
||||
left: 0;
|
||||
transition: opacity 0.3s;
|
||||
}
|
||||
|
||||
/* Show the tooltip text when you mouse over the tooltip container */
|
||||
.tooltip:hover .tooltiptext {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* Reproductor */
|
||||
|
||||
button.plyr__control--overlaid {
|
||||
|
|
Binary file not shown.
|
@ -14,13 +14,21 @@
|
|||
{% endif %}
|
||||
<div class="cartels">
|
||||
{% for movie in content %}
|
||||
<div class="cartel">
|
||||
<input type="checkbox" class="toggle">
|
||||
<div class="cartel tooltip">
|
||||
<span class="tooltiptext">{{ movie.name }}</span>
|
||||
<!--
|
||||
Lo comentado activaría una ficha que se ve en lugar del cartel.
|
||||
Una idea a futuro es que sirva para mostrar la ficha de la
|
||||
pelicula como ventana flotante.
|
||||
<input type="checkbox" class="toggle">
|
||||
-->
|
||||
<div class="info">
|
||||
{% include 'info.html' with movie=movie %}
|
||||
</div>
|
||||
<figure class="image is-2by3">
|
||||
<img src="{{ movie.cartel }}">
|
||||
<a href="/movie/{{ movie.id }}">
|
||||
<img src="{{ movie.cartel }}">
|
||||
</a>
|
||||
</figure>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
|
Loading…
Reference in New Issue