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;