static void Main(string[] arguments) { dsc = new HlidacStatu.Api.Dataset.Connector.DatasetConnector( System.Configuration.ConfigurationManager.AppSettings["apikey"] ); args = arguments .Select(m => m.Split('=')) .ToDictionary(m => m[0].ToLower(), v => v.Length == 1 ? "" : v[1]); if (args.ContainsKey("/debug")) { Parse.parallel = false; } int?from = null; if (args.ContainsKey("/from")) { from = int.Parse(args["/from"]); } //create dataset var dsDef = new HlidacStatu.Api.Dataset.Connector.Dataset <jednani>( "Jednání vlády ČR", Parse.datasetname, "https://apps.odok.cz/zvlady", "Databáze \"Jednání vlády\" zobrazuje a umožňuje prohledávat veřejnosti programy jednání vlády, záznamy, usnesení a uveřejňované materiály pro jednání vlády, nepodléhají-li režimu utajení.", "https://github.com/HlidacStatu/Datasety/tree/master/jednani-vlady", true, false, new string[, ] { { "Datum jednání", "datum" } }, new Template() { Body = @" <!-- scriban {{ date.now }} --> <table class='table table-hover'> <thead> <tr> <th style='min-width:120px'>Detail</th> <th style='min-width:120px'>Datum jednání</th> <th>Obsah bodu</th> </tr> </thead> <tbody> {{ for item in model.Result }} <tr> <td ><a href='{{ fn_DatasetItemUrl item.Id }}'>{{ item.bod }}</a></td> <td>{{ fn_FormatDate item.datum 'dd. MM. yyyy' }}</td> <td >{{ item.vec }}</td> </tr> {{ end }} </tbody></table> " }, new Template() { Body = @" {{this.item = model}} <table class=""table table-hover""><tbody> <tr><td>Datum jednání</td><td >{{ item.datum }}</td></tr> <tr><td>Bod jednání</td><td >{{ item.bod }}</a></td></tr> {{ if !(fn_IsNullOrEmpty item.cisloJednaci) }} <tr><td>Číslo jednací</td><td >{{ item.cisloJednaci }}</td></tr> {{end }} <tr><td>Obsah projednáváného bodu</td><td >{{ item.vec }}</td></tr> {{ if item.dokumenty.size > 0 }} <tr><td>Projednávané dokumenty</td><td > <ul> {{ for doc in item.dokumenty }} <li> {{ doc.jmeno }} - {{fn_LinkTextDocumentWithHighlighting doc ""jednani-vlady"" item.Id ""Obsah dokumentu"" highlightingData }} </li> {{ end }} </ul> <div class=""text-muted small"">Vláda uveřejňuje dokumenty obvykle ve dvou formátech (DOC a PDF). Pro úplnost zpracováváme obě verze souboru, i když jsou obvykle shodné</div> </td></tr> {{end }} {{ if item.souvisejici.size > 0 }} <tr><td>Související usnesení a dokumenty</td><td > <ul> {{ for doc in item.souvisejici }} <li> Toto usnesení {{ doc.zmena }} {{ if fn_IsNullOrEmpty doc.usneseniCislo }} {{ doc.usneseni }} {{ else }} <a href=""https://www.hlidacstatu.cz/data/Hledat/jednani-vlady?Q=cisloJednaci.keyword:{{ string.replace doc.usneseniCislo ""/20"" ""%2F"" }}""> {{ doc.usneseni }}</a> {{ end }} </li> {{ end }} </ul> </td></tr> {{end }} </table> " } ); //dsc.DeleteDataset(dsDef).Wait(); if (!dsc.DatasetExists(dsDef).Result) { dsc.CreateDataset(dsDef).Wait(); } //Parse.ParseUsneseni(new DateTime(2019,8,26), "624"); //var js = Parse.ParseAgenda("2020-03-16"); //IEnumerable<jednani> js = new jednani[] { }; //js = Parse.ParseAgenda("2020-02-17"); ///var ids = js.Select(m => m.Id).Distinct().ToArray(); //if (ids.Count() != js.Count()) //{ // System.Diagnostics.Debugger.Break(); //} Parse.DownloadAllData(dsc, from); }
static void Main(string[] arguments) { dsc = new HlidacStatu.Api.Dataset.Connector.DatasetConnector( System.Configuration.ConfigurationManager.AppSettings["apikey"] ); args = arguments .Select(m => m.Split('=')) .ToDictionary(m => m[0].ToLower(), v => v.Length == 1 ? "" : v[1]); if (args.ContainsKey("/?") || args.ContainsKey("/h")) { Console.WriteLine("Tiskove konference vlady downloader"); Console.WriteLine("[/h] [/daysback=] [/from=yyyy-MM-dd]"); return; } if (args.ContainsKey("/debug")) { Parse.parallel = false; } DateTime?from = null; if (args.ContainsKey("/daysback")) { var db = int.Parse(args["/daysback"]); from = DateTime.Now.Date.AddDays(-1 * db); } if (args.ContainsKey("/from")) { from = DateTime.ParseExact(args["/from"], "yyyy-MM-dd", System.Globalization.CultureInfo.GetCultureInfo("en-US"), System.Globalization.DateTimeStyles.AssumeLocal); } //create dataset var dsDef = new HlidacStatu.Api.Dataset.Connector.Dataset <zapis>( "Tiskové konference vlády ČR", Parse.datasetname, startUrl, "Zápisy z tiskových konferencí vlády ČR.", "https://github.com/HlidacStatu/Datasety/tree/master/Tiskove-konference-vlady-CR", true, false, new string[, ] { { "Datum jednání", "datum" } }, new Template() { Body = @"<table class='table table-hover' > <tbody> {{for item in model.Result }} <tr> <td style='white-space: nowrap;'> <a href='{{fn_DatasetItemUrl item.Id}}' >Kompletní přepis </a> </td> <td style='white-space: nowrap;' > {{ fn_FormatDate item.datum 'd. MMMM yyy'}} </td> <td > {{item.nazev}} </td> <td > {{item.nazev}} </td> <td>{{fn_Pluralize item.vstupy 'přepis není dostupný' 'jeden vstup' '{0} vstupy' '{0} vstupů' }}</td> <td> {{string.to_long item.celkovyPocetSlov | math.divided_by 200 | fn_Pluralize 'do minuty' 'minuta' '{0} minuty' '{0} minut' }} </td> </tr> {{end}} </tbody> </table>" }, new Template() { Body = @" {{this.item = model}} Pripravuje se " } ); //dsc.DeleteDataset(dsDef).Wait(); if (!dsc.DatasetExists(dsDef).Result) { dsc.CreateDataset(dsDef).Wait(); } Parse.DownloadAllData(dsc, from); }
static void Main(string[] arguments) { dsc = new HlidacStatu.Api.Dataset.Connector.DatasetConnector(apikey); //dsc.SetDeveleperUrl("http://local.hlidacstatu.cz/api/v1/"); args = arguments .Select(m => m.Split('=')) .ToDictionary(m => m[0].ToLower(), v => v.Length == 1 ? "" : v[1]); if (args.ContainsKey("/debug")) { Parse.parallel = false; } int?from = null; if (args.ContainsKey("/from")) { from = int.Parse(args["/from"]); } //create dataset var dsDef = new HlidacStatu.Api.Dataset.Connector.Dataset <jednani>( "Jednání výborů PSP", Parse.datasetname, "https://www.psp.cz/sqw/hp.sqw?k=194", "Databáze neutajených jednání výborů Poslanecké sněmovny Parlamentu České republiky. Zápisy, audio záznamy, usnesení a další dokumenty, které nepodléhají režimu utajení.", "https://github.com/HlidacStatu/Datasety/tree/master/Vybory-PSP", true, true, new string[, ] { { "Datum jednání", "datum" }, { "Výboru", "vybor" } }, new Template() { Body = @" <!-- scriban {{ date.now }} --> <table class='table table-hover'> <thead> <tr> <th style='min-width:120px'>Jednání</th> <th style='min-width:120px'>Výbor</th> <th style='min-width:120px'>Datum jednání</th> </tr> </thead> <tbody> {{ for item in model.Result }} <tr> <td ><a href='{{ fn_DatasetItemUrl item.Id }}'>č. {{ item.cisloJednani }}</a></td> <td >{{ item.vybor }}</td> <td>{{ fn_FormatDate item.datum 'dd. MM. yyyy' }}</td> </tr> {{ end }} </tbody></table> " }, new Template() { Body = @" {{this.item = model}} <table class='table table-hover'><tbody> <tr><td>Datum jednání</td><td >{{ fn_FormatDate item.datum 'd. MMMM yyyy' }}</td></tr> <tr><td>Číslo jednání</td><td >{{ item.cisloJednani }}</a></td></tr> {{ if !(fn_IsNullOrEmpty item.vec) }} <tr><td>Téma</td><td >{{ item.vec }}</td></tr> {{end }} {{ if item.dokumenty.size > 0 }} {{ zapis = '' for doc in item.dokumenty if (string.contains doc.typ 'Zápis') zapis = zapis + doc.DocumentPlainText end end if ( (fn_IsNullOrEmpty zapis) == false ) }} <tr><td style='vertical-align:top;'>Zápis z jednání</td> <td> <div class='panel-body'> <pre style='font-size:90%;background:none;line-height:1.6em;'> {{ fn_HighlightText highlightingData zapis 'dokumenty.DocumentPlainText' | string.replace '\n' '\n\n' }} </pre> </div> </td></tr> {{ end }} <tr><td>Projednávané dokumenty</td><td> <ul> {{ for doc in item.dokumenty }} <li> {{ doc.jmeno }} - {{fn_LinkTextDocumentWithHighlighting doc 'Vybory-PSP' item.Id 'Obsah dokumentu' highlightingData }} </li> {{ end }} </ul> </td></tr> {{end }} {{ if item.audio.size > 0 }} <tr><td>Zvukové záznamy</td><td > <ul> {{ for doc in item.audio }} <li> <a href='{{ doc.DocumentUrl }}'> {{ doc.jmeno }}</a> {{ end }} </li> {{ end }} </ul> </td></tr> {{end }} </table> " } ); //dsc.DeleteDataset(dsDef).Wait(); if (!dsc.DatasetExists(dsDef).Result) { dsc.CreateDataset(dsDef).Wait(); } //download vybory Parse.InitVybory(); //int idVyboru = 500; foreach (var idVyboru in Parse.Vybory.Keys) { Parse.Vybor(dsc, idVyboru); } }