forked from boyska/sito-hackit-17
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:
|
if not talks:
|
||||||
continue
|
continue
|
||||||
talks = [get_talk_data(t) for t in talks]
|
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 +
|
mintime = min({talk['time'].hour * 60 +
|
||||||
talk['time'].minute
|
talk['time'].minute
|
||||||
for talk in talks}) // GRID_STEP * GRID_STEP
|
for talk in talks}) // GRID_STEP * GRID_STEP
|
||||||
|
@ -240,17 +244,23 @@ class TalkGridDirective(Directive):
|
||||||
talktime = talk['time'].hour * 60 + talk['time'].minute
|
talktime = talk['time'].hour * 60 + talk['time'].minute
|
||||||
position = talktime // GRID_STEP * GRID_STEP # round
|
position = talktime // GRID_STEP * GRID_STEP # round
|
||||||
assert position in times
|
assert position in times
|
||||||
roomnum = rooms.index(talk['room'])
|
if talk['room'] == '*':
|
||||||
if times[position][roomnum] is not None:
|
roomnums = range(len(rooms))
|
||||||
logging.error("Talk {} and {} overlap! "
|
else:
|
||||||
.format(times[position][roomnum]['id'],
|
roomnums = [rooms.index(talk['room'])]
|
||||||
talk['id']))
|
for roomnum in roomnums:
|
||||||
continue
|
if times[position][roomnum] is not None:
|
||||||
times[position][roomnum] = copy(talk)
|
logging.error("Talk %s and %s overlap! (room %s)",
|
||||||
times[position][roomnum]['skip'] = False
|
times[position][roomnum]['id'],
|
||||||
for i in range(1, talk['duration'] // GRID_STEP):
|
talk['id'],
|
||||||
times[position + i*GRID_STEP][roomnum] = copy(talk)
|
rooms[roomnum]
|
||||||
times[position + i*GRID_STEP][roomnum]['skip'] = True
|
)
|
||||||
|
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,
|
render = tmpl.render(times=times,
|
||||||
rooms=rooms,
|
rooms=rooms,
|
||||||
|
|
|
@ -51,10 +51,14 @@ td.talk > a {
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{time//60}}:{{ "%02d" % (time % 60)}}</td>
|
<td>{{time//60}}:{{ "%02d" % (time % 60)}}</td>
|
||||||
{% for talk in times[time / timestep * timestep] %}
|
{% 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>
|
<td></td>
|
||||||
{% elif not talk.skip %}
|
{% 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}}"
|
<a href="#talk-{{talk.id}}"
|
||||||
title="{{talk.tags|join(",")}}"
|
title="{{talk.tags|join(",")}}"
|
||||||
>{{talk.title}}</a>
|
>{{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
|
# 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
|
# cose del genere, che ci si incasina tutto
|
||||||
room: A
|
room: "*"
|
||||||
|
|
||||||
# duration è la durata in minuti del talk
|
# duration è la durata in minuti del talk
|
||||||
duration: 60
|
duration: 60
|
||||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
||||||
|
|
||||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
# 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
|
# cose del genere, che ci si incasina tutto
|
||||||
room: A
|
room: "*"
|
||||||
|
|
||||||
# duration è la durata in minuti del talk
|
# duration è la durata in minuti del talk
|
||||||
duration: 60
|
duration: 60
|
||||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
||||||
|
|
||||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
# 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
|
# cose del genere, che ci si incasina tutto
|
||||||
room: A
|
room: "*"
|
||||||
|
|
||||||
# duration è la durata in minuti del talk
|
# duration è la durata in minuti del talk
|
||||||
duration: 30
|
duration: 30
|
||||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
||||||
|
|
||||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
# 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
|
# cose del genere, che ci si incasina tutto
|
||||||
room: A
|
room: "*"
|
||||||
|
|
||||||
# duration è la durata in minuti del talk
|
# duration è la durata in minuti del talk
|
||||||
duration: 30
|
duration: 30
|
||||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
||||||
|
|
||||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
# 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
|
# cose del genere, che ci si incasina tutto
|
||||||
room: A
|
room: "*"
|
||||||
|
|
||||||
# duration è la durata in minuti del talk
|
# duration è la durata in minuti del talk
|
||||||
duration: 180
|
duration: 180
|
||||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
||||||
|
|
||||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
# 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
|
# cose del genere, che ci si incasina tutto
|
||||||
room: A
|
room: "*"
|
||||||
|
|
||||||
# duration è la durata in minuti del talk
|
# duration è la durata in minuti del talk
|
||||||
duration: 120
|
duration: 120
|
||||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
||||||
|
|
||||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
# 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
|
# cose del genere, che ci si incasina tutto
|
||||||
room: A
|
room: "*"
|
||||||
|
|
||||||
# duration è la durata in minuti del talk
|
# duration è la durata in minuti del talk
|
||||||
duration: 120
|
duration: 120
|
||||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
||||||
|
|
||||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
# 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
|
# cose del genere, che ci si incasina tutto
|
||||||
room: A
|
room: "*"
|
||||||
|
|
||||||
# duration è la durata in minuti del talk
|
# duration è la durata in minuti del talk
|
||||||
duration: 120
|
duration: 120
|
||||||
|
|
|
@ -5,7 +5,7 @@ text: |
|
||||||
|
|
||||||
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
|
# 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
|
# cose del genere, che ci si incasina tutto
|
||||||
room: A
|
room: "*"
|
||||||
|
|
||||||
# duration è la durata in minuti del talk
|
# duration è la durata in minuti del talk
|
||||||
duration: 120
|
duration: 120
|
||||||
|
|
Loading…
Reference in a new issue