We made this project out of interest of further improving our Python programming skills and using them to create something that could possibly assist in a real world application.
What it does
Our program takes in two inputs: the threading time and the command. The command can either be a URL, "remove" command, or "EXIT" command. If it is a potential URL, then the program compares it using regex and determines whether it is of the right format or not. If it is not of the right format, then a message is printed to the stderr saying that the URL is invalid. If it is of the right format, the program adds the web address to a list of URLs. Each entry in that list are pinged after an interval specified by the threading time. If the ping gets a response, then the website is active, otherwise the website is down. This pinging mechanism is achieved by utilizing sockets. If the command is "remove" then another prompt shows up that takes in the URL of the web address to be removed form the list. If the command is "EXIT" then the program terminates.
How we built it
We built the program using Python and vim on our school servers. We made use of additional libraries like socket, sys, threading and re, and also made use of data structures.
Challenges we ran into
The major challenges that we ran into involved using libraries that we were not familiar with at all and figuring out how to use them to get to our end goal.
Accomplishments that we are proud of
We are really proud of how we were able to brainstorm a project, divide the work, and come up with a working back-end model of it, all within 12 hours.
What's next for Vacant Website Finder
The next thing for Vacant Website Finder would be to model its front-end so that the pinging activity log occurs in a separate tab to clean up the UI.