public static string GetText(string key, string defaultValue = "") { if (Texts.ContainsKey(key)) { return(Texts[key]); } if (DefaultLocale.Texts.ContainsKey(key)) { return(DefaultLocale.Texts[key]); } return(defaultValue); }
/// <summary> /// Load a text file and return its contents /// </summary> /// <param name="filename">The name of the file</param> /// <returns>The loaded text.</returns> public static string GetText(string filename) { ValidateFilename(filename); if (Texts.ContainsKey(filename)) { return(Texts[filename]); } var text = File.ReadAllText(filename); Texts.Add(filename, text); return(text); }
public override EdgarDatasetPresentation Parse(IAnalystEdgarDatasetsRepository repository, List <string> fieldNames, List <string> fields, int lineNumber) { /* * adsh report line stmt inpth rfile tag version prole plabel negating * 0001163302-16-000148 1 4 CP 0 H DocumentFiscalYearFocus dei/2014 terseLabel Document Fiscal Year Focus 0 * 0001163302-16-000148 1 3 CP 0 H DocumentPeriodEndDate dei/2014 terseLabel Document Period End Date 0 * 0001125345-17-000041 6 1 CF 0 H NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract us-gaap/2015 terseLabel Operating activities 0 * 0001104659-17-016575 111 6 0 H NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract us-gaap/2015 terseLabel Cash flows from operating activities: 0 * ... */ try { EdgarDatasetPresentation pre; string adsh = fields[fieldNames.IndexOf("adsh")]; string line = fields[fieldNames.IndexOf("line")]; string report = fields[fieldNames.IndexOf("report")]; //select S.ADSH + CAST(p.ReportNumber as varchar) + cast(p.Line as varchar) [key] ... //string key = adsh + report + line; pre = new EdgarDatasetPresentation(); pre.SubmissionId = Subs[adsh]; pre.ReportNumber = Convert.ToInt32(report); pre.RenderId = Renders[adsh + report]; pre.Line = Convert.ToInt32(line); pre.FinancialStatement = fields[fieldNames.IndexOf("stmt")]; pre.Inpth = fields[fieldNames.IndexOf("inpth")] == "1"; int index = fieldNames.IndexOf("rfile"); if (index >= 0) { pre.RenderFile = fields[fieldNames.IndexOf("rfile")][0]; pre.RenderFileStr = fields[fieldNames.IndexOf("rfile")]; } else { pre.RenderFileStr = null; pre.RenderFile = char.MinValue; } string tag = fields[fieldNames.IndexOf("tag")]; string version = fields[fieldNames.IndexOf("version")]; if (Tags.ContainsKey(tag + version)) { pre.TagId = Tags[tag + version]; } else { string tag2 = Encoding.GetEncoding(1252).GetString(Encoding.GetEncoding("iso-8859-7").GetBytes(tag)); if (Tags.ContainsKey(tag + version)) { pre.TagId = Tags[tag + version]; } else { throw new EdgarLineException(EdgarDatasetPresentation.FILE_NAME, lineNumber, "Error retrieving key: " + tag + version); } } pre.PreferredLabelXBRLLinkRole = fields[fieldNames.IndexOf("prole")]; pre.PreferredLabel = fields[fieldNames.IndexOf("plabel")]; pre.Negating = !(fields[fieldNames.IndexOf("negating")] == "0"); pre.LineNumber = lineNumber; string numKey = adsh + tag + version; if (Nums.ContainsKey(numKey)) { pre.NumberId = Nums[numKey]; } else { pre.ADSH_Tag_Version = adsh + "|" + tag + "|" + version; } if (Texts.ContainsKey(numKey)) { pre.TextId = Texts[numKey]; } else { pre.ADSH_Tag_Version = adsh + "|" + tag + "|" + version; } return(pre); } catch (Exception ex) { throw ex; } }
public override void Parse(List <string> fieldNames, List <string> fields, int lineNumber, DataRow dr, int edgarDatasetId) { /* * adsh report line stmt inpth rfile tag version prole plabel negating * 0001163302-16-000148 1 4 CP 0 H DocumentFiscalYearFocus dei/2014 terseLabel Document Fiscal Year Focus 0 * 0001163302-16-000148 1 3 CP 0 H DocumentPeriodEndDate dei/2014 terseLabel Document Period End Date 0 * 0001125345-17-000041 6 1 CF 0 H NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract us-gaap/2015 terseLabel Operating activities 0 * 0001104659-17-016575 111 6 0 H NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract us-gaap/2015 terseLabel Cash flows from operating activities: 0 * ... */ try { string adsh = fields[fieldNames.IndexOf("adsh")]; string line = fields[fieldNames.IndexOf("line")]; string report = fields[fieldNames.IndexOf("report")]; dr["SubmissionId"] = Subs[adsh]; dr["ReportNumber"] = Convert.ToInt32(report); dr["RenderId"] = Renders[adsh + report]; dr["Line"] = Convert.ToInt32(line); dr["FinancialStatement"] = fields[fieldNames.IndexOf("stmt")]; dr["Inpth"] = fields[fieldNames.IndexOf("inpth")] == "1"; int index = fieldNames.IndexOf("rfile"); if (index >= 0) { dr["RenderFileStr"] = fields[index][0]; } else { dr["RenderFileStr"] = DBNull.Value; } string tag = fields[fieldNames.IndexOf("tag")]; string version = fields[fieldNames.IndexOf("version")]; if (Tags.ContainsKey(tag + version)) { dr["TagId"] = Tags[tag + version]; } else { string tag2 = Encoding.GetEncoding(1252).GetString(Encoding.GetEncoding("iso-8859-7").GetBytes(tag)); if (Tags.ContainsKey(tag + version)) { dr["TagId"] = Tags[tag + version]; } else { throw new EdgarLineException(EdgarDatasetPresentation.FILE_NAME, lineNumber, "Error retrieving key: " + tag + version); } } dr["PreferredLabelXBRLLinkRole"] = fields[fieldNames.IndexOf("prole")]; dr["PreferredLabel"] = fields[fieldNames.IndexOf("plabel")]; dr["Negating"] = !(fields[fieldNames.IndexOf("negating")] == "0"); dr["DatasetId"] = edgarDatasetId; dr["LineNumber"] = lineNumber; string numKey = adsh + tag + version; if (Nums.ContainsKey(numKey)) { dr["NumberId"] = Nums[numKey]; } else { dr["ADSH_Tag_Version"] = adsh + " | " + tag + "|" + version; } if (Texts.ContainsKey(numKey)) { dr["TextId"] = Texts[numKey]; } else { dr["ADSH_Tag_Version"] = adsh + " | " + tag + "|" + version; } } catch (Exception ex) { throw ex; } }