public async Task ExportSiteLinksAction(JObject options) { var sourceDump = (string)options["dumpFile"]; var exporter = new DataModulesExporter(logger) { ClientSiteName = (string)options["clientSiteName"] }; var shards = (int?)options["shards"] ?? 1; var destDir = (string)options["exportDirectory"]; if (destDir != null) { using (var mf = new FileSystemLuaModuleFactory(destDir)) using (var dumpReader = File.OpenText(sourceDump)) { await exporter.ExportSiteLinksAsync(dumpReader, mf, shards); await mf.ShutdownAsync(); } } var destSite = (string)options["exportSite"]; if (destSite != null) { using (var mf = new WikiSiteLuaModuleFactory(await mwSiteProvider.GetSiteAsync(destSite), (string)options["exportSitePrefix"], logger)) using (var dumpReader = File.OpenText(sourceDump)) { await exporter.ExportSiteLinksAsync(dumpReader, mf, shards); await mf.ShutdownAsync(); } } }
public async Task ExportItemsAction(JObject options) { var sourceDump = (string)options["dumpFile"]; var exporter = new DataModulesExporter(logger) { Languages = options["languages"]?.ToObject <IList <string> >(), }; var destDir = (string)options["exportDirectory"]; if (destDir != null) { using (var mf = new FileSystemLuaModuleFactory(destDir)) using (var dumpReader = File.OpenText(sourceDump)) { await exporter.ExportItemsAsync(dumpReader, mf); await mf.ShutdownAsync(); } } var destSite = (string)options["exportSite"]; if (destSite != null) { using (var mf = new WikiSiteLuaModuleFactory(await mwSiteProvider.GetSiteAsync(destSite), (string)options["exportSitePrefix"], logger)) using (var dumpReader = File.OpenText(sourceDump)) { await exporter.ExportItemsAsync(dumpReader, mf); await mf.ShutdownAsync(); } } }