initial support for yourupload.com
diff --git a/lib/FlashVideo/Site/Yourupload.pm b/lib/FlashVideo/Site/Yourupload.pm
new file mode 100644
index 0000000..39ddd55
--- /dev/null
+++ b/lib/FlashVideo/Site/Yourupload.pm
@@ -0,0 +1,60 @@
+# Part of get-flash-videos. See get_flash_videos for copyright.
+package FlashVideo::Site::Yourupload;
+
+use strict;
+use FlashVideo::Utils;
+use URI::Escape;
+
+our $VERSION = '0.01';
+sub Version() { $VERSION; }
+
+sub find_video {
+  my ($self, $browser, $embed_url) = @_;
+
+  my $flashvars = "";
+  my $file = "";
+  my $url = "";
+  my $name = "";
+
+  if ($embed_url !~ /http:\/\/yourupload.com\/embed\//) {
+    if ($browser->content =~ /<iframe src="(http:\/\/yourupload.com\/embed\/[^"]+)" style/) {
+      $embed_url = $1;
+      $browser->get($embed_url);
+    } else {
+      # we can't find the frame with embed URL
+      return;
+    }
+  }
+
+  # get configuration passed to flash player
+  if ($browser->content =~ /\s*flashvars="([^"]+)"/) {
+    $flashvars = $1;
+  } else {
+    # if we can't get it, just leave as the video URL is there
+    debug("Can't find flashvars");
+    return;
+  }
+
+  debug ("Flashvars: " . $flashvars);
+
+  # in the configuration there is also URL we're looking for
+  if ($flashvars =~ /&file=(http[^&]+)&/) {
+    $file = $1;
+  } else {
+    debug("Can't find file");
+    return;
+  }
+
+  debug("File: " . $file);
+
+  $url = uri_unescape($file);
+  debug("URL: '" . $url . "'");
+
+  # URL ends with filename
+  $name = $url;
+  $name =~ s/.*\/([^\/]+\.(flv|mp4)).*/$1/;
+  debug("Filename: " . $name);
+  return $url, title_to_filename($name);
+}
+
+1;