diff options
author | Othmar Gsenger <otti@wirdorange.org> | 2011-01-14 03:50:24 +0000 |
---|---|---|
committer | Othmar Gsenger <otti@wirdorange.org> | 2011-01-14 03:50:24 +0000 |
commit | 389a32204546ce812f04cf990725c18ee5514ecc (patch) | |
tree | 99ccea390cad9bfedbcc5bfcc9ff01dfa8a9d13d /local | |
parent | added modules (diff) |
added database support
Diffstat (limited to 'local')
-rw-r--r-- | local/db.pm | 22 | ||||
-rwxr-xr-x | local/nzbindex.pm | 2 | ||||
-rw-r--r-- | local/user.pm | 34 |
3 files changed, 57 insertions, 1 deletions
diff --git a/local/db.pm b/local/db.pm new file mode 100644 index 0000000..344b5a8 --- /dev/null +++ b/local/db.pm @@ -0,0 +1,22 @@ +package local::db::dbi; +use base 'Class::DBI'; +local::db::dbi->connection('dbi:SQLite:/srv/nzbget/datenbank.sqlite', '', ''); + +package local::db::download; +use base 'local::db::dbi'; +local::db::download->table('download'); +local::db::download->columns(All => qw/download_id owner size time category name description/); +local::db::download->has_a(owner => 'local::db::owner'); +local::db::download->has_a(category => 'local::db::category'); + +package local::db::category; +use base 'local::db::dbi'; +local::db::category->table('category'); +local::db::category->columns(All => qw/category_id name/); +local::db::category->has_many(download => 'local::db::download'); + +package local::db::owner; +use base 'local::db::dbi'; +local::db::owner->table('owner'); +local::db::owner->columns(All => qw/owner_id name quoata quota_used/); +local::db::owner->has_many(download => 'local::db::download'); diff --git a/local/nzbindex.pm b/local/nzbindex.pm index 8352a5d..492ebb3 100755 --- a/local/nzbindex.pm +++ b/local/nzbindex.pm @@ -1,4 +1,4 @@ -package local::nzbget; +package local::nzbindex; require Exporter; use strict; use base "Exporter"; diff --git a/local/user.pm b/local/user.pm new file mode 100644 index 0000000..8e134a8 --- /dev/null +++ b/local/user.pm @@ -0,0 +1,34 @@ +package local::user; +require Exporter; +use strict; +use local::db; +use base "Exporter"; + +sub new +{ + my $invocant = shift; + my $class = ref($invocant) || $invocant; + # my $self = $class->SUPER::new(@_); + my $self=bless {}, $class; + ($self->{name})=@_; + my @user = local::db::owner->search(name => $self->{name}); + if (not @user) + { + push @user,local::db::owner->insert({name => $self->{name}}); + } + $self->{id}=$user[0]->owner_id(); + die 'Could not find you user' if not $self->{id}; + return $self; +} + +sub get_name +{ + my $self = shift; + return $self->{name}; +} + +sub get_id +{ + my $self = shift; + return $self->{id}; +} |