buypeeb-cs/BuypeebApp.cs

37 lines
1.0 KiB
C#

using System;
using System.Text.RegularExpressions;
using GLib;
using Application = Gtk.Application;
namespace Buypeeb {
internal class BuypeebApp {
[STAThread]
public static void Main(string[] args) {
Application.Init();
var app = new Application("space.lynnesbian.Buypeeb", ApplicationFlags.None);
app.Register(Cancellable.Current);
var win = new MainWindow();
app.AddWindow(win);
win.Show();
Application.Run();
}
// ReSharper disable once InconsistentNaming
// i prefer "IDFromURL" to "IdFromUrl". also i will never forgive microsoft for the name of XmlHTTPRequest and you
// may consider this an act of spite/revenge
public static string IDFromURL(string url) {
// TODO: handle invalid URLs better, or at all really
var rx = new Regex(@"^([^?#]+)");
url = rx.Match(url).Groups[1].Value; // remove query params (if any)
rx = new Regex(@".+\/(.+?)/?$");
var id = rx.Match(url).Groups[1].Value; // extracts "k12345" from "https://buypeeb.biz/whatever/k12345/"
return id;
}
}
}