summaryrefslogtreecommitdiff
path: root/local
diff options
context:
space:
mode:
authorOthmar Gsenger <otti@wirdorange.org>2011-01-14 03:50:24 +0000
committerOthmar Gsenger <otti@wirdorange.org>2011-01-14 03:50:24 +0000
commit389a32204546ce812f04cf990725c18ee5514ecc (patch)
tree99ccea390cad9bfedbcc5bfcc9ff01dfa8a9d13d /local
parentadded modules (diff)
added database support
Diffstat (limited to 'local')
-rw-r--r--local/db.pm22
-rwxr-xr-xlocal/nzbindex.pm2
-rw-r--r--local/user.pm34
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};
+}