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 random
|
||||||
import time
|
import time
|
||||||
import wikipediaapi
|
import wikipediaapi
|
||||||
|
@ -131,7 +129,7 @@ class MovieQuerySet(models.QuerySet):
|
||||||
key = Gender.objects.get(pk=gender).name
|
key = Gender.objects.get(pk=gender).name
|
||||||
picked = self.random_pick(genders=gender)
|
picked = self.random_pick(genders=gender)
|
||||||
if picked:
|
if picked:
|
||||||
sections["genders"][key] = self.fix_all_data(picked)
|
sections["genders"][key] = self.fix_all(picked)
|
||||||
return sections
|
return sections
|
||||||
|
|
||||||
def home_sections(self):
|
def home_sections(self):
|
||||||
|
@ -141,14 +139,14 @@ class MovieQuerySet(models.QuerySet):
|
||||||
Las secciones son novedades, mejor valorados y más descargados.
|
Las secciones son novedades, mejor valorados y más descargados.
|
||||||
"""
|
"""
|
||||||
sections = {
|
sections = {
|
||||||
"Novedades": self.fix_all_data(self.top_pick("id")),
|
"Novedades": self.fix_all(self.top_pick("id")),
|
||||||
"Mejor valorados": self.fix_all_data(self.top_random_pick("stars")),
|
"Mejor valorados": self.fix_all(self.top_random_pick("stars")),
|
||||||
"Más descargados": self.fix_all_data(self.top_pick("count")),
|
"Más descargados": self.fix_all(self.top_pick("count")),
|
||||||
}
|
}
|
||||||
sections["genders"] = {}
|
sections["genders"] = {}
|
||||||
return sections
|
return sections
|
||||||
|
|
||||||
def fix_all_data(self, movies):
|
def fix_all(self, movies):
|
||||||
"""
|
"""
|
||||||
Enmienda los datos de las películas.
|
Enmienda los datos de las películas.
|
||||||
"""
|
"""
|
||||||
|
@ -167,7 +165,7 @@ class MovieQuerySet(models.QuerySet):
|
||||||
movie["count_formatted"] = self.format_count(movie["count"])
|
movie["count_formatted"] = self.format_count(movie["count"])
|
||||||
movie["stars_icons"] = self.format_stars(movie["stars"])
|
movie["stars_icons"] = self.format_stars(movie["stars"])
|
||||||
movie["file_name"] = self.fix_path(movie["file_name"])
|
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:
|
if wikipedia:
|
||||||
movie["wiki"] = self.get_wiki(movie)
|
movie["wiki"] = self.get_wiki(movie)
|
||||||
|
|
||||||
|
@ -176,10 +174,11 @@ class MovieQuerySet(models.QuerySet):
|
||||||
Enmienda ruta a medio.
|
Enmienda ruta a medio.
|
||||||
|
|
||||||
La ruta es distinta según se esté en producción o en desarrollo
|
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 settings.DEBUG:
|
||||||
|
if str(Path(el).parent) == '.':
|
||||||
|
el = f"{el[0]}/{el}"
|
||||||
return settings.URL_DEBUG.format(el)
|
return settings.URL_DEBUG.format(el)
|
||||||
else:
|
else:
|
||||||
return settings.MEDIA_ROOT / el
|
return settings.MEDIA_ROOT / el
|
||||||
|
@ -189,8 +188,8 @@ class MovieQuerySet(models.QuerySet):
|
||||||
Enmienda sinopsis de Wikipedia.
|
Enmienda sinopsis de Wikipedia.
|
||||||
|
|
||||||
Los sumarios de artículos a la Wikipedia vienen con notas al pie que no
|
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
|
son necesarias. Para la sinopsis estas notas son eliminadas y se
|
||||||
el código HTML como una cadena de caracteres.
|
regresa el código HTML como una cadena de caracteres.
|
||||||
"""
|
"""
|
||||||
html = BeautifulSoup(raw, "lxml")
|
html = BeautifulSoup(raw, "lxml")
|
||||||
for ref in html.find_all("sup", "reference"):
|
for ref in html.find_all("sup", "reference"):
|
||||||
|
@ -259,7 +258,7 @@ class MovieQuerySet(models.QuerySet):
|
||||||
}
|
}
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
except:
|
except Exception:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def get_movie_by_id(self, id):
|
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);
|
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 */
|
/* Reproductor */
|
||||||
|
|
||||||
button.plyr__control--overlaid {
|
button.plyr__control--overlaid {
|
||||||
|
|
Binary file not shown.
|
@ -14,13 +14,21 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="cartels">
|
<div class="cartels">
|
||||||
{% for movie in content %}
|
{% for movie in content %}
|
||||||
<div class="cartel">
|
<div class="cartel tooltip">
|
||||||
<input type="checkbox" class="toggle">
|
<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">
|
<div class="info">
|
||||||
{% include 'info.html' with movie=movie %}
|
{% include 'info.html' with movie=movie %}
|
||||||
</div>
|
</div>
|
||||||
<figure class="image is-2by3">
|
<figure class="image is-2by3">
|
||||||
<img src="{{ movie.cartel }}">
|
<a href="/movie/{{ movie.id }}">
|
||||||
|
<img src="{{ movie.cartel }}">
|
||||||
|
</a>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
Loading…
Reference in New Issue