Skip to content

Instantly share code, notes, and snippets.

View vmandic's full-sized avatar
🤠
chillin'

Vedran Mandić vmandic

🤠
chillin'
View GitHub Profile
@vmandic
vmandic / C# LINQ Eurekas in range
Last active May 31, 2018 21:06
Gets double Eureka numbers for a range from a to b.
public static IEnumerable<double> Eurekas(double a, double b)
{
for (;a <= b;a++)
if (a.ToString().Select((c, i) => Math.Pow(Char.GetNumericValue(c), i + 1)).Sum() == a)
yield return a;
}
@vmandic
vmandic / batch install vscode extensions
Created July 25, 2018 14:08
Batch install vscode extensions with PowerShell
# Script for batch installing Visual Studio Code extensions
# Specify extensions to be checked & installed by modifying $extensions
$extensions =
"DotJoshJohnson.xml",
"EditorConfig.EditorConfig",
"HookyQR.beautify",
"Leopotam.csharpfixformat",
"ecmel.vscode-html-css",
"formulahendry.auto-close-tag",
@vmandic
vmandic / cloudSettings
Last active June 23, 2020 12:25
Visual Studio Code Settings Sync Gist
{"lastUpload":"2020-06-23T12:25:19.840Z","extensionVersion":"v3.4.3"}
@vmandic
vmandic / AppController.cs
Last active October 12, 2018 12:08
meds-processor, Part 1/6, snippet #1
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
namespace MedsProcessor.WebAPI.Controllers
{
[ApiController, Route("~/")]
public class AppController : ControllerBase
{
public ActionResult Index()
@vmandic
vmandic / HzzoHtmlScraper.cs
Created October 13, 2018 16:01
meds-processor, part 1 of 6, snippet 2
using AngleSharp;
namespace MedsProcessor.Scraper
{
public class HzzoHtmlScraper
{
readonly IBrowsingContext _browsingContext;
public HzzoHtmlScraper(IBrowsingContext browsingContext)
{
@vmandic
vmandic / ServiceCollectionExtensions.cs
Created October 13, 2018 17:49
meds-processor, part 1 of 6, snippet 3
using AngleSharp;
using Microsoft.Extensions.DependencyInjection;
namespace MedsProcessor.Scraper
{
public static class ServiceCollectionExtensions
{
public static IServiceCollection AddAngleSharp(this IServiceCollection services) =>
services.AddSingleton(BrowsingContext.New(
AngleSharp.Configuration.Default.WithDefaultLoader()));
@vmandic
vmandic / Startup.cs
Created October 13, 2018 17:53
meds-processor, part 1 of 6, snippet 4
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using MedsProcessor.Scraper;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
@vmandic
vmandic / HzzoHtmlScraper.cs
Created October 13, 2018 18:12
meds-processor, part 1 of 6, snippet 5
public async Task<ISet<HzzoMedsDownloadDto>> Run()
{
var htmlDocs = await DownloadHtmlDocuments();
var parsedDocs = ParseHtmlDocuments(htmlDocs);
return parsedDocs;
}
@vmandic
vmandic / HzzoHtmlScraper.cs
Created October 13, 2018 18:15
meds-processor, part 1 of 6, snippet 6
Task<IDocument[]> DownloadHtmlDocuments() =>
Task.WhenAll(
_browsingContext.OpenAsync(CURRENT_LISTS_URL),
_browsingContext.OpenAsync(ARCHIVE_LISTS_URL)
);
@vmandic
vmandic / Constants.cs
Created October 13, 2018 18:18
meds-processor, part 1 of 6, snippet 7
namespace MedsProcessor.Common
{
public static class Constants
{
public const string CURRENT_LISTS_URL = "http://www.hzzo.hr/zdravstveni-sustav-rh/trazilica-za-lijekove-s-vazecih-lista/";
public const string ARCHIVE_LISTS_URL = "http://www.hzzo.hr/zdravstveni-sustav-rh/trazilica-za-lijekove-s-vazecih-lista/arhiva-liste-lijekova/";
public const string DOWNLOAD_DIR = "";
}
}