#!/usr/bin/env lua
|
|
-- --- SDE-COPYRIGHT-NOTE-BEGIN ---
|
|
-- This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
|
--
|
|
-- Filename: lib/lua/parse-desc.lua
|
|
-- Copyright (C) 2008 The OpenSDE Project
|
|
-- Copyright (C) 2005 - 2006 The T2 SDE Project
|
|
--
|
|
-- More information can be found in the files COPYING and README.
|
|
--
|
|
-- This program is free software; you can redistribute it and/or modify
|
|
-- it under the terms of the GNU General Public License as published by
|
|
-- the Free Software Foundation; version 2 of the License. A copy of the
|
|
-- GNU General Public License can be found in the file COPYING.
|
|
-- --- SDE-COPYRIGHT-NOTE-END ---
|
|
|
|
-- try this:
|
|
--
|
|
-- this file looks quite complicated already, but a comparsion to grep might help:
|
|
--
|
|
-- time lua lib/lua/parse-desc.lua package/base/*/*.desc > /dev/null
|
|
-- time grep "^[[]" package/base/*/*.desc > /dev/null
|
|
--
|
|
|
|
require "lib/lua/sde/desc"
|
|
|
|
if #arg < 1 then
|
|
print("Usage: lua lib/lua/parse-desc.lua [path-to-desc-file]")
|
|
os.exit(1)
|
|
end
|
|
|
|
function printf(...)
|
|
io.write(string.format(unpack(arg)))
|
|
end
|
|
|
|
|
|
-- parse all files
|
|
pkgs = {}
|
|
for i,file in ipairs(arg) do
|
|
if i > 0 then
|
|
_,_,repo,pkg = string.find(file, "package/([^/]*)/([^/]*)/*");
|
|
|
|
-- put all parsed files into a table
|
|
pkgs[pkg] = desc.parse(file)
|
|
end
|
|
end
|
|
|
|
-- output
|
|
for pkg,tab in pairs(pkgs) do
|
|
printf("Package %s:\n", pkg);
|
|
|
|
for k,v in pairs(tab) do
|
|
if type(v) == "table" then
|
|
printf(" %s: %s\n", k, table.concat(v,"\n "));
|
|
else
|
|
printf(" %s: %s\n", k, v);
|
|
end
|
|
end
|
|
end
|