当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 16 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 代 ee 发贴图脚本,paste_img
帖子发表于 : 2010-09-28 11:38 
头像

注册: 2008-03-23 0:39
帖子: 770
送出感谢: 0 次
接收感谢: 4
ee最新贴图脚本。。。。gui的,我去掉了,dbus.因为用不了。。。。
http://cfy.googlecode.com/files/paste_img.tar.bz2
图片
图片
运行
perl paste_img.pl
:em11
有问题找ee...........
:em09

ee说: 图片可以拖放到文件选择栏。拖放到预览图的,还有兼容问题,没写完。


附件:
48.png
48.png [ 36.87 KiB | 被浏览 2144 次 ]



最后由 ChenFengyuan 编辑于 2010-09-28 12:02,总共编辑了 1 次
页首
 用户资料  
 
2 楼 
 文章标题 : Re: 代 ee 发贴图脚本,paste_img
帖子发表于 : 2010-09-28 11:42 
头像

注册: 2010-06-04 1:06
帖子: 1791
送出感谢: 3
接收感谢: 5
:em11


_________________
1. GIMP入门教程(1~7)——比Photoshop更棒的图像处理软件!
2. Ubuntu桌面培训——初级,新手入门必看


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 代 ee 发贴图脚本,paste_img
帖子发表于 : 2010-09-28 11:46 
头像

注册: 2007-10-20 11:30
帖子: 1132
送出感谢: 1
接收感谢: 0 次
看不到图片~


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 代 ee 发贴图脚本,paste_img
帖子发表于 : 2010-09-28 11:49 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
perl 无视,谁写个 python 的?


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 代 ee 发贴图脚本,paste_img
帖子发表于 : 2010-09-28 11:59 
头像

注册: 2008-03-23 0:39
帖子: 770
送出感谢: 0 次
接收感谢: 4
linlee 写道:
看不到图片~

不是吧,我放到google code上的阿。
http://cfy.googlecode.com/files/paste_img.jpg


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 代 ee 发贴图脚本,paste_img
帖子发表于 : 2010-09-30 19:45 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
代码:
***   HTTP::Message content must be bytes at /usr/share/perl5/HTTP/Request/Common.pm line 91


终于搞定了这bt的提示。这是模块必须使用字节流。经过艰苦的理解,才发现的。以前一直是脚本带参数。所以$ARGV[0]本来就是字节了,而不是utf8字符了。

1. $pic=$gui->get_widget(filechooserbutton2)->get_filename();
2. #$pic='/home/eexp/下载/26.png';
3. #$pic=$ARGV[0];
4. $pic=encode("utf8",$pic);

加了一行encode,就可以传中文目录的图片了。

下面是完整的代码。 http://code.google.com/p/paste-img/

代码:
#!/usr/bin/perl

use utf8;   # 文件路径才可以使用中文。
use Gtk2 -init;
use Gtk2::GladeXML;
use File::Basename qw/basename dirname/;
#----------------------------------
$user="eexp";   #改自己的昵称
%web=(
   "http://www.cjb.net/"=>{"image"=>"____"},
   "http://kimag.es/"=>{"userfile1"=>"____"},
   "http://imagebin.org/index.php?page=add"=>{"nickname"=>$user,"image"=>"____","disclaimer_agree"=>"Y"},
   "http://paste.ubuntu.org.cn/"=>{"poster"=>$user,"screenshot"=>"____","code2"=>join("\n",`xsel -o`)},   #submit名不对
#        "http://tinypic.com/"=>{"the_file"=>$ARGV[0]},   #Error GETing http://tinypic.com/ 需要图片校验 nnnnnd
#        "http://uploadpie.com/"=>{"uploadedfile"=>$ARGV[0]},   #需要读取结果网页,估计还要模拟同一浏览器
#        "http://imgur.com/"=>{'file[]'=>$ARGV[0]},   #无法提交
   );
#----------------------------------
chdir dirname (-l $0?readlink $0:$0);
$path=`pwd`; chomp $path;
$app="paste_img";
my $gui = Gtk2::GladeXML->new("$app.glade");
$gui->signal_autoconnect_from_package('main');
#----------------------------------
$select="imagebin";
$box2 = $gui->get_widget('vbox2');
$button = Gtk2::RadioButton->new(undef, "null");
@group = $button->get_group;
foreach (keys %web){
s'http://'';s'/.*'';
$button = Gtk2::RadioButton->new_with_label(@group, "$_");
$button->signal_connect('toggled'=>\&radio_clicked);
$button->set_active(TRUE) if /$select/;
$box2->pack_start($button, TRUE, TRUE, 0);
$button->show;
}
#----------------------------------
$gui->get_widget(filechooserbutton2)->set_filename("$app.png");
$gui->get_widget('preview')->drag_dest_set('all', ["link","ask"], {target=>'STRING', flags=>['other-app','other-widget'], info=>0});
Gtk2->main;

#========================子程序============================
sub on_preview_drag_data_received{
        my ($tolist, $context, $x, $y, $data, $info, $time, $fromlist) = @_;
   $_=$data->get_text();
#        s'^file://'';
#        $gui->get_widget(filechooserbutton2)->set_filename($_);
#        $gui->get_widget('preview')->set_from_file($_);
   $context->finish(1, 0, $time);
   return 0;
}
#----------------------------------
sub radio_clicked{
$_=shift;
$select=$_->get_label;
}
#----------------------------------
sub on_mainwindow_destroy{
Gtk2->main_quit;
}
#----------------------------------
sub on_filechooserbutton2_selection_changed{
$gui->get_widget('preview')->set_from_file($gui->get_widget('filechooserbutton2')->get_filename());
}
#----------------------------------
sub info{
$_=shift;
$pp="$path/$app.png";   # 傻notify要全路径的图片,还不如stock图标。
$bus->Notify("paste-img", 0, $pp, '贴图', "$_", [], { }, -1);
print "=>\t$_\n";
$gui->get_widget('statusbar1')->push(0,"$_");
}
#----------------------------------
sub on_bpaste_clicked{
use WWW::Mechanize;
use Net::DBus;
use Encode;

$bus = Net::DBus->session->get_service('org.freedesktop.Notifications')
->get_object('/org/freedesktop/Notifications','org.freedesktop.Notifications');
my $add;
foreach (keys %web){$add=$_,last if /$select/;}
if(!$add){info("无效网站地址 $add($select)");exit;}
print "\e[31;42m$select\e[0m => $add\n";

$pic=$gui->get_widget(filechooserbutton2)->get_filename();
#$pic='/home/eexp/下载/26.png';
#$pic=$ARGV[0];
$pic=encode("utf8",$pic);
%h=%{$web{$add}};
foreach (keys %h){ $h{$_}=$pic,last if $h{$_}=~/____/; }
while(my($k,$v)=each %h){print "$k => .$v.\n";}

my $mech = WWW::Mechanize->new();
$mech->get($add);
if($add!~/ubuntu/) {$mech -> submit_form(with_fields=>\%h);}
else{$mech -> submit_form(with_fields=>\%h,button=>"paste");}
#======================
if ($mech->success()) {
   my $rr=$mech->uri();
   info("贴图地址: $rr");
   `echo $rr|xsel -i`;
} else {
   info("贴图失败: ".$mech->status());
}
#======================
}


_________________
● 鸣学


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 代 ee 发贴图脚本,paste_img
帖子发表于 : 2010-09-30 19:50 
头像

注册: 2009-11-22 15:29
帖子: 317
送出感谢: 1
接收感谢: 0 次
:em01 mark


_________________
时间就像一张网,你撒在那里,你的收获就在那里。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 代 ee 发贴图脚本,paste_img
帖子发表于 : 2010-09-30 20:12 
头像

注册: 2010-04-10 16:14
帖子: 2902
系统: Arch Linux
送出感谢: 8
接收感谢: 69
mark


_________________
dz,U,EIS. cies.
dz-cies@github
小香猪杀手@cc98.org


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 代 ee 发贴图脚本,paste_img
帖子发表于 : 2010-10-01 22:01 
头像

注册: 2008-09-13 19:17
帖子: 7789
系统: Arch Linux (x86_64)
送出感谢: 10
接收感谢: 77
贴图的,一个就行了吧……kimag.es还行,自己用imgur

ee,imgur有匿名api,很方便

贴图的网站,python一般需要额外模块,或者调用curl。还是perl比较方便


_________________
博客:http://www.lainme.com


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 代 ee 发贴图脚本,paste_img
帖子发表于 : 2010-10-01 23:29 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
不符合我这简单原则的网站,我就不准备支持了。不kiss。


_________________
● 鸣学


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 代 ee 发贴图脚本,paste_img
帖子发表于 : 2010-10-01 23:40 
头像

注册: 2008-04-26 12:41
帖子: 11000
送出感谢: 11
接收感谢: 38
:em09


_________________
[新手必读]wubi安装常见问题(FAQ)
[分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
kde下唯美的暗黑内透主题(无需编译)
无穷老机上的Trinity Desktop Environment


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 代 ee 发贴图脚本,paste_img
帖子发表于 : 2010-10-02 0:14 

注册: 2007-05-09 6:50
帖子: 82
送出感谢: 0 次
接收感谢: 0 次
虽然不用,正在尝试用,谢谢大神的脚本。


_________________
我的博客:关注Linux 企业应用,桌面折腾,python,perl,shell


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 代 ee 发贴图脚本,paste_img
帖子发表于 : 2010-10-06 0:53 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
增加一个网站
http://uploadpie.com/


附件:
paste_img.pl.tar.xz [2.3 KiB]
被下载 38 次


_________________
● 鸣学
页首
 用户资料  
 
14 楼 
 文章标题 : Re: 代 ee 发贴图脚本,paste_img
帖子发表于 : 2010-10-06 10:12 
头像

注册: 2008-09-13 19:17
帖子: 7789
系统: Arch Linux (x86_64)
送出感谢: 10
接收感谢: 77
eexpress 写道:
增加一个网站
http://uploadpie.com/

这个地址好,可以换掉imgur


_________________
博客:http://www.lainme.com


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 代 ee 发贴图脚本,paste_img
帖子发表于 : 2011-02-24 15:35 
头像

注册: 2009-10-02 15:47
帖子: 257
送出感谢: 0 次
接收感谢: 0 次
学习 :em01 mark


_________________
爱Linux 也爱Ubuntu
简洁美观的桌面
更爱高效稳定的系统
不是不折腾难受夫斯基不想浪费时间
我和大多数人一样 我是菜菜
我要有菜菜的觉悟
我是Drdi


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 16 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译