cross-posted from: https://lemmy.nz/post/4294116

I have a file with content like this:

item({
     ["attr"] = {
        ["size"] = "62091";
        ["filename"] = "qBuUP9-OTfuzibt6PQX4-g.jpg";
        ["stamp"] = "2023-12-05T19:31:37Z";
        ["xmlns"] = "urn:xmpp:http:upload:0";
        ["content-type"] = "image/jpeg";
     };
     ["key"] = "Wa4AJWFldqRZjBozponbSLRZ";
     ["with"] = "email@address";
     ["when"] = 1701804697;
     ["name"] = "request";
});

I need to know what format this is, and if there exists a tool in linux already to parse this or if I need to write one myself?

Thanks!

  • vrighter
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    the code is constructing a table, and passing it to a function called item. But if all you need is the data, you can just remove the function call and assign the table to a variable like so: local myvar = {…}.

    then you can just manipulate the table as usual.

    • ∟⊔⊤∦∣≶@lemmy.nzOP
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      Unfortunately, this sequence is repeated many many times, so I would need to do a for-each and construct a new table for each inner section…

      There’s gotta be a better way. Time to read the source code and hijack whatever item() is doing.

    • vrighter
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      1 year ago

      actually those semicolons indicate this isn’t actually lua, they are invalid in table constructors afaik