YetAnotherPacketParser 1.2.1
dotnet add package YetAnotherPacketParser --version 1.2.1
NuGet\Install-Package YetAnotherPacketParser -Version 1.2.1
<PackageReference Include="YetAnotherPacketParser" Version="1.2.1" />
<PackageVersion Include="YetAnotherPacketParser" Version="1.2.1" />
<PackageReference Include="YetAnotherPacketParser" />
paket add YetAnotherPacketParser --version 1.2.1
#r "nuget: YetAnotherPacketParser, 1.2.1"
#addin nuget:?package=YetAnotherPacketParser&version=1.2.1
#tool nuget:?package=YetAnotherPacketParser&version=1.2.1
Yet Another Packet Parser
Introduction
Yet Another Packet Parser (YAPP) is a parser for quiz bowl packets written in C#. Some of its features are
- Converts packets in a docx or HTML file to JSON or HTML
- MODAQ can read the JSON packets it outputs
- Can convert each packet in a zip file
- Specific error messages that give a line number and text near where the parser failed
You can try out a simple demo of the parser here.
Usage
Command-line program
The command line program takes in a docx file and writes it to another file (by default, JSON)
YetAnotherPacketParserCommandLine.exe -i C:\qbsets\packet1.docx -o C:\qbsets\packet1.json
If you want to output it to an HTML file, set the format to html
YetAnotherPacketParserCommandLine.exe -i C:\qbsets\packet1.docx -o C:\qbsets\packet1.json -f html
To see the list of all flags, run
YetAnotherPacketParserCommandLine.exe --help
Library
YAPP comes with a C# library that is consumable through Nuget. You need to get the stream to the file and set the right compiler options, then call PacketConverter.ConvertPackets
. For example, to convert a packet to HTML, you can use something like
IPacketConverterOptions packetCompilerOptions = new HtmlPacketCompilerOptions()
{
StreamName = "packet1.html",
PrettyPrint = options.PrettyPrint
};
IEnumerable<ConvertResult> results;
using (FileStream fileStream = new FileStream("C:\\qbsets\\packet1.docx", FileMode.Open, FileAccess.Read, FileShare.Read))
{
results = await PacketConverter.ConvertPacketsAsync(fileStream, packetCompilerOptions);
}
ConvertResult compileResult = outputResults.First();
if (!compileResult.Result.Success)
{
Console.Error.WriteLine(compileResult.Result);
return;
}
File.WriteAllText(options.Output, compileResult.Result.Value);
Note that the method can take in a zip file too, and it will return all of the packets it attempted to parse.
Development
Requirements:
- .Net 6 SDK
- If using Visual Studio, you need at least Visual Studio 2017.5
- Nuget packages should be automatically downloaded by running
dotnet build
or throughdotnet restore
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net6.0
- DocumentFormat.OpenXml (>= 2.20.0)
- HtmlSanitizer (>= 8.0.865)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.2.1 | 144 | 6/16/2024 |
1.2.0 | 126 | 3/12/2024 |
1.1.1 | 151 | 12/23/2023 |
1.1.0 | 176 | 6/23/2023 |
1.0.1 | 190 | 4/15/2023 |
1.0.0 | 479 | 4/18/2022 |
0.4.2 | 330 | 11/30/2021 |
0.4.1 | 412 | 11/14/2021 |
0.4.0 | 361 | 11/12/2021 |
0.3.0 | 459 | 10/10/2021 |
0.2.3 | 487 | 7/10/2021 |
0.2.1 | 402 | 3/21/2021 |
0.2.0 | 373 | 2/15/2021 |
0.1.1 | 379 | 1/17/2021 |
0.1.0 | 371 | 1/16/2021 |