buypeeb-cs/BuypeebApp.cs

37 lines
1.0 KiB
C#
Raw Normal View History

using System;
2020-09-02 03:21:32 +00:00
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();
}
2020-09-02 03:21:32 +00:00
// 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
2020-09-02 03:21:32 +00:00
public static string IDFromURL(string url) {
// TODO: handle invalid URLs better, or at all really
var rx = new Regex(@"^([^?#]+)");
2020-09-02 03:21:32 +00:00
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/"
2020-09-02 03:21:32 +00:00
return id;
}
}
}