-
Notifications
You must be signed in to change notification settings - Fork 0
/
AnalisisSimples.hs
108 lines (76 loc) · 3.06 KB
/
AnalisisSimples.hs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
module AnalisisSimples
(
verInformacion,
abrirNavegador,
verIconoPerfil
) where
import System.Exit
import System.Process
import ParsersArchivos
import TiposDatos
import TiposDatos2
import System.Console.ANSI
verInformacion :: String -> String -> IO()
verInformacion ruta archivo
| archivo == "account.js" = verInformacionAccount (ruta ++"/"++ archivo)
| archivo == "profile.js" = verInformacionProfile (ruta ++"/"++ archivo)
| archivo == "verified.js" = verInformacionVerified (ruta ++"/"++ archivo)
| archivo == "phone-number.js" = verInformacionPhone (ruta ++"/"++ archivo)
verInformacionAccount :: String -> IO()
verInformacionAccount path = do
clearScreen
let account = ParsersArchivos.parseAccount path
account <- account
putStrLn "Esta es la informacion de la cuenta:\nInformacion basica:"
putStrLn $ "\tNombre: "++ accountDisplayName account
putStrLn $ "\tUsuario: "++ username account
putStrLn $ "\tEmail: "++ email account
putStrLn $ "\tTelefono: "++ TiposDatos.phoneNumber account
putStrLn $ "Datos adicionales:\n\tIdentificador de la cuenta: "++ accountId account
putStrLn $ "\tFecha de la creación de la cuenta: "++ createdAt account
putStrLn $ "\tMétodo de creación de la cuenta: "++ createdVia account
verInformacionVerified :: String -> IO()
verInformacionVerified path = do
clearScreen
let verifiedObj = ParsersArchivos.parseVerified path
verifiedObj <- verifiedObj
putStrLn "Esta es la informacion de verificación de su cuenta:\nInformacion basica:"
putStrLn $ "\t¿Esta su cuenta verificada?: "++ if verified verifiedObj then "Sí, ehnorabuena" else "No"
verInformacionProfile :: String -> IO()
verInformacionProfile path = do
clearScreen
let profile = ParsersArchivos.parseProfile path
profile <- profile
let descr = description profile
putStrLn "Esta es la informacion del perfil:"
putStrLn $ "\tBio: "++ bio descr
putStrLn $ "\tWebsite: "++ website descr
putStrLn $ "\tLocation: "++ location descr
putStrLn $ "\tIcono de perfil: "++ avatarMediaUrl profile
verIconoPerfil :: String -> IO()
verIconoPerfil path = do
clearScreen
let profile = ParsersArchivos.parseProfile path
profile <- profile
let url = avatarMediaUrl profile
urlEnFirefox url
putStrLn $ "\tIcono de perfil: "++ url
verInformacionPhone :: String -> IO()
verInformacionPhone path = do
clearScreen
let phoneObj = ParsersArchivos.parsePhone path
phoneObj <- phoneObj
putStrLn $ "Este es el número de teléfono asociado a su cuenta: "++ TiposDatos2.phoneNumber phoneObj
urlEnFirefox :: [Char] -> IO ProcessHandle
urlEnFirefox url = runCommand ("firefox "++url)
abrirNavegador :: String -> String -> IO()
abrirNavegador ruta archivo
| archivo == "account.js" = abrirNavegadorAccount (ruta ++"/"++ archivo)
| archivo == "profile.js" = abrirNavegadorAccount (ruta ++"/"++ archivo)
abrirNavegadorAccount :: String -> IO()
abrirNavegadorAccount path = do
clearScreen
let account = ParsersArchivos.parseAccount path
account <- account
urlEnFirefox $ "twitter.com/"++username account
putStrLn "Abriendo cuenta en el navegador."