]> git.zerfleddert.de Git - snom-frontend/blobdiff - snom.pl
simple parser, not done
[snom-frontend] / snom.pl
diff --git a/snom.pl b/snom.pl
index 9653c262f145fb8f78625a0b7ec387789af0639c..f8490112119f84b7a32e64002d18ff5783f771be 100755 (executable)
--- a/snom.pl
+++ b/snom.pl
@@ -1,5 +1,5 @@
 #!/bin/sh
-#$Id: snom.pl,v 1.16 2006-05-21 22:30:17 sithglan Exp $
+#$Id: snom.pl,v 1.18 2006-05-21 22:56:51 michael Exp $
 
 PATH=/opt/csw/bin:/opt/local/bin:/usr/bin:/bin exec perl -w -x "$0" "$@"
 
@@ -12,23 +12,46 @@ use Glib qw/TRUE FALSE/;
 use Gtk2 '-init';
 use Gtk2::Gdk::Keysyms;
 use LWP::UserAgent;
-use Config::IniFiles;
+#use Config::IniFiles;
 
 my %g_key = ();
 my $ua = LWP::UserAgent->new;
 
-my $cfg = Config::IniFiles->new(-file => "$ENV{HOME}/.snomrc")
-        || die("can't open config: $ENV{HOME}/.snomrc: $!");
+open(INIFILE,"<$ENV{HOME}/.snomrc") || die("can't open config: $ENV{HOME}/.snomrc: $!");
+my %Config = ();
+my @sections = ();
+while(<INIFILE>) {
+       chomp;
+       if (m/^\s*\[(.*)\]\s*$/) {
+               push @sections, $1;
+               next;
+       }
+
+       if ($#sections) {
+               for my $var (qw(host login password)) {
+                       if (m/^\s*${var}\s*=\s*(.*)\s*$/) {
+                               push @{$Config{$sections[$#sections]}}, ($var => $1);
+                       }
+               }
+       }
+}
+close(INIFILE);
+
+
+for my $section (@sections) {
+       for my $val (@{$Config{$section}}) {
+               print $val."\n";
+               #for my $val (qw(host login password)) {
+               #       if (defined($cfg->val($section, $val))) {
+               #               print "$val: <" . $cfg->val($section, $val) . ">\n";
+               #       }
+               #}
 
-for my $section ($cfg->Sections) {
-        for my $val (qw(host login password)) {
-                if (defined($cfg->val($section, $val))) {
-                        print "$val: <" . $cfg->val($section, $val) . ">\n";
-                }
-        }
+       }
 }
 
 
+
 #$ua->credentials("${ARGV[0]}:80","snom","root","geheim");
 
 set_locale Gtk2;
@@ -113,6 +136,8 @@ $display->signal_connect(leave_notify_event => \&DisplayMouseOver, FALSE);
 $display->show();
 
 my $host = Gtk2::ComboBox->new();
+# my $combobox = Gtk2::Ex::ComboBox->new($host);
+# $combobox->set_list(\@sections);
 $host->show();
 
 my $dispbox = Gtk2::VBox->new(0, 5);
Impressum, Datenschutz