Last active
October 1, 2018 07:20
-
-
Save haritak/0e3a439b60ba760b451f8023e233fcfe to your computer and use it in GitHub Desktop.
Simple sch.gr account parser
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
last_name = "" | |
first_name = "" | |
parent_name = "" | |
user_name = "" | |
password = "" | |
users = [] | |
File.open("output.html").each do |line| | |
if line =~ /.*Επίθετο:.*>([Α-Ω ()A-ZΪΫ\-]+)<.*/ | |
last_name = $1.gsub(",","") | |
elsif line =~ /.*Όνομα:.*>([Α-Ω ()A-ZΫΪ\-]+)<.*/ | |
first_name = $1.gsub(",","") | |
elsif line =~ /.*Κηδεμόνας:.*>([Α-Ω ()A-ZΪΫ\-]+)<.*/ | |
parent_name = $1.gsub(",","") | |
elsif line =~ /.*Ονομα Χρήστη.*>([a-z0123456789 ]+)<.*/ | |
user_name = $1.gsub(",","") | |
elsif line =~ /.*Κωδικός πρόσβασης.*<td><b>(.+)<\\\/b>.*/ | |
password = $1.gsub(",","") | |
elsif line =~ /.*table><br>';.*/ | |
users << { last_name: last_name.strip, | |
first_name: first_name.strip, | |
parent_name: parent_name.strip, | |
user_name: user_name.strip, | |
password: password.strip } | |
last_name = first_name = password = parent_name = user_name = "" | |
end | |
end | |
puts "Όνομα χρήστη,UID,Κύρια ομάδα,Όνομα κύριας ομάδας,Ονοματεπώνυμο,Γραφείο,Τηλ. γραφείου,Τηλ. οικίας,Άλλο,Κατάλογος,Κέλυφος,Ομάδες,Τελευταία αλλαγή κωδικού,Ελάχιστη διάρκεια,Μέγιστη διάρκεια,Προειδοποίηση,Ανενεργός,Λήξη,Κρυπτογραφημένος κωδικός,Κωδικός" | |
users.each do |user| | |
puts "#{user[:user_name]},,,,#{user[:last_name]} #{user[:first_name]} του #{user[:parent_name]},,,,,,/bin/bash,,,,,,,,,#{user[:password]}" | |
if user[:last_name]=="" or | |
user[:first_name]=="" or | |
user[:parent_name] == "" or | |
user[:user_name] == "" or | |
user[:password] == "" | |
raise "Error in the above student" | |
end | |
end | |
#puts "#{users.length} lines detected" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment