ignore emacs backup files also in db/run_all_patches.pl
[sgn.git] / lib / CXGN / Stock / ParseUpload.pm
blob3a57ed2f0857056d3717f915f8423c8f4e12beea
1 package CXGN::Stock::ParseUpload;
3 use Moose;
4 use Data::Dumper;
5 use MooseX::FollowPBP;
6 use Moose::Util::TypeConstraints;
8 with 'MooseX::Object::Pluggable';
11 has 'chado_schema' => (
12 is => 'ro',
13 isa => 'DBIx::Class::Schema',
14 required => 1,
17 has 'filename' => (
18 is => 'ro',
19 isa => 'Str',
20 required => 1,
23 has 'editable_stock_props' => (
24 is => 'ro',
25 isa => 'ArrayRef',
26 required => 1,
29 has 'parse_errors' => (
30 is => 'ro',
31 isa => 'HashRef',
32 writer => '_set_parse_errors',
33 reader => 'get_parse_errors',
34 predicate => 'has_parse_errors',
37 has '_parsed_data' => (
38 is => 'ro',
39 isa => 'HashRef',
40 writer => '_set_parsed_data',
41 predicate => '_has_parsed_data',
44 sub parse {
45 my $self = shift;
47 if (!$self->_validate_with_plugin()) {
48 my $errors = $self->get_parse_errors();
49 print STDERR "\nCould not validate trial file: ".$self->get_filename()."\nError:".Dumper($errors)."\n";
50 return;
53 print STDERR "Check 3.1: CXGN::Stock::ParseUpload ".localtime();
55 if (!$self->_parse_with_plugin()) {
56 my $errors = $self->get_parse_errors();
57 print STDERR "\nCould not parse trial file: ".$self->get_filename()."\nError:".Dumper($errors)."\n";
58 return;
61 print STDERR "Check 3.2: CXGN::Stock::ParseUpload ".localtime();
63 if (!$self->_has_parsed_data()) {
64 my $errors = $self->get_parse_errors();
65 print STDERR "\nNo parsed data for trial file: ".$self->get_filename()."\nError:".Dumper($errors)."\n";
66 return;
67 } else {
68 return $self->_parsed_data();
71 print STDERR "Check 3.3: CXGN::Stock::ParseUpload ".localtime();
73 my $errors = $self->get_parse_errors();
74 print STDERR "\nError parsing trial file: ".$self->get_filename()."\nError:".Dumper($errors)."\n";
75 return;