alcune stanze hanno room: * per bloccare tutto l'orario

This commit is contained in:
boyska 2017-05-23 23:44:15 +02:00
parent 45196b08d6
commit 4ef4445387
No known key found for this signature in database
GPG key ID: 7395DCAE58289CA9
12 changed files with 37 additions and 71 deletions

View file

@ -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,

View file

@ -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>

View file

@ -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:

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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