aboutsummaryrefslogtreecommitdiffstats
path: root/libical/scripts/readvaluesfile.pl
diff options
context:
space:
mode:
authorJP Rosevear <jpr@src.gnome.org>2001-04-18 01:23:25 +0800
committerJP Rosevear <jpr@src.gnome.org>2001-04-18 01:23:25 +0800
commit0d90c71a6a7960e6220958883885b8486eb2d43a (patch)
treed4ae4f4e49d5a27ce5b4b20eaad805068de51eab /libical/scripts/readvaluesfile.pl
parenta8ed26a0d30ee93b457da41c1aa0fb04f44db50e (diff)
downloadgsoc2013-evolution-0d90c71a6a7960e6220958883885b8486eb2d43a.tar
gsoc2013-evolution-0d90c71a6a7960e6220958883885b8486eb2d43a.tar.gz
gsoc2013-evolution-0d90c71a6a7960e6220958883885b8486eb2d43a.tar.bz2
gsoc2013-evolution-0d90c71a6a7960e6220958883885b8486eb2d43a.tar.lz
gsoc2013-evolution-0d90c71a6a7960e6220958883885b8486eb2d43a.tar.xz
gsoc2013-evolution-0d90c71a6a7960e6220958883885b8486eb2d43a.tar.zst
gsoc2013-evolution-0d90c71a6a7960e6220958883885b8486eb2d43a.zip
Initial revision
svn path=/trunk/; revision=9413
Diffstat (limited to 'libical/scripts/readvaluesfile.pl')
-rw-r--r--libical/scripts/readvaluesfile.pl130
1 files changed, 130 insertions, 0 deletions
diff --git a/libical/scripts/readvaluesfile.pl b/libical/scripts/readvaluesfile.pl
new file mode 100644
index 0000000000..d5e2d36fd8
--- /dev/null
+++ b/libical/scripts/readvaluesfile.pl
@@ -0,0 +1,130 @@
+
+
+sub read_values_file {
+
+ my $path = shift;
+ my %h;
+
+ open(F,$path) || die "Can't open values file $path";
+
+ while(<F>){
+
+ chop;
+
+ s/#.*$//g;
+ s/\"//g;
+
+ next if ! $_;
+
+ @column = split(/,/,$_);
+
+ my $value_name = $column[0];
+
+ my $c_type_str = $column[1];
+ my $c_autogen = ($c_type_str =~ /\(a\)/);
+
+ my $c_type = $c_type_str;
+ $c_type =~ s/\(.\)//;
+
+ my $python_type = $column[2];
+ my $components = $column[3];
+ my $enum_values = $column[4];
+
+ my @components;
+ if($components ne "unitary"){
+ @components = split(/;/,$components);
+ } else {
+ @components = ();
+ }
+
+ my @enums;
+ if($enum_values) {
+ @enums = split(/;/,$enum_values);
+
+ } else {
+ @enums = ();
+ }
+
+ $h{$value_name} = { C => [$c_autogen,$c_type],
+ perl => $perl_type,
+ python => $python_type,
+ components=>[@components],
+ enums=>[@enums]
+ };
+ }
+
+ return %h;
+}
+
+sub read_properties_file {
+
+ my $path = shift;
+ my %h;
+
+ open(F,$path) || die "Can't open properties file $path";
+
+ while(<F>){
+
+ chop;
+
+ s/#.*$//g;
+ s/\"//g;
+
+ next if ! $_;
+
+ @column = split(/,/,$_);
+
+ my $property_name = $column[0];
+
+ my $lic_value = $column[1];
+ my $default_value = $column[2];
+
+ $h{$property_name} = { lic_value => $lic_value,
+ default_value => $default_value
+ };
+ }
+
+ return %h;
+}
+
+sub read_parameters_file {
+
+ my $path = shift;
+ my %h;
+
+ open(F,$path) || die "Can't open parameters file $path";
+
+ while(<F>){
+
+ chop;
+
+ s/#.*$//g;
+ s/\"//g;
+
+ next if ! $_;
+
+ @column = split(/\,/,$_);
+
+ my $parameter_name = $column[0];
+
+ my $data_type = $column[1];
+ my $enum_string = $column[2];
+
+ my @enums;
+ if($enum_string){
+ @enums = split(/;/,$enum_string);
+ }
+
+ $h{$parameter_name} = { C => $data_type,
+ enums => [@enums]
+ };
+ }
+
+ close(F);
+
+ return %h;
+}
+
+
+
+1;