【重构】重构cfg记录tags处理
parent
4876baabf7
commit
dd5bae123f
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
制作本地化映射表
|
||||
|
||||

|
||||

|
||||
|
||||
映射到英语后的导出数据(只截取了部分数据)为
|
||||
```json
|
||||
|
|
|
|||
|
|
@ -690,9 +690,9 @@ namespace Luban.Job.Cfg.DataSources.Excel
|
|||
{
|
||||
foreach (var recordNamedRow in NamedRow.CreateMultiRowNamedRow(this._rowColumns, this._rootTitle, type))
|
||||
{
|
||||
bool isTest = DataUtil.IsTestTag(GetRowTag(recordNamedRow.Rows[0]));
|
||||
var tags = DataUtil.ParseTags(GetRowTag(recordNamedRow.Rows[0]));
|
||||
var data = (DBean)ExcelNamedRowDataCreator.Ins.ReadExcel(recordNamedRow, type);
|
||||
yield return new Record(data, RawUrl, isTest);
|
||||
yield return new Record(data, RawUrl, tags);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ namespace Luban.Job.Cfg.DataSources.Json
|
|||
|
||||
public override Record ReadOne(TBean type)
|
||||
{
|
||||
bool isTest = false;
|
||||
List<string> tags;
|
||||
if (_data.TryGetProperty(TAG_KEY, out var tagEle))
|
||||
{
|
||||
var tagName = tagEle.GetString();
|
||||
|
|
@ -35,11 +35,15 @@ namespace Luban.Job.Cfg.DataSources.Json
|
|||
{
|
||||
return null;
|
||||
}
|
||||
isTest = DataUtil.IsTestTag(tagName);
|
||||
tags = DataUtil.ParseTags(tagName);
|
||||
}
|
||||
else
|
||||
{
|
||||
tags = null;
|
||||
}
|
||||
|
||||
var data = (DBean)type.Apply(JsonDataCreator.Ins, _data, (DefAssembly)type.Bean.AssemblyBase);
|
||||
return new Record(data, RawUrl, isTest);
|
||||
return new Record(data, RawUrl, tags);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,8 +53,8 @@ namespace Luban.Job.Cfg.DataSources.Lua
|
|||
return null;
|
||||
}
|
||||
var data = (DBean)type.Apply(LuaDataCreator.Ins, table, (DefAssembly)type.Bean.AssemblyBase);
|
||||
var isTest = DataUtil.IsTestTag(tagName);
|
||||
return new Record(data, RawUrl, isTest);
|
||||
var tags = DataUtil.ParseTags(tagName);
|
||||
return new Record(data, RawUrl, tags);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,8 +33,8 @@ namespace Luban.Job.Cfg.DataSources.Xml
|
|||
return null;
|
||||
}
|
||||
var data = (DBean)type.Apply(XmlDataCreator.Ins, _doc, (DefAssembly)type.Bean.AssemblyBase);
|
||||
bool isTest = DataUtil.IsTestTag(tagName);
|
||||
return new Record(data, RawUrl, isTest);
|
||||
var tags = DataUtil.ParseTags(tagName);
|
||||
return new Record(data, RawUrl, tags);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,8 +58,8 @@ namespace Luban.Job.Cfg.DataSources.Yaml
|
|||
return null;
|
||||
}
|
||||
var data = (DBean)type.Apply(YamlDataCreator.Ins, _root, (DefAssembly)type.Bean.AssemblyBase);
|
||||
bool isTest = DataUtil.IsTestTag(tagName);
|
||||
return new Record(data, RawUrl, isTest);
|
||||
var tags = DataUtil.ParseTags(tagName);
|
||||
return new Record(data, RawUrl, tags);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
namespace Luban.Job.Cfg.Datas
|
||||
using Luban.Job.Cfg.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Luban.Job.Cfg.Datas
|
||||
{
|
||||
public class Record
|
||||
{
|
||||
|
|
@ -6,15 +9,17 @@
|
|||
|
||||
public string Source { get; }
|
||||
|
||||
public List<string> Tags { get; }
|
||||
|
||||
public int Index { get; set; }
|
||||
|
||||
public bool IsTest { get; }
|
||||
public bool IsTest => Tags != null && DataUtil.IsTestTag(Tags);
|
||||
|
||||
public Record(DBean data, string source, bool isTest)
|
||||
public Record(DBean data, string source, List<string> tags)
|
||||
{
|
||||
Data = data;
|
||||
Source = source;
|
||||
IsTest = isTest;
|
||||
Tags = tags;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,6 +35,9 @@ namespace Luban.Job.Cfg
|
|||
[Option("export_test_data", Required = false, HelpText = "export test data")]
|
||||
public bool ExportTestData { get; set; } = false;
|
||||
|
||||
[Option("export_tag_filter", Required = false, HelpText = "export tag filter")]
|
||||
public string ExportTagFilter { get; set; } = "";
|
||||
|
||||
[Option('t', "l10n_timezone", Required = false, HelpText = "timezone")]
|
||||
public string TimeZone { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
using Luban.Job.Cfg.Datas;
|
||||
using Luban.Job.Common.Types;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace Luban.Job.Cfg.Utils
|
||||
{
|
||||
|
|
@ -122,7 +124,7 @@ namespace Luban.Job.Cfg.Utils
|
|||
);
|
||||
}
|
||||
|
||||
public static bool IsTestTag(string tagName)
|
||||
private static bool IsTestTag(string tagName)
|
||||
{
|
||||
return !string.IsNullOrEmpty(tagName) &&
|
||||
(tagName.Equals("test", System.StringComparison.OrdinalIgnoreCase)
|
||||
|
|
@ -130,6 +132,21 @@ namespace Luban.Job.Cfg.Utils
|
|||
);
|
||||
}
|
||||
|
||||
public static bool IsTestTag(List<string> tagNames)
|
||||
{
|
||||
return tagNames.Any(IsTestTag);
|
||||
}
|
||||
|
||||
public static List<string> ParseTags(string rawTagStr)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(rawTagStr))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
var tags = new List<string>(rawTagStr.Split(',').Select(t => t.Trim()).Where(t => !string.IsNullOrEmpty(t)));
|
||||
return tags.Count > 0 ? tags : null;
|
||||
}
|
||||
|
||||
//public static string Data2String(DType data)
|
||||
//{
|
||||
// var s = new StringBuilder();
|
||||
|
|
|
|||
Loading…
Reference in New Issue