コード例 #1
0
        public TableExtractionTask(IEnumerable <TableExtractionTask> childTasks)
        {
            TableExtractionTask first = childTasks.First();

            ChildTasks.AddRange(childTasks);

            ExtractorName = first.ExtractorName;
            Comment       = "Merged extraction task [" + String.Concat(childTasks.Select(x => x.name)) + "]";

            ExtraInfoEntries.Add("pIndex", first.ExtraInfoEntries.GetStringValue("pIndex", "_"));

            var taskIndexList = childTasks.Select(x => ExtraInfoEntries.GetStringValue("taskIndex", "")).ToList();

            String pIndex = ExtraInfoEntries.GetStringValue("pIndex", "_");

            String tIndex = taskIndexList.toCsvInLine("-");

            ExtraInfoEntries.Add("taskIndex", tIndex);


            name = pIndex + first.ExtractorName + tIndex;
        }
コード例 #2
0
        public DataTable GetTaskExecutionScoreReport(TableExtractionTask task)
        {
            DataTable table = new DataTable(task.name + "exe");



            var column_sourceFilepath       = table.Columns.Add("sourceFilepath").SetWidth(60).SetHeading("Source filepath");
            var column_sourceTable_width    = table.Columns.Add("sourceTable_width").SetWidth(5).SetHeading("st_w").SetDesc("Source table width");
            var column_sourceTable_height   = table.Columns.Add("sourceTable_height").SetWidth(5).SetHeading("st_h");
            var column_metaTable_entries    = table.Columns.Add("metaTable_entries").SetWidth(5).SetHeading("mt_e");
            var column_metaTable_properties = table.Columns.Add("metaTable_properties").SetWidth(5).SetHeading("mt_p");
            var column_index_entryID        = table.Columns.Add("index_entryID").SetWidth(5).SetHeading("e_id");
            var column_index_propertyID     = table.Columns.Add("index_propertyID").SetWidth(5).SetHeading("p_id");

            var column_valueZoneY = table.Columns.Add("valueZoneY").SetWidth(5).SetHeading("vz_y");
            var column_valueZoneX = table.Columns.Add("valueZoneX").SetWidth(5).SetHeading("vz_x");

            var column_format = table.Columns.Add("format").SetWidth(20).SetHeading("Format");

            foreach (TableExtractionTaskScoreEntry source in task.score.TaskRuns)
            {
                //  if (!source.IsReportEnabled) continue;

                var dr = table.NewRow();

                FileInfo fi = new FileInfo(source.source.filepath);

                String fp = fi.Directory.Name.add(fi.Name, Path.DirectorySeparatorChar);

                dr[column_sourceFilepath] = fp;


                if (source.metaTable != null)
                {
                    dr[column_metaTable_properties] = source.metaTable.Sum(x => x.properties.Count); //.metaTable_properties;
                    dr[column_metaTable_entries]    = source.metaTable.Sum(x => x.entries.Count);    // .metaTable_entries;
                }

                if (source.sourceTable != null)
                {
                    dr[column_sourceTable_height] = source.sourceTable.Average(x => x.Height); //.sourceTable_height;

                    dr[column_sourceTable_width] = source.sourceTable.Average(x => x.Width);   //.sourceTable_width;
                }


                if (source.metaTableDescription != null)
                {
                    dr[column_index_entryID] = source.metaTableDescription.index_entryID;

                    dr[column_index_propertyID] = source.metaTableDescription.index_propertyID;

                    dr[column_valueZoneX] = source.metaTableDescription.sourceDescription.valueZone.x;

                    dr[column_valueZoneY] = source.metaTableDescription.sourceDescription.valueZone.y;

                    dr[column_format] = source.metaTableDescription.format;
                }

                //dr[column_Executed] = source.score.ExecutionCount;

                //dr[column_MetaCreated] = source.score.TaskRuns.Count(x => x.MetaTableCreated); //.MetaTableCreated;

                //dr[column_Properties] = source.PropertyDictionary.items.Count; //. .MetaTableEntries;

                //dr[column_SourceCreated] = source.score.TaskRuns.Count(x => x.SourceTableCreated);

                table.Rows.Add(dr);
            }

            table.AddExtra("Task: " + task.name);
            if (!task.Comment.isNullOrEmpty())
            {
                table.AddExtra("Comment: " + task.Comment);
            }
            table.AddExtra("Extractor: " + task.ExtractorName);


            return(table);
        }