self.streams - 'NoneType' object is not iterable
Buongiorno.
python lancia l'errore TypeError: 'NoneType' object is not iterable quando tenta di eseguire il ciclo for su self.streams nella classe Lesson (metodo __post_init__).
Informazioni sistema
-
Python 3.11.3 (ambiente virtuale conda)
L'errore era presente anche in python 3.8 e ho provato ad aggiornarlo per vedere se l'errore si presentava ancora
-
Sistema operativo: Windows 10
Come replicare l'errore
- scaricare gli ultimi commit dal repository
- (configurare le credenziali)
- eseguire il programma con l'argomento sync e inserire la password
L'errore verra' lanciato se esiste gia' un file sync.json popolato. Pare che l'errore avvenga prima dell'avvio del webdriver, durante la lettura del file di cache.
File sync.json
{
"courses": {
"11212": {
"lessons": {
"05d14a12-a7dd-4c30-ad55-ae9a00c1cbce": {
"authors": [
"Davide Quaglia"
],
"date": 1652943357.0,
"duration": 1226080,
"filename": "2022-05-19 Configurazione apparati di rete (Parte 1).mkv",
"is_raw": false,
"name": "2022-05-19 Configurazione apparati di rete (Parte 1)"
},
"0c445588-a95d-4264-ac6c-aea600f09d31": {
"authors": [
"Davide Quaglia"
],
"date": 1653993647.0,
"duration": 1535680,
"filename": "2022-05-31 Esercitazione su We Plant (Parte 4).mkv",
"is_raw": false,
"name": "2022-05-31 Esercitazione su WePlant (Parte 4)"
},
"21447b4c-594f-428b-84e1-ae8901100bfe": {
"authors": [
"Davide Quaglia"
],
"date": 1651494667.0,
"duration": 6622080,
"filename": "2022-05-02 Webservice; JSON, stub-skeleton, statefull-stateless.mkv",
"is_raw": false,
"name": "2022-05-02 Webservice: JSON, stub/skeleton, statefull/stateless"
},
"2b086fbd-dd86-4352-be97-ae6d00f6c3f0": {
"authors": [
"Davide Quaglia"
],
"date": 1649068618.0,
"duration": 6262720,
"filename": "2022-04-04 Introduzione al corso. Ripasso dei fondamenti di Reti (Parte 1).mkv",
"is_raw": false,
"name": "2022-04-04 Introduzione al corso. Ripasso dei fondamenti di Reti (Parte 1)"
},
"40639cf0-1cb9-4dec-8dbd-ae7700c1272e": {
"authors": [
"Davide Quaglia"
],
"date": 1649918236.0,
"duration": 8834944,
"filename": "2022-04-14 Sicurezza informatica (Parte 2).mkv",
"is_raw": false,
"name": "2022-04-14 Sicurezza informatica (Parte 2)"
},
"4b892c2a-2503-4b70-9136-ae8c00c2cd89": {
"authors": [
"Davide Quaglia"
],
"date": 1651733299.0,
"duration": 4842112,
"filename": "2022-05-05 Strumenti di analisi di rete (Parte 1).mkv",
"is_raw": false,
"name": "2022-05-05 Strumenti di analisi di rete (Parte 1)"
},
"6ea14120-f980-4061-aec9-ae6f0093dbcd": {
"authors": [
"Davide Quaglia"
],
"date": 1649220064.0,
"duration": 6132704,
"filename": "2022-04-06 Ripasso dei fondamenti di Reti (Parte 2).mkv",
"is_raw": false,
"name": "2022-04-06 Ripasso dei fondamenti di Reti (Parte 2)"
},
"7882d7cc-83b7-4664-9929-ae740101a5dd": {
"authors": [
"Davide Quaglia"
],
"date": 1649673450.0,
"duration": 6397792,
"filename": "2022-04-11 Programmazione client-server.mkv",
"is_raw": false,
"name": "2022-04-11 Programmazione client-server"
},
"794f06a1-d7f9-4df5-b81a-ae76009197ab": {
"authors": [
"Davide Quaglia"
],
"date": 1649824840.0,
"duration": 6381152,
"filename": "2022-04-13 Dal web ai webservice.mkv",
"is_raw": false,
"name": "2022-04-13 Dal web ai webservice"
},
"7aee82ef-01ea-49d4-9b9d-ae84009082be": {
"authors": [
"Davide Quaglia"
],
"date": 1651034253.0,
"duration": 1767904,
"filename": "2022-04-27 Webservice; creazione di programmi che usano API REST.mkv",
"is_raw": false,
"name": "2022-04-27 Webservice: creazione di programmi che usano API REST"
},
"7cd84814-64fe-4d34-b43d-aea100c1af3e": {
"authors": [
"Davide Quaglia"
],
"date": 1653547002.0,
"duration": 2312704,
"filename": "2022-05-26 Configurazione apparati di rete (Parte 2).mkv",
"is_raw": false,
"name": "2022-05-26 Configurazione apparati di rete (Parte 2)"
},
"83ff5ec9-8527-45c4-b978-ae9901189c15": {
"authors": [
"Davide Quaglia"
],
"date": 1652877348.0,
"duration": 6423872,
"filename": "2022-05-18 Aspetti avanzati di rete (Parte 2).mkv",
"is_raw": false,
"name": "2022-05-18 Aspetti avanzati di rete (Parte 2)"
},
"8885b977-ff28-4522-99f5-aea000f0ebcc": {
"authors": [
"Davide Quaglia"
],
"date": 1653475557.0,
"duration": 1924256,
"filename": "2022-05-25 Esercitazione su MQTT.mkv",
"is_raw": false,
"name": "2022-05-25 Esercitazione su MQTT"
},
"93855113-646a-43d4-86a5-aea0008eb32d": {
"authors": [
"Davide Quaglia"
],
"date": 1653453776.0,
"duration": 5953184,
"filename": "2022-05-25 Aspetti avanzati di rete (Parte 3).mkv",
"is_raw": false,
"name": "2022-05-25 Aspetti avanzati di rete (Parte 3)"
},
"99ab1b46-5459-4711-880a-ae9f00f05b10": {
"authors": [
"Davide Quaglia"
],
"date": 1653388646.0,
"duration": 2108128,
"filename": "2022-05-24 Esercitazione su We Plant (Parte 3).mkv",
"is_raw": false,
"name": "2022-05-24 Esercitazione su WePlant (Parte 3)"
},
"a013c022-b8a1-46dc-bf39-ae9800e62898": {
"authors": [
"Davide Quaglia"
],
"date": 1652780777.0,
"duration": 3103904,
"filename": "2022-05-17 Esercitazione su We Plant (Parte 2).mkv",
"is_raw": false,
"name": "2022-05-17 Esercitazione su WePlant (Parte 2)"
},
"a6b8e158-db9a-4730-9197-ae920096eecb": {
"authors": [
"Davide Quaglia"
],
"date": 1652243942.0,
"duration": 6196736,
"filename": "2022-05-11 Esercitazione su We Plant (Parte 1).mkv",
"is_raw": false,
"name": "2022-05-11 Esercitazione su WePlant (Parte 1)"
},
"b64c112f-1c5a-43a9-ad7f-ae8500cb0b4d": {
"authors": [
"Davide Quaglia"
],
"date": 1651127836.0,
"duration": 9230368,
"filename": "2022-04-28 Sicurezza informatica (Parte 3).mkv",
"is_raw": false,
"name": "2022-04-28 Sicurezza informatica (Parte 3)"
},
"c524b500-2a25-4f21-a63e-ae8b008e26c9": {
"authors": [
"Davide Quaglia"
],
"date": 1651638930.0,
"duration": 2715584,
"filename": "2022-05-04 Programmazione di rete mediante l'interfaccia socket.mkv",
"is_raw": false,
"name": "2022-05-04 Programmazione di rete mediante l'interfaccia socket"
},
"d2e39ec5-2d48-46a0-ba47-ae8300e1936d": {
"authors": [
"Davide Quaglia"
],
"date": 1650970077.0,
"duration": 2628896,
"filename": "2022-04-26 Webservice SOAP e REST.mkv",
"is_raw": false,
"name": "2022-04-26 Webservice SOAP e REST"
},
"d749c1c5-feb6-41ff-b11e-ae9300c48a04": {
"authors": [
"Davide Quaglia"
],
"date": 1652337744.0,
"duration": 7254272,
"filename": "2022-05-12 Correzione eserc Strumenti analisi di rete - Aspetti avanzati di rete (Parte 1).mkv",
"is_raw": false,
"name": "2022-05-12 Correzione eserc Strumenti analisi di rete - Aspetti avanzati di rete (Parte 1)"
},
"de1837fd-43fe-44b1-966b-ae9100de4950": {
"authors": [
"Davide Quaglia"
],
"date": 1652175529.0,
"duration": 795296,
"filename": "2022-05-10 Creazione di un web server in C (Parte 1).mkv",
"is_raw": false,
"name": "2022-05-10 Creazione di un web server in C (Parte 1)"
},
"e6f7d79b-fe31-45d6-b345-ae7000c5b6ac": {
"authors": [
"Davide Quaglia"
],
"date": 1649313628.0,
"duration": 9523168,
"filename": "2022-04-07 Sicurezza informatica (Parte 1).mkv",
"is_raw": false,
"name": "2022-04-07 Sicurezza informatica (Parte 1)"
},
"fe047706-265f-439b-90e6-aea700909e85": {
"authors": [
"Davide Quaglia"
],
"date": 1654057920.0,
"duration": 3201952,
"filename": "2022-06-01 Osservazioni finali su We Plant e MQTT.mkv",
"is_raw": false,
"name": "2022-06-01 Osservazioni finali su WePlant e MQTT"
}
},
"name": "Programmazione e sicurezza delle reti (2021/2022)",
"search_raws": false,
"skip": false,
"year": 2021
},
"11506": {
"lessons": {
"0447b742-bb63-4639-8c49-addb00ccf411": {
"authors": [
"Isabella Mastroeni"
],
"date": 1636457173.326,
"duration": 1305400,
"filename": "Esempio 1; Elaborazione di una dichiarazione (semantica dinamica).mkv",
"is_raw": false,
"name": "Esempio 1: Elaborazione di una dichiarazione (semantica dinamica)"
},
"05ebeed0-e724-4248-979f-ade100e54f22": {
"authors": [
"Isabella Mastroeni"
],
"date": 1636980893.799999,
"duration": 3105919,
"filename": "Comandi 2; Espressioni e Dichiarazioni con variabili.mkv",
"is_raw": false,
"name": "Comandi 2: Espressioni e Dichiarazioni con variabili"
},
"07caf5ca-f869-46dc-bfba-adad00909470": {
"authors": [
"Isabella Mastroeni"
],
"date": 1632465984.569,
"duration": 2166690,
"filename": "Introduzione 2; Implementare un PL.mkv",
"is_raw": false,
"name": "Introduzione 2: Implementare un PL"
},
"11eac98d-a222-4958-92b5-ac8500ee86da": {
"authors": [
"Isabella Mastroeni"
],
"date": 1606915707.149,
"duration": 1179500,
"filename": "Lezione 3; The Brainfuck language.mkv",
"is_raw": false,
"name": "Lezione 3: The Brainfuck language"
},
"429fc910-2e65-46ec-a5f3-adc80097fd18": {
"authors": [
"Isabella Mastroeni"
],
"date": 1634800403.528999,
"duration": 2888906,
"filename": "Espressioni 1; Cosa caratterizza le espressioni.mkv",
"is_raw": false,
"name": "Espressioni 1: Cosa caratterizza le espressioni"
},
"499e5168-61a3-456c-b6eb-addc00f1e355": {
"authors": [
"Isabella Mastroeni"
],
"date": 1636551641.569,
"duration": 3213299,
"filename": "Dichiarazioni 4; Le dichiarazioni.mkv",
"is_raw": false,
"name": "Dichiarazioni 4: Le dichiarazioni"
},
"4b49a670-a3a5-4bd2-b4cd-adbb00dedc6c": {
"authors": [
"Isabella Mastroeni"
],
"date": 1633692685.171,
"duration": 3928643,
"filename": "Descrivere i linguaggi 1; Sintassi.mkv",
"is_raw": false,
"name": "Descrivere i linguaggi 1: Sintassi"
},
"4d7e598e-7c5b-45a4-9750-adf000bec805": {
"authors": [
"Isabella Mastroeni"
],
"date": 1638268477.304001,
"duration": 1738305,
"filename": "Comandi 5; Composizione e iterazione.mkv",
"is_raw": false,
"name": "Comandi 5: Composizione e iterazione"
},
"519f56d5-5a26-4654-aa57-addc00fd537d": {
"authors": [
"Isabella Mastroeni"
],
"date": 1636554140.516001,
"duration": 1876323,
"filename": "Comandi 1; Locazioni, memoria e variabili.mkv",
"is_raw": false,
"name": "Comandi 1: Locazioni, memoria e variabili"
},
"5bb0a003-a3c3-4bb1-a67d-adce00e593d7": {
"authors": [
"Isabella Mastroeni"
],
"date": 1635335752.320999,
"duration": 2558920,
"filename": "Dichiarazioni 1; Identificatori e legami.mkv",
"is_raw": false,
"name": "Dichiarazioni 1: Identificatori e legami"
},
"5f1c28df-bef2-4a88-9a7b-adac0093100c": {
"authors": [
"Isabella Mastroeni"
],
"date": 1632382991.330999,
"duration": 4080318,
"filename": "Introduzione 1; Perch\u00e9 studiare i PL.mkv",
"is_raw": false,
"name": "Introduzione 1: Perch\u00e9 studiare i PL"
},
"65e2c09a-62f0-4e4c-9e72-ac5901128cec": {
"authors": [
"Isabella Mastroeni"
],
"date": 1603118376.853001,
"duration": 2131367,
"filename": "Video tutorial; Setup.mkv",
"is_raw": false,
"name": "Video tutorial: Setup"
},
"66aa2a55-ae92-4c6e-849d-add60099cbd0": {
"authors": [
"Isabella Mastroeni"
],
"date": 1636013997.634001,
"duration": 1849357,
"filename": "Dichiarazioni 3; Tipi e semantica statica (Espressioni).mkv",
"is_raw": false,
"name": "Dichiarazioni 3: Tipi e semantica statica (Espressioni)"
},
"6777b6f1-c745-494d-8343-adc200dbc94e": {
"authors": [
"Isabella Mastroeni"
],
"date": 1634296813.417,
"duration": 4956867,
"filename": "Descrivere i linguaggi 2; Semantica.mkv",
"is_raw": false,
"name": "Descrivere i linguaggi 2: Semantica"
},
"6b71480e-cded-4c44-bb6c-ac5a00704979": {
"authors": [
"Isabella Mastroeni"
],
"date": 1603169329.624001,
"duration": 2514561,
"filename": "Video tutorial; Contenuti teorici.mkv",
"is_raw": false,
"name": "Video tutorial: Contenuti teorici"
},
"78806207-b12f-4da4-94f8-add00093df5d": {
"authors": [
"Isabella Mastroeni"
],
"date": 1635490704.035999,
"duration": 5803250,
"filename": "Lezione 2; Building interpreters in ANTLR.mkv",
"is_raw": false,
"name": "Lezione 2: Building interpreters in ANTLR"
},
"7cc368e1-6d2f-4ec7-abf4-adf000bea1a5": {
"authors": [
"Isabella Mastroeni"
],
"date": 1638268444.777,
"duration": 1873558,
"filename": "Comandi 4; Comando condizionale.mkv",
"is_raw": false,
"name": "Comandi 4: Comando condizionale"
},
"83989c25-0aa3-4027-b291-add600999e91": {
"authors": [
"Isabella Mastroeni"
],
"date": 1636013960.073,
"duration": 1571000,
"filename": "Dichiarazioni 2; Espressioni con identificatori (costanti).mkv",
"is_raw": false,
"name": "Dichiarazioni 2: Espressioni con identificatori (costanti)"
},
"86b8cddd-d349-4c6b-9b21-adcc00eebc39": {
"authors": [
"Isabella Mastroeni"
],
"date": 1635164953.153,
"duration": 2124169,
"filename": "Espressioni 2; Sintassi e semantica.mkv",
"is_raw": false,
"name": "Espressioni 2: Sintassi e semantica"
},
"a467042b-785d-4d69-8a3e-ade300ec40f5": {
"authors": [
"Isabella Mastroeni"
],
"date": 1637155271.299,
"duration": 2664640,
"filename": "Comandi 3; Assegnamento.mkv",
"is_raw": false,
"name": "Comandi 3: Assegnamento"
},
"a91a3731-04a0-42ee-8bb0-ac8500ee843e": {
"authors": [
"Isabella Mastroeni"
],
"date": 1606915704.931999,
"duration": 1610000,
"filename": "Homework 2; Soluzione.mkv",
"is_raw": false,
"name": "Homework 2: Soluzione"
},
"c034a9a0-0323-40fd-bb2b-adad0090a799": {
"authors": [
"Isabella Mastroeni"
],
"date": 1632466000.839001,
"duration": 2472549,
"filename": "Introduzione 3; Interpretare vs Compilare.mkv",
"is_raw": false,
"name": "Introduzione 3: Interpretare vs Compilare"
},
"d13ac9ba-7d99-41cb-bc57-ac6c012d1d96": {
"authors": [
"Isabella Mastroeni"
],
"date": 1604769379.906,
"duration": 4698697,
"filename": "Lezione 1; Primi passi in ANTLR.mkv",
"is_raw": false,
"name": "Lezione 1: Primi passi in ANTLR"
},
"d4fd1ba9-fcfa-4034-a56f-afbd00ae1bab": {
"authors": [
"Isabella Mastroeni"
],
"date": 1632139368.493999,
"duration": 1811731,
"filename": "Presentazione contenuti del corso (video 2021-22).mkv",
"is_raw": false,
"name": "Presentazione contenuti del corso (video 2021/22)"
},
"d910dbcd-8ee5-449e-926a-add0009a0afd": {
"authors": [
"Isabella Mastroeni"
],
"date": 1635492051.618999,
"duration": 234549,
"filename": "Homework 1; Soluzione.mkv",
"is_raw": false,
"name": "Homework 1: Soluzione"
},
"da2aa05a-15cd-45f2-b656-adc500bacd06": {
"authors": [
"Isabella Mastroeni"
],
"date": 1634548859.212999,
"duration": 1891914,
"filename": "Descrivere i linguaggi 3; Categorie sintattiche.mkv",
"is_raw": false,
"name": "Descrivere i linguaggi 3: Categorie sintattiche"
}
},
"name": "Linguaggi (2022/2023)",
"search_raws": true,
"skip": false,
"year": 2022
},
"11971": {
"lessons": {
"08a6a7e0-e37b-42c5-8dd0-af000086f700": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753483.596001,
"duration": 3935700,
"filename": "Lezione 29.mkv",
"is_raw": false,
"name": "Lezione 29"
},
"090bdc31-346f-45ed-8177-af0000895b0a": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661754005.805,
"duration": 4699300,
"filename": "Lezione 16.mkv",
"is_raw": false,
"name": "Lezione 16"
},
"11c3c0c6-b72c-46f1-a927-af0000848df2": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661752956.990999,
"duration": 2851500,
"filename": "Lezione 11(a).mkv",
"is_raw": false,
"name": "Lezione 11(a)"
},
"16bd393b-454c-43a8-b310-af000084ade2": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661752984.164,
"duration": 569500,
"filename": "Lezione 11(b).mkv",
"is_raw": false,
"name": "Lezione 11(b)"
},
"16e5fb79-840a-4b6d-825e-af000086f74e": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753484.003,
"duration": 4052367,
"filename": "Lezione 33.mkv",
"is_raw": false,
"name": "Lezione 33"
},
"1c614e1e-5a18-4181-bfb7-af000087e91f": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753690.226,
"duration": 4194709,
"filename": "Lezione 27.mkv",
"is_raw": false,
"name": "Lezione 27"
},
"2aabb515-8c51-4c60-8c02-af0000884ce9": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753775.273001,
"duration": 471551,
"filename": "Proof That Computers Cant Do Everything (The Halting Problem) default.mkv",
"is_raw": false,
"name": "Proof That Computers Cant Do Everything (The Halting Problem)_default"
},
"2f01dd75-b41a-446d-8a99-af000087557e": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753564.198,
"duration": 3107633,
"filename": "Lezione 30.mkv",
"is_raw": false,
"name": "Lezione 30"
},
"3728df7d-fd1f-496f-a0b2-af0000882611": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753742.143,
"duration": 3120833,
"filename": "Lezione 24.mkv",
"is_raw": false,
"name": "Lezione 24"
},
"391e4f8a-eeb0-4628-8e4f-af000088a6f4": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753852.23,
"duration": 4272277,
"filename": "Lezione 20 tris.mkv",
"is_raw": false,
"name": "Lezione 20 tris"
},
"4601724f-d265-4a9a-a1d8-af0000848d8d": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661752956.599001,
"duration": 2992833,
"filename": "Lezione 14.mkv",
"is_raw": false,
"name": "Lezione 14"
},
"4d71349f-0579-4e3a-8f0e-af000084cc71": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753010.33,
"duration": 3190033,
"filename": "Lezione 10.mkv",
"is_raw": false,
"name": "Lezione 10"
},
"50048f1e-8db5-4aff-9691-af000087cdc8": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753666.764999,
"duration": 933845,
"filename": "Lezione 31b.mkv",
"is_raw": false,
"name": "Lezione 31b"
},
"5229c194-00ac-4971-90a9-af000086f7a3": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753484.045,
"duration": 3899633,
"filename": "Lezione 32.mkv",
"is_raw": false,
"name": "Lezione 32"
},
"55afc4fe-87af-4bdf-aafc-af00008553c9": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753125.695,
"duration": 2949233,
"filename": "Lezione 4.mkv",
"is_raw": false,
"name": "Lezione 4"
},
"5611afed-72f4-455b-bfcc-af000085c12a": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753219.128,
"duration": 2372567,
"filename": "Lezione 1.mkv",
"is_raw": false,
"name": "Lezione 1"
},
"59314d53-48ca-4b14-9a6a-af0000892d1a": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753966.583,
"duration": 3769984,
"filename": "Lezione 17.mkv",
"is_raw": false,
"name": "Lezione 17"
},
"5c38ea82-efc6-4506-8055-af0000886466": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753795.353001,
"duration": 5213300,
"filename": "Lezione 21.mkv",
"is_raw": false,
"name": "Lezione 21"
},
"625821af-122e-4b82-a44a-af0000853c62": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753105.764,
"duration": 3186901,
"filename": "Lezione 5.mkv",
"is_raw": false,
"name": "Lezione 5"
},
"818487b0-4faa-4b56-b4a4-af0000887d00": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753816.27,
"duration": 4644167,
"filename": "Lezione 22.mkv",
"is_raw": false,
"name": "Lezione 22"
},
"8ecc47c2-249c-4e73-abfc-af000085027b": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753056.396,
"duration": 2615833,
"filename": "Lezione 8.mkv",
"is_raw": false,
"name": "Lezione 8"
},
"8f49737e-be3a-4bd4-95c7-af0000881fc2": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753736.773001,
"duration": 2385834,
"filename": "Lezione 23.mkv",
"is_raw": false,
"name": "Lezione 23"
},
"9e84e793-3961-4710-abb6-af0000857bfe": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753160.089001,
"duration": 2247567,
"filename": "Lezione 3.mkv",
"is_raw": false,
"name": "Lezione 3"
},
"a559f789-8d30-4bbf-8b37-af0000850899": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753061.6,
"duration": 3274167,
"filename": "Lezione 7.mkv",
"is_raw": false,
"name": "Lezione 7"
},
"b17662c1-8a14-48fd-a10a-af000088efbf": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753914.245001,
"duration": 4674967,
"filename": "Lezione 18.mkv",
"is_raw": false,
"name": "Lezione 18"
},
"b1fdac51-654b-4b36-ad7b-af000087fb32": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753705.566,
"duration": 2636233,
"filename": "Lezione 25.mkv",
"is_raw": false,
"name": "Lezione 25"
},
"b6fa5b79-74a3-40a2-a8d5-af000087a653": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753633.073999,
"duration": 4643100,
"filename": "Lezione 26.mkv",
"is_raw": false,
"name": "Lezione 26"
},
"c1f542a3-f9c2-4008-93e3-af00008977e3": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661754030.403999,
"duration": 2845300,
"filename": "Lezione 15.mkv",
"is_raw": false,
"name": "Lezione 15"
},
"ca2ecb66-52c5-4301-a0d8-af00008524be": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753085.556,
"duration": 3605833,
"filename": "Lezione 6.mkv",
"is_raw": false,
"name": "Lezione 6"
},
"cb5f2611-c0f1-4b91-9f6f-af000087246b": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753522.197001,
"duration": 3761367,
"filename": "Lezione 28.mkv",
"is_raw": false,
"name": "Lezione 28"
},
"d7e91d2d-6db3-4b46-a2cc-af0000848e34": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661752957.296,
"duration": 2309700,
"filename": "Lezione 12.mkv",
"is_raw": false,
"name": "Lezione 12"
},
"deaaf4d9-ef69-46bb-95a7-af000088b725": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753865.893999,
"duration": 3705767,
"filename": "Lezione 19.mkv",
"is_raw": false,
"name": "Lezione 19"
},
"ea78597f-8848-4c52-99cc-af000086f6d4": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753483.400999,
"duration": 2847899,
"filename": "Lezione 31 (intera).mkv",
"is_raw": false,
"name": "Lezione 31 (intera)"
},
"f1e6b1b4-3ebb-4f1a-93db-af000084e9e7": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753035.375999,
"duration": 2966367,
"filename": "Lezione 9.mkv",
"is_raw": false,
"name": "Lezione 9"
},
"f615313f-b66d-48f4-a328-af0000878350": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753603.205999,
"duration": 1914033,
"filename": "Lezione 31a.mkv",
"is_raw": false,
"name": "Lezione 31a"
},
"fb78e9d5-b16a-4401-b23c-af0000848db9": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661752956.767,
"duration": 3042167,
"filename": "Lezione 13.mkv",
"is_raw": false,
"name": "Lezione 13"
},
"ff95e7a7-2eae-4607-a2c6-af0000859d11": {
"authors": [
"Roberto Giacobazzi"
],
"date": 1661753188.311001,
"duration": 2577767,
"filename": "Lezione 2.mkv",
"is_raw": false,
"name": "Lezione 2"
}
},
"name": "Fondamenti dell'informatica (2022/2023)",
"search_raws": false,
"skip": false,
"year": 2022
},
"12386": {
"lessons": {
"1c0fb129-9c83-4575-b25c-af500127b9fa": {
"authors": [
"Alberto Belussi"
],
"date": 1668695673.0,
"duration": 5358440,
"filename": "Lezione n.11 - 17 Novembre 2022 - Modello relazionale 1.mkv",
"is_raw": false,
"name": "Lezione n. 11 - 17 Novembre 2022 - Modello relazionale 1"
},
"2b50a5c8-58d7-4498-b4d1-af5e00ccd8a9": {
"authors": [
"Alberto Belussi"
],
"date": 1669884039.0,
"duration": 8909200,
"filename": "Esercitazione prima prova intermedia.mkv",
"is_raw": false,
"name": "Esercitazione prima prova intermedia"
},
"5e77b2cb-22f0-4d04-afdb-af5701268a0b": {
"authors": [
"Alberto Belussi"
],
"date": 1669300391.0,
"duration": 6177120,
"filename": "Lezione n.14 - 24 Novembre 2022 - Progettazione logica.mkv",
"is_raw": false,
"name": "Lezione n. 14 - 24 Novembre 2022 - Progettazione logica"
},
"92261a26-2792-455e-9e51-af48010bebda": {
"authors": [
"Alberto Belussi"
],
"date": 1635233709.0,
"duration": 5493344,
"filename": "Lezione n.8 di basi di dati - 26 ottobre 2021 - 11;30-13;30.mkv",
"is_raw": false,
"name": "Lezione n. 8 di basi di dati - 26 ottobre 2021 - 11:30-13:30"
},
"a3413cbc-f759-4f34-9e70-af8d00c2be14": {
"authors": [
"Alberto Belussi"
],
"date": 1673948761.0,
"duration": 3206400,
"filename": "Lezione n.23 - 17 Gennaio 2023 - Esercitazione riepilogativa progettazione concettuale e logica.mkv",
"is_raw": false,
"name": "Lezione n. 23 - 17 Gennaio 2023 - Esercitazione riepilogativa progettazione concettuale e logica"
},
"ab9ba3fe-0e0c-438e-a76f-afb20130822d": {
"authors": [
"Alberto Belussi"
],
"date": 1677070521.0,
"duration": 9013080,
"filename": "Esercitazione in preparazione II prova intermedia - 22 Febbraio 2023 - Esercitazione su algebra e calcolo relazionale.mkv",
"is_raw": false,
"name": "Esercitazione in preparazione II prova intermedia - 22 Febbraio 2023 - Esercitazione su algebra e calcolo relazionale"
},
"c9a18137-1038-4397-8039-af9400cd71c3": {
"authors": [
"Alberto Belussi"
],
"date": 1674553166.0,
"duration": 5536880,
"filename": "Lezione n.24 - 24 Gennaio 2023 - Esercitazione su algebra e calcolo relazionale.mkv",
"is_raw": false,
"name": "Lezione n. 24 - 24 Gennaio 2023 - Esercitazione su algebra e calcolo relazionale"
}
},
"name": "Basi di dati (2022/2023)",
"search_raws": false,
"skip": false,
"year": 2022
},
"13884": {
"lessons": {
"05c3bf82-2c37-48b5-a16a-afe2008ed0d5": {
"authors": [
"Davide Quaglia"
],
"date": 1681274011.0,
"duration": 5574960,
"filename": "2023-04-12 Concetti fondamentali della sicurezza informatica. Chiarimenti sulla Laurea Magistrale in Computer Engineering for Robotics and Smart Industry.mkv",
"is_raw": false,
"name": "2023-04-12 Concetti fondamentali della sicurezza informatica. Chiarimenti sulla Laurea Magistrale in Computer Engineering for Robotics and Smart Industry"
},
"0ebf3ad8-461b-4f74-95fa-afbd00e9ed9a": {
"authors": [
"Davide Quaglia"
],
"date": 1653475557.0,
"duration": 1924256,
"filename": "2022-05-25 Esercitazione su MQTT.mkv",
"is_raw": false,
"name": "2022-05-25 Esercitazione su MQTT"
},
"183e9a85-4215-4a06-a8da-afbd00e9f369": {
"authors": [
"Davide Quaglia"
],
"date": 1649220064.0,
"duration": 6132704,
"filename": "2022-04-06 Ripasso dei fondamenti di Reti (Parte 2).mkv",
"is_raw": false,
"name": "2022-04-06 Ripasso dei fondamenti di Reti (Parte 2)"
},
"1a247e88-055d-4e7a-baed-afbd00e9efb2": {
"authors": [
"Davide Quaglia"
],
"date": 1652337744.0,
"duration": 7254272,
"filename": "2022-05-12 Correzione eserc Strumenti analisi di rete - Aspetti avanzati di rete (Parte 1).mkv",
"is_raw": false,
"name": "2022-05-12 Correzione eserc Strumenti analisi di rete - Aspetti avanzati di rete (Parte 1)"
},
"1d4ece14-c9f3-4a7f-a44a-afbd00e9eec9": {
"authors": [
"Davide Quaglia"
],
"date": 1652943357.0,
"duration": 1226080,
"filename": "2022-05-19 Configurazione apparati di rete (Parte 1).mkv",
"is_raw": false,
"name": "2022-05-19 Configurazione apparati di rete (Parte 1)"
},
"1fa3ca42-b2be-4366-a2fd-afbd00e9ee5d": {
"authors": [
"Davide Quaglia"
],
"date": 1653388646.0,
"duration": 2108128,
"filename": "2022-05-24 Esercitazione su We Plant (Parte 3).mkv",
"is_raw": false,
"name": "2022-05-24 Esercitazione su WePlant (Parte 3)"
},
"2118ae48-9f8b-41a5-b699-afbd00e9f2e7": {
"authors": [
"Davide Quaglia"
],
"date": 1649673450.0,
"duration": 6397792,
"filename": "2022-04-11 Programmazione client-server.mkv",
"is_raw": false,
"name": "2022-04-11 Programmazione client-server"
},
"2463559b-fc14-42d0-bce3-afbd00e9f200": {
"authors": [
"Davide Quaglia"
],
"date": 1650970077.0,
"duration": 2628896,
"filename": "2022-04-26 Webservice SOAP e REST.mkv",
"is_raw": false,
"name": "2022-04-26 Webservice SOAP e REST"
},
"33c1823d-7301-4477-9e14-afbd00e9f000": {
"authors": [
"Davide Quaglia"
],
"date": 1652243942.0,
"duration": 6196736,
"filename": "2022-05-11 Esercitazione su We Plant (Parte 1).mkv",
"is_raw": false,
"name": "2022-05-11 Esercitazione su WePlant (Parte 1)"
},
"45fe2f77-94f0-46b0-8250-afbd00e9f1d9": {
"authors": [
"Davide Quaglia"
],
"date": 1651034253.0,
"duration": 1767904,
"filename": "2022-04-27 Webservice; creazione di programmi che usano API REST.mkv",
"is_raw": false,
"name": "2022-04-27 Webservice: creazione di programmi che usano API REST"
},
"469d7018-f261-44e4-a5bf-afbd00e9f0d9": {
"authors": [
"Davide Quaglia"
],
"date": 1651638930.0,
"duration": 2715584,
"filename": "2022-05-04 Programmazione di rete mediante l'interfaccia socket.mkv",
"is_raw": false,
"name": "2022-05-04 Programmazione di rete mediante l'interfaccia socket"
},
"481d9577-f03f-402d-95db-afbd00e9f16f": {
"authors": [
"Davide Quaglia"
],
"date": 1651127836.0,
"duration": 9230368,
"filename": "2022-04-28 Sicurezza informatica (Parte 3).mkv",
"is_raw": false,
"name": "2022-04-28 Sicurezza informatica (Parte 3)"
},
"5237afc5-3c5f-4216-859b-afbd00e9f27e": {
"authors": [
"Davide Quaglia"
],
"date": 1649824840.0,
"duration": 6381152,
"filename": "2022-04-13 Dal web ai webservice.mkv",
"is_raw": false,
"name": "2022-04-13 Dal web ai webservice"
},
"5c92b460-e025-4469-905b-afd400aacfa9": {
"authors": [
"Davide Quaglia"
],
"date": 1680065348.0,
"duration": 8754160,
"filename": "2023-03-29 Lezione pratica su web.mkv",
"is_raw": false,
"name": "2023-03-29 Lezione pratica su web"
},
"5f22ecc8-5b53-4b6d-b59a-afe7010db73b": {
"authors": [
"Davide Quaglia"
],
"date": 1681731362.0,
"duration": 7271200,
"filename": "2023-04-17 Introduzione a Wireshark.mkv",
"is_raw": false,
"name": "2023-04-17 Introduzione a Wireshark"
},
"658f06fe-da15-4278-a4a1-afbd00e9f029": {
"authors": [
"Davide Quaglia"
],
"date": 1652175529.0,
"duration": 795296,
"filename": "2022-05-10 Creazione di un web server in C (Parte 1).mkv",
"is_raw": false,
"name": "2022-05-10 Creazione di un web server in C (Parte 1)"
},
"6b323466-547b-478e-8f04-afbd00e9ef89": {
"authors": [
"Davide Quaglia"
],
"date": 1652780777.0,
"duration": 3103904,
"filename": "2022-05-17 Esercitazione su We Plant (Parte 2).mkv",
"is_raw": false,
"name": "2022-05-17 Esercitazione su WePlant (Parte 2)"
},
"6d3f5f08-77e4-4288-bd6a-afbd00e9f259": {
"authors": [
"Davide Quaglia"
],
"date": 1649918236.0,
"duration": 8834944,
"filename": "2022-04-14 Sicurezza informatica (Parte 2).mkv",
"is_raw": false,
"name": "2022-04-14 Sicurezza informatica (Parte 2)"
},
"77d53daa-a4fb-4f91-a9bc-afbd00e9ee29": {
"authors": [
"Davide Quaglia"
],
"date": 1653453776.0,
"duration": 5953184,
"filename": "2022-05-25 Aspetti avanzati di rete (Parte 3).mkv",
"is_raw": false,
"name": "2022-05-25 Aspetti avanzati di rete (Parte 3)"
},
"7bb6e593-1e26-4e0e-957e-afbd00e9f0a9": {
"authors": [
"Davide Quaglia"
],
"date": 1651733299.0,
"duration": 4842112,
"filename": "2022-05-05 Strumenti di analisi di rete (Parte 1).mkv",
"is_raw": false,
"name": "2022-05-05 Strumenti di analisi di rete (Parte 1)"
},
"7d3c1798-c527-40dd-a955-afbf00bc9b0d": {
"authors": [
"Davide Quaglia"
],
"date": 1678257865.0,
"duration": 8689760,
"filename": "2023-03-08 Ripasso dei fondamenti di Reti con esempi di applicazioni.mkv",
"is_raw": false,
"name": "2023-03-08 Ripasso dei fondamenti di Reti con esempi di applicazioni"
},
"7f0a87b0-7381-4fc8-bfdc-afc600b942c4": {
"authors": [
"Davide Quaglia"
],
"date": 1678862800.0,
"duration": 6425520,
"filename": "2023-03-15 Programmazione di rete client-server mediante l\u2019interfaccia socket (Parte 1).mkv",
"is_raw": false,
"name": "2023-03-15 Programmazione di rete client/server mediante l\u2019interfaccia socket (Parte 1)"
},
"850695a8-0e1b-493b-ae4f-afbd00e9ed64": {
"authors": [
"Davide Quaglia"
],
"date": 1653547002.0,
"duration": 2312704,
"filename": "2022-05-26 Configurazione apparati di rete (Parte 2).mkv",
"is_raw": false,
"name": "2022-05-26 Configurazione apparati di rete (Parte 2)"
},
"8ecd2cde-9087-4852-87b8-afbd00e9f31b": {
"authors": [
"Davide Quaglia"
],
"date": 1649313628.0,
"duration": 9523168,
"filename": "2022-04-07 Sicurezza informatica (Parte 1).mkv",
"is_raw": false,
"name": "2022-04-07 Sicurezza informatica (Parte 1)"
},
"9c357674-8183-42e4-85e2-afbd00e9ecb7": {
"authors": [
"Davide Quaglia"
],
"date": 1654057920.0,
"duration": 3201952,
"filename": "2022-06-01 Osservazioni finali su We Plant e MQTT.mkv",
"is_raw": false,
"name": "2022-06-01 Osservazioni finali su WePlant e MQTT"
},
"a88df2f0-e9f1-4cb2-8aa5-afe900a8f7b6": {
"authors": [
"Davide Quaglia"
],
"date": 1681879659.0,
"duration": 9649800,
"filename": "2023-04-19 Introduzione a Virtualizzazione, Containerizzazione e Docker.mkv",
"is_raw": false,
"name": "2023-04-19 Introduzione a Virtualizzazione, Containerizzazione e Docker"
},
"b0be3970-c436-49ff-8b7a-afbd00e9ecf8": {
"authors": [
"Davide Quaglia"
],
"date": 1653993647.0,
"duration": 1535680,
"filename": "2022-05-31 Esercitazione su We Plant (Parte 4).mkv",
"is_raw": false,
"name": "2022-05-31 Esercitazione su WePlant (Parte 4)"
},
"b0f9ae8c-6aae-42af-8ef4-afdb00a4216a": {
"authors": [
"Davide Quaglia"
],
"date": 1680669834.0,
"duration": 6874160,
"filename": "2023-04-05 Web Socket e REST.mkv",
"is_raw": false,
"name": "2023-04-05 Web Socket e REST"
},
"b5e15e11-dbfc-427d-9d8e-afbd00e9f393": {
"authors": [
"Davide Quaglia"
],
"date": 1649068618.0,
"duration": 6262720,
"filename": "2022-04-04 Introduzione al corso. Ripasso dei fondamenti di Reti (Parte 1).mkv",
"is_raw": false,
"name": "2022-04-04 Introduzione al corso. Ripasso dei fondamenti di Reti (Parte 1)"
},
"bba91a72-c9ae-4d65-8667-afd201067338": {
"authors": [
"Davide Quaglia"
],
"date": 1679917998.0,
"duration": 5997880,
"filename": "2023-03-27 Il protocollo HTTP e il web.mkv",
"is_raw": false,
"name": "2023-03-27 Il protocollo HTTP e il web"
},
"ed9d7cc2-dcca-4026-8a67-afbd00e9ef05": {
"authors": [
"Davide Quaglia"
],
"date": 1652877348.0,
"duration": 6423872,
"filename": "2022-05-18 Aspetti avanzati di rete (Parte 2).mkv",
"is_raw": false,
"name": "2022-05-18 Aspetti avanzati di rete (Parte 2)"
},
"f08b49f0-05fb-4587-907a-afbd00e9f147": {
"authors": [
"Davide Quaglia"
],
"date": 1651494667.0,
"duration": 6622080,
"filename": "2022-05-02 Webservice; JSON, stub-skeleton, statefull-stateless.mkv",
"is_raw": false,
"name": "2022-05-02 Webservice: JSON, stub/skeleton, statefull/stateless"
},
"fa5a9b48-170c-4bd5-870c-afd9010bf259": {
"authors": [
"Davide Quaglia"
],
"date": 1680522144.0,
"duration": 6376440,
"filename": "2023-04-03 L'evoluzione del web.mkv",
"is_raw": false,
"name": "2023-04-03 L'evoluzione del web"
}
},
"name": "Programmazione e sicurezza delle reti (2022/2023)",
"search_raws": false,
"skip": false,
"year": 2022
},
"6589": {
"lessons": {},
"name": "Basi di dati (2020/2021)",
"search_raws": false,
"skip": false,
"year": 2020
},
"8448": {
"lessons": {
"557026d9-b1c9-4f3d-af6a-acfc00c4f45d": {
"authors": [
"Davide Quaglia"
],
"date": 1617177465.0,
"duration": 6161773,
"filename": "210331 Programmazione mediante socket 1.mkv",
"is_raw": false,
"name": "210331_Programmazione_mediante_socket_1"
}
},
"name": "Programmazione e sicurezza delle reti (2020/2021)",
"search_raws": false,
"skip": false,
"year": 2020
},
"9296": {
"lessons": {
"0a63bf6c-926e-48bc-b95b-ae8a00c21025": {
"authors": [
"Sara Migliorini"
],
"date": 1651554123.0,
"duration": 1160064,
"filename": "Lezione n.07 di Lab. Basi di Dati - 03 Maggio 2022 8;30 11;30.mkv",
"is_raw": false,
"name": "Lezione n. 07 di Lab. Basi di Dati - 03 Maggio 2022 8:30 11:30"
},
"14af80e3-478a-4325-a6e4-ae5500dfa3f4": {
"authors": [
"Sara Migliorini"
],
"date": 1646983846.0,
"duration": 8782528,
"filename": "Lezione n.27 di Basi di dati - 11 marzo 2022 - 9;30-12;30.mkv",
"is_raw": false,
"name": "Lezione n. 27 di Basi di dati - 11 marzo 2022 - 9:30-12:30"
},
"189df5a0-a83a-469a-b7b2-ae00012d4750": {
"authors": [
"Alberto Belussi"
],
"date": 1639474542.0,
"duration": 5171968,
"filename": "Lezione n.18 del 14 dicembre 2021 - 11.30-13.30.mkv",
"is_raw": false,
"name": "Lezione n. 18 del 14 dicembre 2021 - 11.30-13.30"
},
"1a2417f4-6566-467b-bb63-ae6600ccf5e5": {
"authors": [
"Sara Migliorini"
],
"date": 1648449058.0,
"duration": 8740800,
"filename": "Lezione n.31 di Basi di Dati - 28 Marzo 2022 10;30-13;30.mkv",
"is_raw": false,
"name": "Lezione n. 31 di Basi di Dati - 28 Marzo 2022 10:30-13:30"
},
"1abc12b8-2416-4abb-984d-aea600c1bd08": {
"authors": [
"Sara Migliorini"
],
"date": 1653973344.0,
"duration": 6702720,
"filename": "Lezione n.11 di Lab. Basi di Dati - 31 Maggio 2022 8;30 11;30.mkv",
"is_raw": false,
"name": "Lezione n. 11 di Lab. Basi di Dati - 31 Maggio 2022 8:30 11:30"
},
"1f763bd6-07d5-4780-a90b-ae5900c7e72b": {
"authors": [
"Sara Migliorini"
],
"date": 1647327583.0,
"duration": 8145344,
"filename": "Lezione n.02 di Lab. Basi di Dati - 15 Marzo 2022 - 8;30-10;30.mkv",
"is_raw": false,
"name": "Lezione n. 02 di Lab. Basi di Dati - 15 Marzo 2022 - 8:30-10:30"
},
"3b2f94a7-1477-4772-b6d4-ae61014bdc84": {
"authors": [
"Sara Migliorini"
],
"date": 1648038594.0,
"duration": 9465792,
"filename": "Lezione n.03 di Lab. Basi di Dati - 23 Marzo 2022 14;30-17;30.mkv",
"is_raw": false,
"name": "Lezione n. 03 di Lab. Basi di Dati - 23 Marzo 2022 14:30-17:30"
},
"403ba4e1-ada1-443e-8ae3-ae6d00cbc5e0": {
"authors": [
"Sara Migliorini"
],
"date": 1649053706.0,
"duration": 8638016,
"filename": "Lezione n.33 di Basi di Dati - 4 Aprile 2022 10;30-13;30.mkv",
"is_raw": false,
"name": "Lezione n. 33 di Basi di Dati - 4 Aprile 2022 10:30-13:30"
},
"4811759c-5163-4dfa-a57a-ae6700c4f5b4": {
"authors": [
"Sara Migliorini"
],
"date": 1648530006.0,
"duration": 8196639,
"filename": "Lezione n.04 di Lab. Basi di Dati - 29 Marzo 2022 8;30 11;30.mkv",
"is_raw": false,
"name": "Lezione n. 04 di Lab. Basi di Dati - 29 Marzo 2022 8:30 11:30"
},
"48f277a9-fc1b-4789-a520-ae5b00de241d": {
"authors": [
"Sara Migliorini"
],
"date": 1647505863.0,
"duration": 7635744,
"filename": "Lezione n.28 di Basi di dati - 17 marzo 2022 - 10.30-13.30.mkv",
"is_raw": false,
"name": "Lezione n. 28 di Basi di dati - 17 marzo 2022 - 10.30-13.30"
},
"4a984c3c-8842-4ffb-aeeb-ae5100d7fd80": {
"authors": [
"Sara Migliorini"
],
"date": 1646641939.0,
"duration": 7125984,
"filename": "Lezione n.26 di Basi di dati - 7 marzo 2022 - 10.30-13.30.mkv",
"is_raw": false,
"name": "Lezione n. 26 di Basi di dati - 7 marzo 2022 - 10.30-13.30"
},
"4ddf8f24-846d-4c70-af13-adf8015e9295": {
"authors": [
"Alberto Belussi"
],
"date": 1638869598.0,
"duration": 5561024,
"filename": "Lezione n.16 di Basi di dati - 7 dicembre 2021 - 11.30-13.30.mkv",
"is_raw": false,
"name": "Lezione n. 16 di Basi di dati - 7 dicembre 2021 - 11.30-13.30"
},
"56c96ac6-02fd-46c8-8ccd-ae6200e230f6": {
"authors": [
"Sara Migliorini"
],
"date": 1648110958.0,
"duration": 8249791,
"filename": "Lezione n.30 di Basi di Dati - 24 Marzo 2022 10;30-13;30.mkv",
"is_raw": false,
"name": "Lezione n. 30 di Basi di Dati - 24 Marzo 2022 10:30-13:30"
},
"5b3b6115-89dc-46fe-834e-ae0500dee310": {
"authors": [
"Alberto Belussi"
],
"date": 1640079235.0,
"duration": 5440320,
"filename": "Lezione n.19 di Basi di dati - 21 dicembre 2021 - 11.30-13.30.mkv",
"is_raw": false,
"name": "Lezione n.19 di Basi di dati - 21 dicembre 2021 - 11.30-13.30"
},
"60f3af0e-15ed-4180-9522-adf1010cf99b": {
"authors": [
"Alberto Belussi"
],
"date": 1638264813.0,
"duration": 5401472,
"filename": "Lezione n.14 di Basi di dati - 30 novembre 2021 - 11.30-13.30.mkv",
"is_raw": false,
"name": "Lezione n. 14 di Basi di dati - 30 novembre 2021 - 11.30-13.30"
},
"617f1b71-83f7-43ef-a95e-ae2e00b5373b": {
"authors": [
"Alberto Belussi"
],
"date": 1643275834.0,
"duration": 4278944,
"filename": "Lezione n.25 di Basi di dati - 27 gennaio 2022 - 11.30-12.30.mkv",
"is_raw": false,
"name": "Lezione n. 25 di Basi di dati - 27 gennaio 2022 - 11.30-12.30"
},
"62d7c5ae-7573-4c38-8fa8-adb900b89727": {
"authors": [
"Alberto Belussi"
],
"date": 1633419928.0,
"duration": 5437568,
"filename": "Lezione di Basi di dati del 5 Ottobre 2021 - ore 11.30-13.30.mkv",
"is_raw": false,
"name": "Lezione di Basi di dati del 5 Ottobre 2021 - ore 11.30-13.30"
},
"63fcdc25-81d1-40e6-9f05-adf600ef9834": {
"authors": [
"Alberto Belussi"
],
"date": 1638783302.0,
"duration": 5847008,
"filename": "Lezione n.15 di Basi di dati - 6 dicembre 2021 - 11.30-13.30.mkv",
"is_raw": false,
"name": "Lezione n. 15 di Basi di dati - 6 dicembre 2021 - 11.30-13.30"
},
"661a4891-b76a-448d-bf7e-adcc0093827d": {
"authors": [
"Alberto Belussi"
],
"date": 1634628929.0,
"duration": 5508512,
"filename": "Lezione n.6 di Basi di dati - 19 Ottobre 2021 - 11.30-13.30.mkv",
"is_raw": false,
"name": "Lezione n.6 di Basi di dati - 19 Ottobre 2021 - 11.30-13.30"
},
"6a94d7c0-52cd-437b-95cf-adb700ed47ab": {
"authors": [
"Alberto Belussi"
],
"date": 1633333962.0,
"duration": 4714464,
"filename": "Lezione di Basi di dati del 4 Ottobre 2021 - ore 11.30-13.30.mkv",
"is_raw": false,
"name": "Lezione di Basi di dati del 4 Ottobre 2021 - ore 11.30-13.30"
},
"6abea00e-653d-43b4-add9-adc500d5816f": {
"authors": [
"Alberto Belussi"
],
"date": 1602576345.0,
"duration": 5488096,
"filename": "Lezione n.5 di Basi di dati - TEORIA - (lezione dell'anno accademico precedente 13 Ottobre 2020).mkv",
"is_raw": false,
"name": "Lezione n.5 di Basi di dati - TEORIA - (lezione dell'anno accademico precedente 13 Ottobre 2020)"
},
"71ec4033-43f4-4a29-8659-addb0091810f": {
"authors": [
"Alberto Belussi"
],
"date": 1636364145.0,
"duration": 5791648,
"filename": "Lezione n.10 di Basi di dati - 8 novembre 2021 - 11;30-13;30.mkv",
"is_raw": false,
"name": "Lezione n. 10 di Basi di dati - 8 novembre 2021 - 11:30-13:30"
},
"73eab394-bcdf-4ee9-b8e0-adcc00c9ba91": {
"authors": [
"Alberto Belussi"
],
"date": 1635147215.0,
"duration": 5506840,
"filename": "Lezione n.7 di basi di dati del 25 ottobre 2021 - 11;30-13.30.mkv",
"is_raw": false,
"name": "Lezione n. 7 di basi di dati del 25 ottobre 2021 - 11:30-13.30"
},
"83e5d332-0d78-45e9-8a27-ae6e00d24064": {
"authors": [
"Sara Migliorini"
],
"date": 1649134751.0,
"duration": 8971360,
"filename": "Lezione n.05 di Lab. Basi di Dati - 5 Aprile 2022 8;30 11;30.mkv",
"is_raw": false,
"name": "Lezione n. 05 di Lab. Basi di Dati - 5 Aprile 2022 8:30 11:30"
},
"88796ef1-291f-4ba8-85f3-ae5c00d1570a": {
"authors": [
"Sara Migliorini"
],
"date": 1647588655.0,
"duration": 8803264,
"filename": "Lezione n.29 di Basi di dati - 18 marzo 2022 - 9;30-12;30.mkv",
"is_raw": false,
"name": "Lezione n. 29 di Basi di dati - 18 marzo 2022 - 9:30-12:30"
},
"9b277293-1e24-45cb-a8af-ae1a00fa7712": {
"authors": [
"Alberto Belussi"
],
"date": 1641910314.801168,
"duration": 4706720,
"filename": "Lezione n.21 di Basi di dati - 11 gennaio 2022 - 11.30-13.30 (copy).mkv",
"is_raw": false,
"name": "Lezione n. 21 di Basi di dati - 11 gennaio 2022 - 11.30-13.30 (copy)"
},
"9c29eeec-4069-4688-a18f-ae1a009c401a": {
"authors": [
"Alberto Belussi"
],
"date": 1641889733.317654,
"duration": 4646944,
"filename": "Lezione n.20 di Basi di dati - 10 gennaio 2022.mkv",
"is_raw": false,
"name": "Lezione n. 20 di Basi di dati - 10 gennaio 2022"
},
"9f642dbd-8cfd-40b9-b84b-ae5200c7e2d0": {
"authors": [
"Sara Migliorini"
],
"date": 1646722550.0,
"duration": 5274688,
"filename": "Lezione n.1 di Lab. Basi di dati - 8 marzo 2022 - 8.30-10.30.mkv",
"is_raw": false,
"name": "Lezione n. 1 di Lab. Basi di dati - 8 marzo 2022 - 8.30-10.30"
},
"a238eb27-4242-406f-9cc1-addb00dabca7": {
"authors": [
"Alberto Belussi"
],
"date": 1636450819.0,
"duration": 4987264,
"filename": "Lezione n.11 di Basi di dati - 9 novembre 2021 - 11.30-132.30.mkv",
"is_raw": false,
"name": "Lezione n. 11 di Basi di dati - 9 novembre 2021 - 11.30-132.30"
},
"a5d9d0f8-24be-473f-bbb1-ae8300c99d18": {
"authors": [
"Sara Migliorini"
],
"date": 1650949473.0,
"duration": 1922240,
"filename": "Lezione n.06 di Lab. Basi di Dati - 26 Aprile 2022 8;30 11;30.mkv",
"is_raw": false,
"name": "Lezione n. 06 di Lab. Basi di Dati - 26 Aprile 2022 8:30 11:30"
},
"ab7c97d8-33cc-4db9-91ad-adbf00fcc387": {
"authors": [
"Alberto Belussi"
],
"date": 1634024010.0,
"duration": 5792320,
"filename": "Lezione n.4 di Basi di dati - 12 Ottobre 2021 - 11;30-13;30.mkv",
"is_raw": false,
"name": "Lezione n. 4 di Basi di dati - 12 Ottobre 2021 - 11:30-13:30"
},
"b00e5f50-4cfe-4c7e-ab54-ae9800cae9f9": {
"authors": [
"Sara Migliorini"
],
"date": 1652763671.0,
"duration": 3019232,
"filename": "Lezione n.09 di Lab. Basi di Dati - 17 Maggio 2022 8;30 11;30.mkv",
"is_raw": false,
"name": "Lezione n. 09 di Lab. Basi di Dati - 17 Maggio 2022 8:30 11:30"
},
"b40331e7-0eaf-47c1-9bd8-ade200ddf9d4": {
"authors": [
"Alberto Belussi"
],
"date": 1637055352.0,
"duration": 5725056,
"filename": "Lezione n.12 di Basi di dati - 16 novembre 2021 - 11.30-13.30.mkv",
"is_raw": false,
"name": "Lezione n. 12 di Basi di dati - 16 novembre 2021 - 11.30-13.30"
},
"ba73d437-40cc-4a9d-ab50-adf000957b2e": {
"authors": [
"Alberto Belussi"
],
"date": 1638173310.0,
"duration": 9998976,
"filename": "Lezione n.13 di Basi di dati - 29 novembre 2021 - 10.00-13.00.mkv",
"is_raw": false,
"name": "Lezione n. 13 di Basi di dati - 29 novembre 2021 - 10.00-13.00"
},
"bf1b6bea-7fd4-4ceb-b94c-ae2100eb1d11": {
"authors": [
"Alberto Belussi"
],
"date": 1642511761.175262,
"duration": 5637760,
"filename": "Lezione n.23 di Basi di dati - 18 Gennaio 2022 - 11.30-13.30 (copy).mkv",
"is_raw": false,
"name": "Lezione n. 23 di Basi di dati - 18 Gennaio 2022 - 11.30-13.30 (copy)"
},
"cfd6397a-1427-4e21-8fca-ae2700e7c13d": {
"authors": [
"Alberto Belussi"
],
"date": 1643029427.319328,
"duration": 5245088,
"filename": "Lezione n.24 di Basi di dati - 24 gennaio 2022 - 11.30-13.30 (copy).mkv",
"is_raw": false,
"name": "Lezione n. 24 di Basi di dati - 24 gennaio 2022 - 11.30-13.30 (copy)"
},
"d7e21f97-c2e7-4821-84c3-ae2700e7ae18": {
"authors": [
"Alberto Belussi"
],
"date": 1643029411.066469,
"duration": 5342304,
"filename": "Lezione n.22 di Basi di dati - 17 gennaio 2022 - 11.30-13.30 (copy).mkv",
"is_raw": false,
"name": "Lezione n. 22 di Basi di dati - 17 gennaio 2022 - 11.30-13.30 (copy)"
},
"dadc3c40-46cf-4845-8530-adbe00cd8764": {
"authors": [
"Alberto Belussi"
],
"date": 1633937721.0,
"duration": 5010520,
"filename": "Lezione n.3 di Basi di dati - 11 Ottobre 2021 - 11;30-13;30.mkv",
"is_raw": false,
"name": "Lezione n. 3 di Basi di dati - 11 Ottobre 2021 - 11:30-13:30"
},
"dc1b118e-23bc-413f-8d3b-ae6a00ce3107": {
"authors": [
"Sara Migliorini"
],
"date": 1648791010.0,
"duration": 8596000,
"filename": "Lezione n.32 di Basi di Dati - 1 Aprile 2022 9;30-12;30.mkv",
"is_raw": false,
"name": "Lezione n. 32 di Basi di Dati - 1 Aprile 2022 9:30-12:30"
},
"f77b93d2-178a-42b2-8741-adcd00fd2b38": {
"authors": [
"Alberto Belussi"
],
"date": 1635233709.0,
"duration": 5493344,
"filename": "Lezione n.8 di basi di dati - 26 ottobre 2021 - 11;30-13;30.mkv",
"is_raw": false,
"name": "Lezione n. 8 di basi di dati - 26 ottobre 2021 - 11:30-13:30"
},
"f81fca18-9abc-4abe-8c90-ae9100bfd299": {
"authors": [
"Sara Migliorini"
],
"date": 1652158812.0,
"duration": 5865312,
"filename": "Lezione n.08 di Lab. Basi di Dati - 10 Maggio 2022 8;30 11;30.mkv",
"is_raw": false,
"name": "Lezione n. 08 di Lab. Basi di Dati - 10 Maggio 2022 8:30 11:30"
},
"f88afb4a-b8a4-4410-95fd-adfe008f14cf": {
"authors": [
"Alberto Belussi"
],
"date": 1639388090.0,
"duration": 5179232,
"filename": "Lezione n.17 del 13 dicembre 2021 - 11.30-13.30.mkv",
"is_raw": false,
"name": "Lezione n. 17 del 13 dicembre 2021 - 11.30-13.30"
},
"f9e3dbe2-689d-4282-9fb3-ae9f00bfebf0": {
"authors": [
"Sara Migliorini"
],
"date": 1653368487.0,
"duration": 3477152,
"filename": "Lezione n.10 di Lab. Basi di Dati - 24 Maggio 2022 8;30 11;30.mkv",
"is_raw": false,
"name": "Lezione n. 10 di Lab. Basi di Dati - 24 Maggio 2022 8:30 11:30"
},
"fa8074f1-8c6e-4426-a9dd-aeb30098fe85": {
"authors": [
"Sara Migliorini"
],
"date": 1654578488.0,
"duration": 9922144,
"filename": "Lezione n.12 di Lab. Basi di Dati - 07 Giugno 2022 8;30 12;30.mkv",
"is_raw": false,
"name": "Lezione n. 12 di Lab. Basi di Dati - 07 Giugno 2022 8:30 12:30"
},
"fe1b9dd7-1b23-4667-bd29-add400ffcf85": {
"authors": [
"Alberto Belussi"
],
"date": 1635847623.0,
"duration": 5214272,
"filename": "Lezione n.9 di Basi di dati - 2 Novembre 2021 - 11.30-13.30.mkv",
"is_raw": false,
"name": "Lezione n. 9 di Basi di dati - 2 Novembre 2021 - 11.30-13.30"
}
},
"name": "Basi di dati (2021/2022)",
"search_raws": false,
"skip": false,
"year": 2021
}
},
"options": {
"downloaderVersion": 1591551221
}
}
Output del programma
(panoptosync) E:\lezioni\terzo anno\panopto-sync>python panoptoSync.py sync
Credentials password:
Accepted.
Reading cache...
Traceback (most recent call last):
File "E:\lezioni\terzo anno\panopto-sync\panoptoSync.py", line 102, in <module>
sys.exit(main(sys.argv) or 0)
^^^^^^^^^^^^^^
File "E:\lezioni\terzo anno\panopto-sync\panoptoSync.py", line 62, in main
raise unk
File "E:\lezioni\terzo anno\panopto-sync\panoptoSync.py", line 53, in main
return actions[ARGS.action]()
^^^^^^^^^^^^^^^^^^^^^^
File "E:\lezioni\terzo anno\panopto-sync\panoptoSync.py", line 96, in syncronize
with sync.Synchronizer() as s:
File "E:\lezioni\terzo anno\panopto-sync\core.py", line 656, in __enter__
self.load()
File "E:\lezioni\terzo anno\panopto-sync\sync.py", line 474, in load
self.cache = Cache.read(ARGS.sync_dir)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\lezioni\terzo anno\panopto-sync\cache.py", line 37, in read
crs = Course.from_raw_dict(raw.courses)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\lezioni\terzo anno\panopto-sync\content.py", line 184, in from_raw_dict
pv = cls.new(v)
^^^^^^^^^^
File "E:\lezioni\terzo anno\panopto-sync\content.py", line 94, in new
ret._before_new(ret.__dict__)
File "E:\lezioni\terzo anno\panopto-sync\content.py", line 541, in _before_new
ll = Lesson.from_raw_dict(self.lessons)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\lezioni\terzo anno\panopto-sync\content.py", line 184, in from_raw_dict
pv = cls.new(v)
^^^^^^^^^^
File "E:\lezioni\terzo anno\panopto-sync\content.py", line 94, in new
ret._before_new(ret.__dict__)
File "E:\lezioni\terzo anno\panopto-sync\content.py", line 487, in _before_new
self.__post_init__()
File "E:\lezioni\terzo anno\panopto-sync\content.py", line 499, in __post_init__
for s in self.streams:
TypeError: 'NoneType' object is not iterable
Possibili fix
Per cercare di risolvere l'errore ho fatto due tentativi:
- ho provato a fare un check con
if self.streamsper assicurarmi che non sia None prima di eseguire il ciclo - ho provato ad eliminare il file sync.json per tentare di ricrearlo
Sotto l'ipotesi che forse il programma non era in grado di de-serializzare il file JSON creato con una versione precedente
In entrambi i casi mi esce un altro errore:
Traceback (most recent call last):
File "E:\lezioni\terzo anno\panopto-sync\panoptoSync.py", line 62, in main
raise unk
File "E:\lezioni\terzo anno\panopto-sync\panoptoSync.py", line 53, in main
return actions[ARGS.action]()
^^^^^^^^^^^^^^^^^^^^^^
File "E:\lezioni\terzo anno\panopto-sync\panoptoSync.py", line 96, in syncronize
with sync.Synchronizer() as s:
File "E:\lezioni\terzo anno\panopto-sync\core.py", line 660, in __exit__
self.unload()
File "E:\lezioni\terzo anno\panopto-sync\sync.py", line 525, in unload
self.cache.write()
File "E:\lezioni\terzo anno\panopto-sync\cache.py", line 59, in write
raise ex
File "E:\lezioni\terzo anno\panopto-sync\cache.py", line 54, in write
json.dump(raw.plain(), fo, sort_keys=True, indent="\t")
File "A:\Applications\Scoop\apps\miniconda3\current\envs\panoptosync\Lib\json\__init__.py", line 179, in dump
for chunk in iterable:
File "A:\Applications\Scoop\apps\miniconda3\current\envs\panoptosync\Lib\json\encoder.py", line 432, in _iterencode
yield from _iterencode_dict(o, _current_indent_level)
File "A:\Applications\Scoop\apps\miniconda3\current\envs\panoptosync\Lib\json\encoder.py", line 406, in _iterencode_dict
yield from chunks
File "A:\Applications\Scoop\apps\miniconda3\current\envs\panoptosync\Lib\json\encoder.py", line 406, in _iterencode_dict
yield from chunks
File "A:\Applications\Scoop\apps\miniconda3\current\envs\panoptosync\Lib\json\encoder.py", line 406, in _iterencode_dict
yield from chunks
[Previous line repeated 2 more times]
File "A:\Applications\Scoop\apps\miniconda3\current\envs\panoptosync\Lib\json\encoder.py", line 326, in _iterencode_list
yield from chunks
File "A:\Applications\Scoop\apps\miniconda3\current\envs\panoptosync\Lib\json\encoder.py", line 439, in _iterencode
o = _default(o)
^^^^^^^^^^^
File "A:\Applications\Scoop\apps\miniconda3\current\envs\panoptosync\Lib\json\encoder.py", line 180, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type Stream is not JSON serializable
Al termine dell'esecuzione e' presente un file sync.json.broken nella cartella lessons. Il file si interrompe al primo "meaningful_streams" dopo aver aperto la parentesi quadra.
Questo errore appare quando il programma tenta di memorizzare la cache sul file sync.json.
Ho provato a risolvere anche questo errore e l'unica soluzione che ho trovato che al momento va e':
- installare la libreria
dataclass_wizard - far ereditare a
Streamla classeJSONWizard:from dataclass_wizard import JSONWizard # ... class Stream(JSONWizard):
Siccome questa libreria non dovrebbe fare altro che nascondere la creazione di particolari metodi credo sia possibile in qualche modo rendere serializzabile Stream anche senza la libreria.
Non ho ancora provato a vedere se sia effettivamente possibile: e' la prima volta che vedo questa libreria e non sono esperto di dataclasses