From 34b67d9b6cf2745ba107294c8a647f5fa005502f Mon Sep 17 00:00:00 2001 From: aaron <462826@qq.com> Date: Fri, 11 Sep 2020 09:28:14 +0800 Subject: [PATCH] generate article yaml --- src/model/definition.go | 2 ++ ...{convert_test.go => convert_words_test.go} | 0 ...generate_test.go => generate_yaml_test.go} | 23 +++++++++++++++--- tmp/cache/.words.db | Bin 1118208 -> 1118208 bytes 4 files changed, 22 insertions(+), 3 deletions(-) rename test/article/{convert_test.go => convert_words_test.go} (100%) rename test/article/{generate_test.go => generate_yaml_test.go} (86%) diff --git a/src/model/definition.go b/src/model/definition.go index fa92e073..fbc9f2bd 100644 --- a/src/model/definition.go +++ b/src/model/definition.go @@ -85,6 +85,7 @@ type FieldSimple struct { LoopIndex int `yaml:"-"` IsRand bool `yaml:"-"` IsReferYaml bool `yaml:"-"` + UseLastSameValue bool `yaml:"-"` } type FieldWithValues struct { @@ -123,4 +124,5 @@ type DefFieldExport struct { Where string `yaml:"where"` Rand bool `yaml:"rand"` Limit int `yaml:"limit"` + UseLastSameValue bool `yaml:"useLastSameValue"` } \ No newline at end of file diff --git a/test/article/convert_test.go b/test/article/convert_words_test.go similarity index 100% rename from test/article/convert_test.go rename to test/article/convert_words_test.go diff --git a/test/article/generate_test.go b/test/article/generate_yaml_test.go similarity index 86% rename from test/article/generate_test.go rename to test/article/generate_yaml_test.go index eaea5f10..6e96855d 100644 --- a/test/article/generate_test.go +++ b/test/article/generate_yaml_test.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "github.com/easysoft/zendata/src/model" constant "github.com/easysoft/zendata/src/utils/const" fileUtils "github.com/easysoft/zendata/src/utils/file" @@ -77,12 +78,28 @@ func createDef(typ, table string) (conf model.DefExport) { func createField(index int, prefix, exp string) (field model.DefFieldExport) { field.Field = strconv.Itoa(index) field.Prefix = prefix - - field.Select = getPinyin(exp) - field.Where = "true" field.Rand = true field.Limit = 1 + // deal with exp like S:名词-姓+名词-名字=F + exp = strings.ToLower(strings.TrimSpace(exp)) + expArr := []rune(exp) + + if string(expArr[0]) == "s" && (string(expArr[1]) == ":" || string(expArr[1]) == ":") { + exp = string(expArr[2:]) + expArr = expArr[2:] + field.UseLastSameValue = true + } + + if strings.Index(exp, "=") == len(exp) - 2 { + exp = string(expArr[:len(expArr) - 2]) + field.Select = getPinyin(exp) + field.Where = fmt.Sprintf("%s = %s", field.Select, string(expArr[len(expArr) - 1])) + } else { + field.Select = getPinyin(exp) + field.Where = "true" + } + return } diff --git a/tmp/cache/.words.db b/tmp/cache/.words.db index c967077fdca15a94e9b1ca9f28dc253e1dfde0e0..bacf0128f8b6c10ff300bcdfdb24fe7ae1ddece0 100644 GIT binary patch delta 3938 zcmXArcbF4Z7l)JG+1YH(AgBl`v4V&a#I9&iY}lfLU?oTqR4^)5(9QO~o9%sfw%}S& zqqwa4Sb_yB8hh8MkG;kIe1Q19zu}Mf&E(G9a_&8Il88MgV$X?A9J9maa*uJjTxUTx zv@}ec>E7{h=sK_a%%-j0S!r(1#$0P|c7Z!{=vwaoIfzmk@M3;QqTJiXtKr}poIr}b;uLHkyGvb_|aW?z8k*eBs*?L+ZC_ISL9 zoq-SPyAjXoTZAX~or7oe9fyzWI~ZTyHx?h?hg_HTuEMAHUW$(_=skmvi+Yd5zFr@m z+na|E?71Bu+_MZH(W8kE?a{>ko~ih#o;~osJ?Z#>?l9i3`wDzw_gs8P_c3^4_knm^ zw@%^8uDkHeF75RAu7&uduG8?Ou7VkSoY$p@FX+m`S9IQtL!H{{OFGZRi#ip@F`WnD zvpY51ypB8Z{vF!DJv-*(7dmF+8#)fd#T^syZXG6`(ym?EyZuUhZo3w@u>EL!e!Gt2 zvUYC)9~ZZA9m(hZ^27jm*8csLA<n*uXbRv+lOir^QpBZAO4YJPrD}Pj_OGH*san~n zRIO^9f~y;M$2E;03yE8yn~s+A5~s+A5eR(tVFRqOD}Rhsyfs(JX; zssMhyN?ZL#l_Gw#O3C$BQmOiWrOx=H3Z?4D6)W*46$<0i zirM({3XPVmDA37$QK8|!EZ1;fm51=x<=Vh+%8$k0mMdkxE4T3XWm?=1Wm?>iWm??N zWdZz4nU3SPGS!3M%MAQSsS@zdQpNgL>6!TNQtk0Sr9Ql^G#76#xsCjD?I>A_|1D8I z?<_eH|5q}F3YAte4yTvU;5Le{!x_aSsoN}`gR_eLIJ zVTWzpHfg%oJ+^7;^heygZ~S!ny(SwiiWo71EVYos-VEL2IXX z)ClEkpa9pyMoc%umKs7%LolC)pfgpNsYZ>c(=+K@2b`YaJoQYdXMzWZ%>dJwKCi~e zQJ2)NAe^W|c|7K`h&7e2u){fN{$Vqz9+qW|m^?&>{2kt*Y^yb5W5$^jEAvs5-8kwQ5i$FE|Y?ueC5qrW5a03*> zZZHLS3tXxI3*mgY477_E!>ORsHJkZes!WUFDp&$bVHqrkt6>GGSX={oNpu{mAq+Qy zY6P#D>t?tGZUwz4x5FK<7S@5vj^>L%ArwJDDJp|8{h$W5FUaUJPaG*Q5bs_y|6RPvBGd z9Fp(_d}4&*`}TJ7v@ z-c2#nSz4G+_pK~zy{TuC9`*L9cie+wlI_vB9t9KesDyi*67Es= zknRPYdjT34!TJ60dpL_RJZmx5i0R3&Msre`|0B9&CR4{VxfRRQFm|SfiPCCDGPijj z&DPxEObsmsrGVs@d{T@Rkknua`m%9cnqfC<_vdRwpVOL92ftcv=PyXa zS!s-W>)8yB#px;~+$fZxE8ZhBkd9JXl)WoBXSkrA^s6=MEF$dn4I5#S)<_XNi*Tk( zZ?{H!gT@Lkk2w*=xM#%mdPdWEHby8UZ#rwxEFp~-XBN(i`Hi@q2{=0x|J7b6S Ste?=#=&pY-dd%h@$NvFPfMEy# delta 4652 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 NX0CV3&)Ll{;J@V9GV}ld -- GitLab