alcune stanze hanno room: * per bloccare tutto l'orario
This commit is contained in:
parent
45196b08d6
commit
4ef4445387
12 changed files with 37 additions and 71 deletions
|
@ -224,7 +224,11 @@ class TalkGridDirective(Directive):
|
|||
if not talks:
|
||||
continue
|
||||
talks = [get_talk_data(t) for t in talks]
|
||||
rooms = tuple(sorted(unique_attr(talks, 'room')))
|
||||
rooms = list(sorted(unique_attr(talks, 'room')))
|
||||
# room=* is not a real room.
|
||||
# Remove it unless that day only has special rooms
|
||||
if '*' in rooms and len(rooms) > 1:
|
||||
del rooms[rooms.index('*')]
|
||||
mintime = min({talk['time'].hour * 60 +
|
||||
talk['time'].minute
|
||||
for talk in talks}) // GRID_STEP * GRID_STEP
|
||||
|
@ -240,17 +244,23 @@ class TalkGridDirective(Directive):
|
|||
talktime = talk['time'].hour * 60 + talk['time'].minute
|
||||
position = talktime // GRID_STEP * GRID_STEP # round
|
||||
assert position in times
|
||||
roomnum = rooms.index(talk['room'])
|
||||
if times[position][roomnum] is not None:
|
||||
logging.error("Talk {} and {} overlap! "
|
||||
.format(times[position][roomnum]['id'],
|
||||
talk['id']))
|
||||
continue
|
||||
times[position][roomnum] = copy(talk)
|
||||
times[position][roomnum]['skip'] = False
|
||||
for i in range(1, talk['duration'] // GRID_STEP):
|
||||
times[position + i*GRID_STEP][roomnum] = copy(talk)
|
||||
times[position + i*GRID_STEP][roomnum]['skip'] = True
|
||||
if talk['room'] == '*':
|
||||
roomnums = range(len(rooms))
|
||||
else:
|
||||
roomnums = [rooms.index(talk['room'])]
|
||||
for roomnum in roomnums:
|
||||
if times[position][roomnum] is not None:
|
||||
logging.error("Talk %s and %s overlap! (room %s)",
|
||||
times[position][roomnum]['id'],
|
||||
talk['id'],
|
||||
rooms[roomnum]
|
||||
)
|
||||
continue
|
||||
times[position][roomnum] = copy(talk)
|
||||
times[position][roomnum]['skip'] = False
|
||||
for i in range(1, talk['duration'] // GRID_STEP):
|
||||
times[position + i*GRID_STEP][roomnum] = copy(talk)
|
||||
times[position + i*GRID_STEP][roomnum]['skip'] = True
|
||||
|
||||
render = tmpl.render(times=times,
|
||||
rooms=rooms,
|
||||
|
|
|
@ -51,10 +51,14 @@ td.talk > a {
|
|||
<tr>
|
||||
<td>{{time//60}}:{{ "%02d" % (time % 60)}}</td>
|
||||
{% for talk in times[time / timestep * timestep] %}
|
||||
{% if talk == None %}
|
||||
{% if not loop.first and talk.room == '*' %}
|
||||
{# skip: covered by colspan #}
|
||||
{% elif talk == None %}
|
||||
<td></td>
|
||||
{% elif not talk.skip %}
|
||||
<td class="talk" rowspan="{{talk.duration // timestep}}">
|
||||
<td class="talk {% if talk.room == '*' -%}allrooms{%-endif-%}" rowspan="{{talk.duration // timestep}}"
|
||||
{% if talk.room == '*'
|
||||
%}colspan="{{rooms|length}}"{%endif%}>
|
||||
<a href="#talk-{{talk.id}}"
|
||||
title="{{talk.tags|join(",")}}"
|
||||
>{{talk.title}}</a>
|
||||
|
|
|
@ -1,48 +0,0 @@
|
|||
# File di esempio; copialo e cambialo
|
||||
title: "App android e ribbon WP per XM24"
|
||||
text: |
|
||||
Quando ti connetti ad Internet, l'app scarica i contenuti dal
|
||||
sito web di XM24 https://www.ecn.org/xm24/ e salva quelli che ti interessano sul tuo device. In questo modo
|
||||
puoi leggerti quando vuoi i comunicati e rimanere sempre aggiornato
|
||||
sugli orari dei laboratori settimanali e sulle date dei concerti. L'app
|
||||
permette anche di ricevere notifiche degli eventi Battaglia per XM.
|
||||
XM24 significa ex mercato ortrofutticolo n°24, da 15 anni significa
|
||||
anche autogestione, antifascismo, transfemminismo, organizzazione senza
|
||||
gerarchie, cultura libera, accesso alla terra, pratiche di socialità e
|
||||
di comunicazione dal basso, antiproibizionismo, hacking ed
|
||||
internazionalismo. Quest'app è scritta da noi in software libero
|
||||
(licenza GPL3) e il codice è su: git.lattuga.net
|
||||
Hem, ve lo state chiedendo vero?..
|
||||
sì, Cordova (licenza Apache v2) è un pacchetto per Nodejs (licenza MIT).
|
||||
|
||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
||||
# cose del genere, che ci si incasina tutto
|
||||
room: A
|
||||
|
||||
# duration è la durata in minuti del talk
|
||||
duration: 60
|
||||
|
||||
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
|
||||
time: "17.00"
|
||||
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
|
||||
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
|
||||
day: 2
|
||||
|
||||
#tags:
|
||||
# - tante
|
||||
# - cose
|
||||
# - belle
|
||||
# Devono essere dei link validi!
|
||||
links:
|
||||
- https://it.wordpress.org/plugins/i-love-xm24-ribbon/
|
||||
- https://play.google.com/store/apps/details?id=xm24.digitigrafo.it
|
||||
|
||||
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
|
||||
# così si può sapere chi contattare e se c'è stata una discussione
|
||||
mail: "https://lists.autistici.org/message/20170518.174733.31877df3.it.html"
|
||||
#contacts:
|
||||
# - tizio
|
||||
# - caio
|
||||
|
||||
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
|
||||
# vim: set fileencoding=utf-8:
|
|
@ -5,7 +5,7 @@ text: |
|
|||
|
||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
||||
# cose del genere, che ci si incasina tutto
|
||||
room: A
|
||||
room: "*"
|
||||
|
||||
# duration è la durata in minuti del talk
|
||||
duration: 60
|
||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
|||
|
||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
||||
# cose del genere, che ci si incasina tutto
|
||||
room: A
|
||||
room: "*"
|
||||
|
||||
# duration è la durata in minuti del talk
|
||||
duration: 60
|
||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
|||
|
||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
||||
# cose del genere, che ci si incasina tutto
|
||||
room: A
|
||||
room: "*"
|
||||
|
||||
# duration è la durata in minuti del talk
|
||||
duration: 30
|
||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
|||
|
||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
||||
# cose del genere, che ci si incasina tutto
|
||||
room: A
|
||||
room: "*"
|
||||
|
||||
# duration è la durata in minuti del talk
|
||||
duration: 30
|
||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
|||
|
||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
||||
# cose del genere, che ci si incasina tutto
|
||||
room: A
|
||||
room: "*"
|
||||
|
||||
# duration è la durata in minuti del talk
|
||||
duration: 180
|
||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
|||
|
||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
||||
# cose del genere, che ci si incasina tutto
|
||||
room: A
|
||||
room: "*"
|
||||
|
||||
# duration è la durata in minuti del talk
|
||||
duration: 120
|
||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
|||
|
||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
||||
# cose del genere, che ci si incasina tutto
|
||||
room: A
|
||||
room: "*"
|
||||
|
||||
# duration è la durata in minuti del talk
|
||||
duration: 120
|
||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
|||
|
||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
||||
# cose del genere, che ci si incasina tutto
|
||||
room: A
|
||||
room: "*"
|
||||
|
||||
# duration è la durata in minuti del talk
|
||||
duration: 120
|
||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
|||
|
||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
||||
# cose del genere, che ci si incasina tutto
|
||||
room: A
|
||||
room: "*"
|
||||
|
||||
# duration è la durata in minuti del talk
|
||||
duration: 120
|
||||
|
|
Loading…
Reference in a new issue