Skip to content

Instantly share code, notes, and snippets.

@haritak
Last active October 1, 2018 07:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save haritak/0e3a439b60ba760b451f8023e233fcfe to your computer and use it in GitHub Desktop.
Save haritak/0e3a439b60ba760b451f8023e233fcfe to your computer and use it in GitHub Desktop.
Simple sch.gr account parser
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