From 5af23c196250c4bfba40c8169be57e977abcb81c Mon Sep 17 00:00:00 2001 From: akaessens <24660231+akaessens@users.noreply.github.com> Date: Wed, 26 Aug 2020 14:25:53 +0200 Subject: [PATCH] use regex to check if URL valid fix querystrings issue, closes #17 --- .../akdev/nofbeventscraper/MainActivity.java | 38 +++++-------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/app/src/main/java/com/akdev/nofbeventscraper/MainActivity.java b/app/src/main/java/com/akdev/nofbeventscraper/MainActivity.java index 570f6f8..c28b439 100644 --- a/app/src/main/java/com/akdev/nofbeventscraper/MainActivity.java +++ b/app/src/main/java/com/akdev/nofbeventscraper/MainActivity.java @@ -17,7 +17,6 @@ import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.ImageView; -import android.widget.Toast; import com.google.android.material.textfield.TextInputLayout; import com.squareup.picasso.Picasso; @@ -30,7 +29,6 @@ import java.time.format.DateTimeFormatter; public class MainActivity extends AppCompatActivity { private Button paste_button; - private Button cancel_button; private Button ok_button; private TextInputEditText field_uri_input; @@ -200,37 +198,22 @@ public class MainActivity extends AppCompatActivity { // check for a valid uri new URL(str).toURI(); - String eventId = null; - - // check for facebook uri - if (str.contains("facebook.com/events/")) { - - // find event id - String[] separated = str.split("/"); - for (int i = 0; i < separated.length; i++) { - if (separated[i].length() > 8 && isNumeric(separated[i])) { - eventId = separated[i]; - break; - } - } - if (eventId == null) // no event id found - { - throw new Exception(); - } - } else { - throw new Exception(); + if (str.matches(".*(facebook.com/events/[0-9]*).*")) { + return str.replaceAll(".*(facebook.com/events/[0-9]*).*", + "https://www.$1"); + } + else { + error("Error: Invalid URL"); + clear(false); + return ""; } - - String input_uri = "https://www.facebook.com/events/" + eventId; - str = input_uri; } catch (Exception e) { e.printStackTrace(); - clear(false); error("Error: Invalid URL"); - str = ""; + clear(false); + return ""; } - return str; } public void startScraping() { @@ -251,7 +234,6 @@ public class MainActivity extends AppCompatActivity { } catch (Exception e) { e.printStackTrace(); - clear(false); error("Error: Invalid URL"); }