Exemplo n.º 1
0
    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();
                }
        }
    }
Exemplo n.º 2
0
    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();
                }
        }
    }