aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Mason Larobina <mason.larobina@gmail.com>2010-03-14 21:18:38 +0800
committerGravatar Mason Larobina <mason.larobina@gmail.com>2010-03-14 21:18:38 +0800
commit65d5fab2d48817b58c00813ad3e101492fd521eb (patch)
tree76cad91ac462c1edab4e10ae7e8a60d36db3ac5a
parentff65edef69e1c3bee3e64e0bb63015dc008dc7e5 (diff)
Remove old formfiller scripts.
-rwxr-xr-xexamples/data/scripts/formfiller.pl99
-rwxr-xr-xexamples/data/scripts/formfiller.sh62
2 files changed, 0 insertions, 161 deletions
diff --git a/examples/data/scripts/formfiller.pl b/examples/data/scripts/formfiller.pl
deleted file mode 100755
index 74dcc80..0000000
--- a/examples/data/scripts/formfiller.pl
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/usr/bin/perl
-
-# a slightly more advanced form filler
-#
-# uses settings file like: $keydir/<domain>
-#TODO: fallback to $HOME/.local/share
-# user arg 1:
-# edit: force editing of the file (fetches if file is missing)
-# load: fill forms from file (fetches if file is missing)
-# new: fetch new file
-
-# usage example:
-# bind LL = spawn /usr/share/uzbl/examples/data/scripts/formfiller.pl load
-# bind LN = spawn /usr/share/uzbl/examples/data/scripts/formfiller.pl new
-# bind LE = spawn /usr/share/uzbl/examples/data/scripts/formfiller.pl edit
-
-use strict;
-use warnings;
-
-my $keydir = $ENV{XDG_CONFIG_HOME} . "/uzbl/forms";
-my ($config,$pid,$xid,$fifoname,$socket,$url,$title,$cmd) = @ARGV;
-if (!defined $fifoname || $fifoname eq "") { die "No fifo"; }
-
-sub domain {
- my ($url) = @_;
- $url =~ s#http(s)?://([A-Za-z0-9\.-]+)(/.*)?#$2#;
- return $url;
-};
-
-my $editor = "xterm -e vim";
-#my $editor = "gvim";
-
-# ideally, there would be some way to ask uzbl for the html content instead of having to redownload it with
-# Also, you may need to fake the user-agent on some sites (like facebook)
- my $downloader = "curl -A 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.10) Gecko/2009042810 GranParadiso/3.0.10' ";
-#my $downloader = "curl -s";
-
-my @fields = ("type","name","value");
-
-my %command;
-
-$command{load} = sub {
- my ($domain) = @_;
- my $filename = "$keydir/$domain";
- if (-e $filename){
- open(my $file, $filename) or die "Failed to open $filename: $!";
- my (@lines) = <$file>;
- close($file);
- $|++;
- open(my $fifo, ">>", $fifoname) or die "Failed to open $fifoname: $!";
- foreach my $line (@lines) {
- next if ($line =~ m/^#/);
- my ($type,$name,$value) = ($line =~ /^\s*(\w+)\s*\|\s*(.*?)\s*\|\s*(.*?)\s*$/);
- if ($type eq "checkbox")
- {
- printf $fifo 'js document.getElementsByName("%s")[0].checked = %s;', $name, $value;
- } elsif ($type eq "submit")
- {
- printf $fifo 'js function fs (n) {try{n.submit()} catch (e){fs(n.parentNode)}}; fs(document.getElementsByName("%s")[0]);', $name;
- } elsif ($type ne "")
- {
- printf $fifo 'js document.getElementsByName("%s")[0].value = "%s";', $name, $value;
- }
- print $fifo "\n";
- }
- $|--;
- } else {
- $command{new}->($domain);
- $command{edit}->($domain);
- }
-};
-$command{edit} = sub {
- my ($domain) = @_;
- my $file = "$keydir/$domain";
- if(-e $file){
- system ($editor, $file);
- } else {
- $command{new}->($domain);
- }
-};
-$command{new} = sub {
- my ($domain) = @_;
- my $filename = "$keydir/$domain";
- open (my $file,">>", $filename) or die "Failed to open $filename: $!";
- $|++;
- print $file "# Make sure that there are no extra submits, since it may trigger the wrong one.\n";
- printf $file "#%-10s | %-10s | %s\n", @fields;
- print $file "#------------------------------\n";
- my @data = `$downloader $url`;
- foreach my $line (@data){
- if($line =~ m/<input ([^>].*?)>/i){
- $line =~ s/.*(<input ([^>].*?)>).*/$1/;
- printf $file " %-10s | %-10s | %s\n", map { my ($r) = $line =~ /.*$_=["'](.*?)["']/;$r } @fields;
- };
- };
- $|--;
-};
-
-$command{$cmd}->(domain($url));
diff --git a/examples/data/scripts/formfiller.sh b/examples/data/scripts/formfiller.sh
deleted file mode 100755
index 10afaba..0000000
--- a/examples/data/scripts/formfiller.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/bash
-
-# simple html form (eg for logins) filler (and manager) for uzbl.
-# uses settings files like: $keydir/<domain>
-# files contain lines like: <fieldname>: <value>
-
-
-# user arg 1:
-# edit: force editing the file (falls back to new if not found)
-# new: start with a new file.
-# load: try to load from file into form
-
-# something else (or empty): if file not available: new, otherwise load.
-
-keydir=${XDG_DATA_HOME:-$HOME/.local/share}/uzbl/forms
-[ -d "`dirname $keydir`" ] || exit 1
-[ -d "$keydir" ] || mkdir "$keydir"
-
-editor=${VISUAL}
-if [[ -z ${editor} ]]; then
- #editor='gvim'
- editor='urxvt -e vim'
-fi
-
-config=$1; shift
-pid=$1; shift
-xid=$1; shift
-fifo=$1; shift
-socket=$1; shift
-url=$1; shift
-title=$1; shift
-action=$1
-
-[ -d $keydir ] || mkdir $keydir || exit 1
-
-if [ "$action" != 'edit' -a "$action" != 'new' -a "$action" != 'load' ]
-then
- action=new
- [[ -e $keydir/$domain ]] && action=load
-elif [ "$action" == 'edit' ] && [[ ! -e $keydir/$domain ]]
-then
- action=new
-fi
-domain=$(echo $url | sed -re 's|(http\|https)+://([A-Za-z0-9\.]+)/.*|\2|')
-
-
-#regex='s|.*<input.*?name="([[:graph:]]+)".*?/>.*|\1: |p' # sscj's first version, does not work on http://wiki.archlinux.org/index.php?title=Special:UserLogin&returnto=Main_Page
- regex='s|.*<input.*?name="([^"]*)".*|\1: |p' #works on arch wiki, but not on http://lists.uzbl.org/listinfo.cgi/uzbl-dev-uzbl.org TODO: improve
-
-
-if [ "$action" = 'load' ]
-then
- [[ -e $keydir/$domain ]] || exit 2
- gawk -F': ' '{ print "js document.getElementsByName(\"" $1 "\")[0].value = \"" $2 "\";"}' $keydir/$domain >> $fifo
-else
- if [ "$action" == 'new' ]
- then
- curl "$url" | grep '<input' | sed -nre "$regex" > $keydir/$domain
- fi
- [[ -e $keydir/$domain ]] || exit 3 #this should never happen, but you never know.
- $editor $keydir/$domain #TODO: if user aborts save in editor, the file is already overwritten
-fi