datenspuren 2012 videomitschnitte (Teil 1)
This commit is contained in:
parent
5f41ad7a92
commit
458563f91e
|
@ -3,6 +3,18 @@
|
|||
|
||||
<page title="Mitschnitte">
|
||||
|
||||
<resource title="Keynote: Voll verwanzt!" size="90944452" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5021_keynote.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5021_keynote.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5021_keynote.jpg" details-link="fahrplan/events/5021.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5021.de.html"><alternative size="72426550" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5021_keynote.webm"/></resource>
|
||||
<resource title="Technische Grundlagen des Internets für Nichttechniker" size="163082227" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5079_technische_grundlagen_des_internets_fuer_nichttechniker.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5079_technische_grundlagen_des_internets_fuer_nichttechniker.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5079_technische_grundlagen_des_internets_fuer_nichttechniker.jpg" details-link="fahrplan/events/5079.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5079.de.html"><alternative size="92630301" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5079_technische_grundlagen_des_internets_fuer_nichttechniker.webm"/></resource>
|
||||
<resource title="Chaos macht Schule" size="191402016" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5029_chaos_macht_schule.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5029_chaos_macht_schule.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5029_chaos_macht_schule.jpg" details-link="fahrplan/events/5029.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5029.de.html"><alternative size="104592159" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5029_chaos_macht_schule.webm"/></resource>
|
||||
<resource title="Meldegesetz" size="305499213" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5144_meldegesetz.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5144_meldegesetz.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5144_meldegesetz.jpg" details-link="fahrplan/events/5144.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5144.de.html"><alternative size="150014216" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5144_meldegesetz.webm"/></resource>
|
||||
<resource title="Technologieentwicklung als soziales Phänomen" size="140110620" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5063_technologieentwicklung_als_soziales_phaenomen.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5063_technologieentwicklung_als_soziales_phaenomen.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5063_technologieentwicklung_als_soziales_phaenomen.jpg" details-link="fahrplan/events/5063.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5063.de.html"><alternative size="93543901" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5063_technologieentwicklung_als_soziales_phaenomen.webm"/></resource>
|
||||
<resource title="Gibt es einen sprachlichen Fingerabdruck?" size="168937868" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5062_gibt_es_einen_sprachlichen_fingerabdruck.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5062_gibt_es_einen_sprachlichen_fingerabdruck.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5062_gibt_es_einen_sprachlichen_fingerabdruck.jpg" details-link="fahrplan/events/5062.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5062.de.html"><alternative size="92835151" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5062_gibt_es_einen_sprachlichen_fingerabdruck.webm"/></resource>
|
||||
<resource title="Max Mustermann und Du" size="184341688" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5072_max_mustermann_und_du.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5072_max_mustermann_und_du.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5072_max_mustermann_und_du.jpg" details-link="fahrplan/events/5072.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5072.de.html"><alternative size="94659701" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5072_max_mustermann_und_du.webm"/></resource>
|
||||
<resource title="Zur Evolution der Netze" size="204610118" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5054_zur_evolution_der_netze.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5054_zur_evolution_der_netze.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5054_zur_evolution_der_netze.jpg" details-link="fahrplan/events/5054.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5054.de.html"><alternative size="114471665" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5054_zur_evolution_der_netze.webm"/></resource>
|
||||
<resource title="Multonymität" size="134755134" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5064_multonymitaet.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5064_multonymitaet.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5064_multonymitaet.jpg" details-link="fahrplan/events/5064.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5064.de.html"><alternative size="92129437" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5064_multonymitaet.webm"/></resource>
|
||||
<resource title="Datenschutz in der EU" size="129139248" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5169_datenschutz_in_der_eu.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5169_datenschutz_in_der_eu.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5169_datenschutz_in_der_eu.jpg" details-link="fahrplan/events/5169.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5169.de.html"/>
|
||||
<resource title="Netzneutralität: Wer, was, wieso?" size="214400685" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5081_netzneutralitaet.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5081_netzneutralitaet.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5081_netzneutralitaet.jpg" details-link="fahrplan/events/5081.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5081.de.html"><alternative size="143472429" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5081_netzneutralitaet.webm"/></resource>
|
||||
|
||||
<p title="Datenspuren 2011 (15. & 16. Oktober 2011)">
|
||||
Die Mitschnitte der letzten Datenspuren, angefertigt von COeins:
|
||||
</p>
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE item SYSTEM "http://www.c3d2.de/dtd/c3d2web.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../../xsl/html.xsl" ?>
|
||||
<item title="Datenspuren 2012 - Videomitschnitte online (Teil 1)"
|
||||
date="2012-11-10T16:20:00"
|
||||
author="Astro">
|
||||
|
||||
<image title="Datenspuren 2012">../../datenspuren/2012/images/flyer_ds12_cfp.png</image>
|
||||
<p>
|
||||
Die erste Hälfte der Datenspuren 2012-Videomitschnitte sind da!
|
||||
Wie immer gilt Dank unserem Videoengel COeins.
|
||||
</p>
|
||||
<p>
|
||||
Während ihr euch für die zweite Hälfte geduldet, können wir schon
|
||||
einmal verkünden dass die Audioqualität im kleinen Saal besser
|
||||
sein wird als im Live-Stream. Die Videobitrate wurde als
|
||||
Kompromiss zwischen Dateigröße und Qualität gewählt. Leider haben
|
||||
sich grobe Verpixelungen schon während der Aufnahme
|
||||
eingeschlichen. Das HQ-Ausgangsmaterial stellen wir als Torrent
|
||||
zur Verfügung, sobald alles vollständig ist.
|
||||
</p>
|
||||
<resource title="Keynote: Voll verwanzt!" size="90944452" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5021_keynote.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5021_keynote.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5021_keynote.jpg" details-link="http://datenspuren.de/2012/fahrplan/events/5021.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5021.de.html"><alternative size="72426550" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5021_keynote.webm"/></resource>
|
||||
<addendum>
|
||||
<resource title="Technische Grundlagen des Internets für Nichttechniker" size="163082227" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5079_technische_grundlagen_des_internets_fuer_nichttechniker.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5079_technische_grundlagen_des_internets_fuer_nichttechniker.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5079_technische_grundlagen_des_internets_fuer_nichttechniker.jpg" details-link="http://datenspuren.de/2012/fahrplan/events/5079.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5079.de.html"><alternative size="92630301" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5079_technische_grundlagen_des_internets_fuer_nichttechniker.webm"/></resource>
|
||||
<resource title="Chaos macht Schule" size="191402016" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5029_chaos_macht_schule.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5029_chaos_macht_schule.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5029_chaos_macht_schule.jpg" details-link="http://datenspuren.de/2012/fahrplan/events/5029.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5029.de.html"><alternative size="104592159" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5029_chaos_macht_schule.webm"/></resource>
|
||||
<resource title="Meldegesetz" size="305499213" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5144_meldegesetz.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5144_meldegesetz.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5144_meldegesetz.jpg" details-link="http://datenspuren.de/2012/fahrplan/events/5144.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5144.de.html"><alternative size="150014216" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5144_meldegesetz.webm"/></resource>
|
||||
<resource title="Technologieentwicklung als soziales Phänomen" size="140110620" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5063_technologieentwicklung_als_soziales_phaenomen.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5063_technologieentwicklung_als_soziales_phaenomen.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5063_technologieentwicklung_als_soziales_phaenomen.jpg" details-link="http://datenspuren.de/2012/fahrplan/events/5063.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5063.de.html"><alternative size="93543901" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5063_technologieentwicklung_als_soziales_phaenomen.webm"/></resource>
|
||||
<resource title="Gibt es einen sprachlichen Fingerabdruck?" size="168937868" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5062_gibt_es_einen_sprachlichen_fingerabdruck.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5062_gibt_es_einen_sprachlichen_fingerabdruck.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5062_gibt_es_einen_sprachlichen_fingerabdruck.jpg" details-link="http://datenspuren.de/2012/fahrplan/events/5062.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5062.de.html"><alternative size="92835151" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5062_gibt_es_einen_sprachlichen_fingerabdruck.webm"/></resource>
|
||||
<resource title="Max Mustermann und Du" size="184341688" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5072_max_mustermann_und_du.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5072_max_mustermann_und_du.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5072_max_mustermann_und_du.jpg" details-link="http://datenspuren.de/2012/fahrplan/events/5072.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5072.de.html"><alternative size="94659701" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5072_max_mustermann_und_du.webm"/></resource>
|
||||
<resource title="Zur Evolution der Netze" size="204610118" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5054_zur_evolution_der_netze.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5054_zur_evolution_der_netze.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5054_zur_evolution_der_netze.jpg" details-link="http://datenspuren.de/2012/fahrplan/events/5054.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5054.de.html"><alternative size="114471665" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5054_zur_evolution_der_netze.webm"/></resource>
|
||||
<resource title="Multonymität" size="134755134" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5064_multonymitaet.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5064_multonymitaet.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5064_multonymitaet.jpg" details-link="http://datenspuren.de/2012/fahrplan/events/5064.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5064.de.html"><alternative size="92129437" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5064_multonymitaet.webm"/></resource>
|
||||
<resource title="Datenschutz in der EU" size="129139248" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5169_datenschutz_in_der_eu.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5169_datenschutz_in_der_eu.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5169_datenschutz_in_der_eu.jpg" details-link="http://datenspuren.de/2012/fahrplan/events/5169.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5169.de.html"/>
|
||||
<resource title="Netzneutralität: Wer, was, wieso?" size="214400685" type="video/mp4" url="http://ftp.c3d2.de/datenspuren/2012/5081_netzneutralitaet.mp4" preview="http://ftp.c3d2.de/datenspuren/2012/5081_netzneutralitaet.gif" poster="http://ftp.c3d2.de/datenspuren/2012/5081_netzneutralitaet.jpg" details-link="http://datenspuren.de/2012/fahrplan/events/5081.de.html" feedback-link="https://cccv.pentabarf.org/feedback/DS2012/event/5081.de.html"><alternative size="143472429" type="video/webm" url="http://ftp.c3d2.de/datenspuren/2012/5081_netzneutralitaet.webm"/></resource>
|
||||
</addendum>
|
||||
</item>
|
|
@ -0,0 +1,184 @@
|
|||
var ltx = require('ltx');
|
||||
var http = require('http');
|
||||
var fs = require('fs');
|
||||
var url = require('url');
|
||||
|
||||
|
||||
var running = 0, queue = [];
|
||||
|
||||
var SUFFIXES = ["_hq.mp4", ".mp4", ".webm"];
|
||||
var WEB_SUFFIXES = [".mp4", ".webm"];
|
||||
|
||||
function resolveSizes(urls, cb) {
|
||||
if (running > 0) {
|
||||
queue.push(function() {
|
||||
resolveSizes(urls, cb);
|
||||
});
|
||||
return;
|
||||
}
|
||||
running++;
|
||||
|
||||
urls = urls.map(url.parse);
|
||||
|
||||
var pending = 0, results = [],
|
||||
done = function() {
|
||||
if (pending < 1) {
|
||||
results = results.sort(function(a, b) {
|
||||
if (a.url < b.url)
|
||||
return -1;
|
||||
else if (a.url > b.url)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
});
|
||||
cb(results);
|
||||
|
||||
running--;
|
||||
var f = queue.shift();
|
||||
f && f();
|
||||
}
|
||||
};
|
||||
|
||||
urls.forEach(function(u) {
|
||||
var req = http.request({ method: 'HEAD',
|
||||
path: u.pathname,
|
||||
hostname: u.host });
|
||||
req.end();
|
||||
req.on('response', function(res) {
|
||||
if (res.statusCode === 200) {
|
||||
results.push({ url: url.format(u),
|
||||
size: res.headers['content-length'] });
|
||||
} else {
|
||||
console.error("HTTP " + res.statusCode + " " + u.pathname);
|
||||
}
|
||||
pending--;
|
||||
done();
|
||||
});
|
||||
pending++;
|
||||
});
|
||||
done();
|
||||
}
|
||||
|
||||
function mimeByExt(url) {
|
||||
var ext = url.split('.').pop();
|
||||
var type = ({ avi: 'video/avi',
|
||||
mp4: 'video/mp4',
|
||||
webm: 'video/webm',
|
||||
ogv: 'video/ogg',
|
||||
flv: 'video/x-flv' })[ext];
|
||||
return type || 'application/octet-stream';
|
||||
}
|
||||
|
||||
function processEvent(event) {
|
||||
var base = 'http://ftp.c3d2.de/datenspuren/2012/' + event.outputName;
|
||||
var urls = WEB_SUFFIXES.map(function(fmt) {
|
||||
return base + fmt;
|
||||
});
|
||||
resolveSizes(urls, function(infos) {
|
||||
infos = infos.filter(function(i) {
|
||||
return i.size !== undefined;
|
||||
});
|
||||
|
||||
if (infos.length < 1) {
|
||||
console.warn("<!-- No resources for " + event.id + ": " + event.title + " -->");
|
||||
return;
|
||||
}
|
||||
var resAttrs = {
|
||||
title: event.title,
|
||||
size: infos[0].size,
|
||||
type: mimeByExt(infos[0].url),
|
||||
url: infos[0].url,
|
||||
preview: base + ".gif",
|
||||
poster: base + ".jpg"
|
||||
};
|
||||
if (event.id != "0000") {
|
||||
resAttrs['details-link'] = "fahrplan/events/" +
|
||||
event.id + ".de.html";
|
||||
resAttrs['feedback-link'] = "https://cccv.pentabarf.org/feedback/DS2012/event/" +
|
||||
event.id + ".de.html";
|
||||
}
|
||||
var res = new ltx.Element('resource', resAttrs);
|
||||
infos.slice(1).forEach(function(info) {
|
||||
res.c('alternative', { size: info.size,
|
||||
type: mimeByExt(info.url),
|
||||
url: info.url });
|
||||
});
|
||||
console.info(res.toString());
|
||||
});
|
||||
}
|
||||
|
||||
function printMetadata(event) {
|
||||
var metaparameters = "";
|
||||
function addMeta(k, v) {
|
||||
metaparameters +=
|
||||
" -metadata " + k + "=\"" +
|
||||
v.replace(/"/g, '\\"') + "\"";
|
||||
}
|
||||
addMeta('title', event.title);
|
||||
addMeta('subtitle', event.subtitle);
|
||||
addMeta('album', "Datenspuren 2012");
|
||||
addMeta('artist', "Datenspuren");
|
||||
addMeta('author', "Datenspuren");
|
||||
addMeta('language', "deu");
|
||||
addMeta('year', "2012");
|
||||
addMeta('composer', event.persons.join(", "));
|
||||
addMeta('description', event.abstract || event.description);
|
||||
SUFFIXES.forEach(function(suffix) {
|
||||
console.log("avconv -i " + event.inputName + suffix + " -codec copy" + metaparameters + " -y " + event.outputName + suffix);
|
||||
});
|
||||
}
|
||||
|
||||
function slugify(title) {
|
||||
return title.toLowerCase().
|
||||
replace(/\s*[–\-\:].*/, "").
|
||||
replace(/[\.!\?\/]/g, "").
|
||||
replace(/Ä/g, "Ae").
|
||||
replace(/Ö/g, "Oe").
|
||||
replace(/Ü/g, "Ue").
|
||||
replace(/ä/g, "ae").
|
||||
replace(/ö/g, "oe").
|
||||
replace(/ü/g, "ue").
|
||||
replace(/\s+/g, "_");
|
||||
}
|
||||
|
||||
function makeEvent(event) {
|
||||
event.inputName = event.id;
|
||||
event.outputName = event.id + "_" + slugify(event.title);
|
||||
return event;
|
||||
}
|
||||
|
||||
var scheduleFile = fs.readFileSync('content/static/datenspuren/2012/fahrplan/schedule.de.xml');
|
||||
var schedule = ltx.parse(scheduleFile);
|
||||
schedule.getChildren('day').forEach(function(dayEl) {
|
||||
var dayEvents = [];
|
||||
var roomIdx = 0;
|
||||
dayEl.getChildren('room').forEach(function(roomEl) {
|
||||
roomEl.getChildren('event').forEach(function(eventEl) {
|
||||
var persons = [];
|
||||
eventEl.getChildren('persons').forEach(function(personsEl) {
|
||||
personsEl.getChildren('person').forEach(function(personEl) {
|
||||
persons.push(personEl.getText());
|
||||
});
|
||||
});
|
||||
dayEvents.push(makeEvent(
|
||||
{ id: eventEl.attrs.id,
|
||||
time: eventEl.getChildText('start'),
|
||||
room: roomIdx,
|
||||
title: eventEl.getChildText('title'),
|
||||
subtitle: eventEl.getChildText('subtitle'),
|
||||
slug: eventEl.getChildText('slug'),
|
||||
abstract: eventEl.getChildText('abstract'),
|
||||
description: eventEl.getChildText('description'),
|
||||
persons: persons
|
||||
}));
|
||||
});
|
||||
roomIdx++;
|
||||
});
|
||||
dayEvents = dayEvents.sort(function(e1, e2) {
|
||||
return (e1.time < e2.time) ? -1 :
|
||||
((e1.time > e2.time) ? 1 : e1.room - e2.room);
|
||||
});
|
||||
dayEvents.forEach(printMetadata);
|
||||
dayEvents.forEach(processEvent);
|
||||
});
|
||||
|
Loading…
Reference in New Issue