Skip to content

Commit

Permalink
udpdate
Browse files Browse the repository at this point in the history
  • Loading branch information
ferventdesert committed Mar 26, 2017
1 parent a71ab3f commit b13cc24
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 47 deletions.
2 changes: 1 addition & 1 deletion Hawk.ETL.Controls/DataViewers/AboutAuthor.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<TextBlock Text="buptzym@qq.com" Margin="29,108,160,243" FontSize="16" FontWeight="Bold"/>
<TextBlock Margin="29,143,160,208" FontSize="16"><Run Text="欢迎关注微信公共号:《"/><Run FontWeight="Bold" Text="沙漠之鹰"/><Run Text=""/></TextBlock>
<TextBlock Text="如果软件帮到了你,可以为开发者捐赠" Margin="29,193,160,158" FontSize="16"/>
<TextBlock Text="版本: 2.0" Margin="268,10,43,335" FontSize="24" FontWeight="Bold"/>
<TextBlock Text="版本: 2.1" Margin="268,10,43,335" FontSize="24" FontWeight="Bold"/>
</Grid>
</Grid>
</UserControl>
2 changes: 1 addition & 1 deletion Hawk.ETL/Crawlers/JavaScriptAnalyzer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ public static object Parse(string code)
private static object JsonSeriaize(string code)
{
dynamic js= JsonConvert.Import(code);
if (js == "")
if (js.ToString() == "")
return code;
return _JsonSeriaize(js);
}
Expand Down
6 changes: 6 additions & 0 deletions Hawk.ETL/Managements/DataProcessManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,11 @@ public override bool Init()
window.Content = view;
window.ShowDialog();
});
var mainlink = new BindingAction("项目主页", d =>
{
var url = "https://github.com/ferventdesert/Hawk/wik";
System.Diagnostics.Process.Start(url);
});
var helplink = new BindingAction("使用文档", d =>
{
var url = "https://github.com/ferventdesert/Hawk/wiki";
Expand Down Expand Up @@ -167,6 +172,7 @@ public override bool Init()
MessageBox.Show("欢迎关注微信公众号“沙漠之鹰”,实在没时间给软件做UI了。。。","沙漠君欢迎你");
});
var pluginCommands = new BindingAction("帮助");
pluginCommands.ChildActions.Add(mainlink);
pluginCommands.ChildActions.Add(helplink);
pluginCommands.ChildActions.Add(aboutAuthor);
pluginCommands.ChildActions.Add(feedback);
Expand Down
2 changes: 1 addition & 1 deletion Hawk.ETL/Plugins/Transformers/ResponseTF.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class ResponseTF : TransformerBase

public ResponseTF()
{
CrawlerSelector = "网页采集器";
// CrawlerSelector = "网页采集器";
}

[LocalizedDisplayName("爬虫选择")]
Expand Down
86 changes: 42 additions & 44 deletions Hawk.ETL/Plugins/Transformers/TransformerBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,26 @@

namespace Hawk.ETL.Plugins.Transformers
{

public abstract class TransformerBase : PropertyChangeNotifier, IColumnDataTransformer
{
[Browsable(false)]
public int ETLIndex { get; set; }

#region Public Methods

public override string ToString()
{
return TypeName + " " + Column;
}

#endregion

#region Constants and Fields

#endregion

[Browsable(false)]
public int ETLIndex { get; set; }
#region Constructors and Destructors

protected bool IsExecute;

public void SetExecute(bool value)
Expand All @@ -31,22 +41,30 @@ public void SetExecute(bool value)
}

protected readonly IProcessManager processManager;

protected TransformerBase()
{
this.OneOutput = true;
this.Column = "";
this.NewColumn = "";
this.Enabled = true;
OneOutput = true;
Column = "";
NewColumn = "";
Enabled = true;
IsMultiYield = false;
processManager = MainDescription.MainFrm.PluginDictionary["模块管理"] as IProcessManager;

}


protected SmartCrawler GetCrawler(string name)
{
var crawler =
processManager.CurrentProcessCollections.FirstOrDefault(d => d.Name == name) as SmartCrawler;
var crawlers = processManager.CurrentProcessCollections.OfType<SmartCrawler>().ToList();
if (string.IsNullOrEmpty(name))
{
if (crawlers.Count() == 1)
{
name = crawlers[0].Name;
}
}
var crawler =
crawlers.FirstOrDefault(d => d.Name == name);
if (crawler != null)
{
IsMultiYield = crawler?.IsMultiData == ListType.List;
Expand All @@ -56,7 +74,6 @@ protected SmartCrawler GetCrawler(string name)
var task = processManager.CurrentProject.Tasks.FirstOrDefault(d => d.Name == name);
if (task != null)
{

ControlExtended.UIInvoke(() => { task.Load(false); });
crawler =
processManager.CurrentProcessCollections.FirstOrDefault(d => d.Name == name) as
Expand All @@ -66,25 +83,21 @@ protected SmartCrawler GetCrawler(string name)
{
if (string.IsNullOrEmpty(name))
{

XLogSys.Print.Error($"您没有填写“从爬虫转换”的“爬虫选择”。需要填写要调用的网页采集器的名称");
XLogSys.Print.Error($"您没有填写“从爬虫转换”的“爬虫选择”。需要填写要调用的网页采集器的名称");
}
else
{

XLogSys.Print.Error($"没有找到名称为'{name}'的网页采集器,请检查“从爬虫转换”的“爬虫选择”是否填写错误");
XLogSys.Print.Error($"没有找到名称为'{name}'的网页采集器,请检查“从爬虫转换”的“爬虫选择”是否填写错误");
}
}

}
return crawler;
}

#endregion

#region Properties



[LocalizedCategory("1.基本选项"), PropertyOrder(1), DisplayName("输入列")]
[LocalizedDescription("本模块要处理的列的名称")]
public string Column { get; set; }
Expand All @@ -104,14 +117,13 @@ public string Description
}



[LocalizedCategory("1.基本选项")]
[PropertyOrder(2)]
[LocalizedDisplayName("输出列")]
[LocalizedDescription("结果要输出到的列的名称")]
public virtual string NewColumn { get; set; }


private bool _enabled;

[LocalizedCategory("1.基本选项")]
Expand All @@ -133,9 +145,7 @@ public bool Enabled
/// 是否在数据中必须包含列名
/// </summary>
[Browsable(false)]
public virtual bool OneOutput { get; set; }


public virtual bool OneOutput { get; set; }


[LocalizedCategory("1.基本选项")]
Expand All @@ -145,22 +155,13 @@ public string TypeName
{
get
{
XFrmWorkAttribute item = AttributeHelper.GetCustomAttribute(this.GetType());
return item == null ? this.GetType().ToString() : item.Name;
var item = AttributeHelper.GetCustomAttribute(GetType());
return item == null ? GetType().ToString() : item.Name;
}
}

#endregion

#region Public Methods

public override string ToString()
{
return this.TypeName + " " + this.Column;
}

#endregion

#region Implemented Interfaces

#region IColumnDataTransformer
Expand All @@ -174,28 +175,26 @@ public virtual object TransformData(IFreeDocument datas)
public virtual bool IsMultiYield { get; set; }


protected void SetValue(IFreeDocument doc,object item)
protected void SetValue(IFreeDocument doc, object item)
{
if(string.IsNullOrEmpty(NewColumn))
doc.SetValue(Column,item);
if (string.IsNullOrEmpty(NewColumn))
doc.SetValue(Column, item);
else
doc.SetValue(NewColumn,item);
doc.SetValue(NewColumn, item);
}


public virtual IEnumerable<IFreeDocument> TransformManyData(IEnumerable<IFreeDocument> datas)
{
yield break;
}


#endregion

#region IColumnProcess

public virtual void Finish()
{

}

public virtual bool Init(IEnumerable<IFreeDocument> docus)
Expand All @@ -210,14 +209,13 @@ public virtual bool Init(IEnumerable<IFreeDocument> docus)
public virtual void DictDeserialize(IDictionary<string, object> docu, Scenario scenario = Scenario.Database)
{
this.UnsafeDictDeserialize(docu);

}

public virtual FreeDocument DictSerialize(Scenario scenario = Scenario.Database)
{
var dict = this.UnsafeDictSerialize();
dict.Add("Type", this.GetType().Name);
dict.Add("Group","Transformer");
dict.Add("Type", GetType().Name);
dict.Add("Group", "Transformer");
dict.Remove("ETLIndex");
return dict;
}
Expand Down

0 comments on commit b13cc24

Please sign in to comment.