Compare commits
No commits in common. "7e6cbb3c435b2d5ced4ab1683065e73552ec0378" and "194ab5e1f97f5051d2f372d6f41a86928750bab3" have entirely different histories.
7e6cbb3c43
...
194ab5e1f9
2
html.lua
2
html.lua
|
@ -1,4 +1,4 @@
|
|||
local logger = require("logging")
|
||||
local logger = require(".logging")
|
||||
|
||||
local function trim(str)
|
||||
return str:match("^%s*(.-)%s*$")
|
||||
|
|
34
main.lua
34
main.lua
|
@ -1,9 +1,9 @@
|
|||
#!/bin/env lua
|
||||
|
||||
local HTML = require("html")
|
||||
local CSS = require("css")
|
||||
local HTML = require(".html")
|
||||
local CSS = require(".css")
|
||||
|
||||
local logger = require("logging")
|
||||
local logger = require(".logging")
|
||||
|
||||
|
||||
|
||||
|
@ -24,17 +24,11 @@ local function print_usage()
|
|||
logger.print(" -1, --first-only: return only the first match")
|
||||
logger.print(" -e, --errors: print warnings")
|
||||
logger.print(" -t, --text: Print only the innerText of the matched elements")
|
||||
os.exit(1)
|
||||
end
|
||||
|
||||
|
||||
|
||||
local RETURN_CODES = {
|
||||
OK = 0,
|
||||
NOTHING_FOUND = 1,
|
||||
ARGUMENTS_ERROR = 2,
|
||||
FAILED_INPUT = 3,
|
||||
}
|
||||
|
||||
|
||||
|
||||
local FLAGS = {
|
||||
|
@ -60,7 +54,7 @@ local SHORTHAND_FLAGS = {
|
|||
if #arg < 2 then
|
||||
logger.printerr("Error: Not enough arguments")
|
||||
print_usage()
|
||||
os.exit( RETURN_CODES.ARGUMENTS_ERROR )
|
||||
os.exit(1)
|
||||
end
|
||||
|
||||
local flags = {}
|
||||
|
@ -72,7 +66,7 @@ for _, argument in ipairs(arg) do
|
|||
if not SHORTHAND_FLAGS[letter] then
|
||||
logger.printerr("Unknown flag: -"..letter..".")
|
||||
print_usage()
|
||||
os.exit( RETURN_CODES.ARGUMENTS_ERROR )
|
||||
os.exit(1)
|
||||
end
|
||||
|
||||
local flag = SHORTHAND_FLAGS[letter]
|
||||
|
@ -88,7 +82,7 @@ for _, argument in ipairs(arg) do
|
|||
if not LONGHAND_FLAGS[flagname] then
|
||||
logger.printerr("Unknown flag: --"..flagname..".")
|
||||
print_usage()
|
||||
os.exit( RETURN_CODES.ARGUMENTS_ERROR )
|
||||
os.exit(1)
|
||||
end
|
||||
|
||||
local flag = LONGHAND_FLAGS[flagname]
|
||||
|
@ -112,7 +106,7 @@ end
|
|||
if #positionals > 2 then
|
||||
logger.printerr("Error: too many arguments !")
|
||||
print_usage()
|
||||
os.exit( RETURN_CODES.ARGUMENTS_ERROR )
|
||||
os.exit(1)
|
||||
end
|
||||
|
||||
local html_file = positionals[1]
|
||||
|
@ -121,13 +115,13 @@ local html = nil
|
|||
if html_file ~= "-" then
|
||||
if not( file_exists( html_file )) then
|
||||
logger.printerr("File doesn't exist: " .. html_file)
|
||||
os.exit( RETURN_CODES.FAILED_INPUT )
|
||||
os.exit(2)
|
||||
end
|
||||
|
||||
local handle = io.open( html_file, "r" )
|
||||
if not handle then
|
||||
logger.printerr("Failed to open file " .. html_file)
|
||||
os.exit( RETURN_CODES.FAILED_INPUT )
|
||||
os.exit(2)
|
||||
end
|
||||
|
||||
html = handle:read("a")
|
||||
|
@ -216,22 +210,20 @@ end
|
|||
|
||||
|
||||
|
||||
if #elements == 0 then
|
||||
os.exit( RETURN_CODES.NOTHING_FOUND )
|
||||
end
|
||||
|
||||
|
||||
if flags[FLAGS.FIRST_ONLY] then
|
||||
if #elements > 0 then
|
||||
|
||||
if flags[FLAGS.INNER_TEXT] then
|
||||
logger.print( elements[1]:inner_text() )
|
||||
os.exit( RETURN_CODES.OK )
|
||||
os.exit(0)
|
||||
end
|
||||
|
||||
logger.print( HTML.tostring( elements[1] ) )
|
||||
end
|
||||
|
||||
os.exit( RETURN_CODES.OK )
|
||||
os.exit(0)
|
||||
end
|
||||
|
||||
for _, el in ipairs(elements) do
|
||||
|
|
Loading…
Reference in New Issue