冰心巴金茅盾的文笔确实很烂
作者: 王者之剑(http://www.albertsong.com/) 日期: 2008-06-25 22:38
Firefox3.0 出来了,是不是最好的浏览器呢,试试看吧
作者: 王者之剑(http://www.albertsong.com/) 日期: 2008-06-18 09:26
获取Bitrac皮肤的程序
作者: 王者之剑(http://www.albertsong.com/) 日期: 2008-06-15 21:50
推荐一个免费的FTP软件CoreFTP
作者: 王者之剑(http://www.albertsong.com/) 日期: 2008-06-11 09:34
Ruby HTTP简单应用—下载Bitrac皮肤
作者: 王者之剑(http://www.albertsong.com/) 日期: 2008-06-09 23:58
关键词:ruby HTTP 下载页面
本文涉及
1.ruby iconv的使用
2.ruby http页面下载
3.新建目录
4.写文本文件和二进制文件
5.正则表达式
6.命令行参数传递
一、问题来源
找Loveyuki要皮肤未果,只有发扬自力更生精神,写一个获取皮肤的工具。
要知道什么是Bitrac,请看这里http://www.loveyuki.com/Article/Bitrac_Alpha_Update_List.aspx
二、安装ruby
下载http://rubyforge.org/frs/download.php/29263/ruby186-26.exe
想了解更多关于ruby的东西,看这里。
三、下载皮肤的ruby源代码
打包后的在这里下载
get_bitrac_theme.zip (44.65 KB , 下载:75次)。
只要安装了ruby,就可以直接运行压缩包里的run.bat下载loveyuki.com的皮肤,如果要下载其它blog的,修改run.bat就可以了。
四、问题
1、没有找到好的判断获取的页面的文本编码的方法,现在是写死的,用起来不方便。
使用时可以将get_bitrac_theme.rb中的
data = Iconv.conv("UTF-8",file_name[1],data)前面加上#,注释掉,然后执行。
下载的文件如有乱码,通过能识别编码的文本编辑器识别后再修改定义的数组,取消注释,再次执行。
2、没有对图片文件是不是已经下载过进行判断,所以有的文件会下载几次,对ruby不熟,不知道有什么好的方法存储不重复的文件名。
并且只下载了.css中的图片,虽然目前这样做没有问题。
3、没有对异常进行处理,超时等会导致程序终止。这没什么,再执行一遍即可。
总之,不好用!明天用C#写一个好用的。
本文涉及
1.ruby iconv的使用
2.ruby http页面下载
3.新建目录
4.写文本文件和二进制文件
5.正则表达式
6.命令行参数传递
一、问题来源
找Loveyuki要皮肤未果,只有发扬自力更生精神,写一个获取皮肤的工具。
要知道什么是Bitrac,请看这里http://www.loveyuki.com/Article/Bitrac_Alpha_Update_List.aspx
二、安装ruby
下载http://rubyforge.org/frs/download.php/29263/ruby186-26.exe
想了解更多关于ruby的东西,看这里。
三、下载皮肤的ruby源代码
- #Albert
- #www.albertsong.com
- #2008-6-9
- require 'net/http'
- require 'iconv'
- #皮肤文件名及编码
- arr_file_name=[
- ["Archive.htm","UTF-16LE"],
- ["Artcomm.htm","ISO-8859-1"],
- ["Article.htm","ISO-8859-1"],
- ["Comment.htm","ISO-8859-1"],
- ["Counter.htm","ISO-8859-1"],
- ["Default.htm","UTF-8"],
- ["Folders.htm","UTF-16LE"],
- ["Footer.htm","UTF-8"],
- ["Header.htm","UTF-8"],
- ["Labels.htm","UTF-16LE"],
- ["Recomm.htm","UTF-16LE"],
- ["Search.htm","UTF-16LE"],
- ["Theme.css","UTF-8"],
- ["Theme.js","UTF-8"]
- ]
- #
- if ARGV.length<1 then
- puts "USAGE: ruby get_bitrac_theme.rb www.yourdomain.com"
- exit
- end
- #建立http连接
- h = Net::HTTP.new(ARGV[0], 80)
- resp, data = h.get("/", nil )
- if resp.code != "200" then
- puts "Code = #{resp.code}"
- puts "Message = #{resp.message}"
- exit
- end
- #取得皮肤名称
- if data =~/Themes\/(.*)\/Theme.js/ then
- puts "Theme is #{$1}"
- theme_name=$1
- if !FileTest.exist?(theme_name) then
- Dir.mkdir theme_name
- end
- if !FileTest.exist?("#{theme_name}/Images") then
- Dir.mkdir "#{theme_name}/Images"
- end
- else
- puts "This is not a Bitrac powered blog."
- end
- #取得模板文件
- arr_file_name.each{|file_name|
- puts "get /Themes/#{theme_name}/#{file_name[0]}"
- resp, data = h.get("/Themes/#{theme_name}/#{file_name[0]}", nil )
- if resp.code == "200" then
- data = Iconv.conv("UTF-8",file_name[1],data)
- o_file = File.new("#{theme_name}/#{file_name[0]}", "w")
- o_file.puts data
- o_file.close
- else
- puts "/Themes/#{theme_name}/#{file_name[0]} not found."
- end
- }
- #取得图像文件
- resp, data = h.get("/Themes/#{theme_name}/Theme.css", nil )
- data.gsub(/Images\/(.*)\.(gif|png|jpg)/){|match|
- puts "get /Themes/#{theme_name}/#{match}"
- resp, image_data = h.get("/Themes/#{theme_name}/#{match}", nil )
- if resp.code == "200" then
- File.open("#{theme_name}/#{match}", "wb"){|o_file|
- o_file.print image_data
- }
- else
- puts "/Themes/#{theme_name}/#{match} not found. "
- end
- }
打包后的在这里下载
get_bitrac_theme.zip (44.65 KB , 下载:75次)。只要安装了ruby,就可以直接运行压缩包里的run.bat下载loveyuki.com的皮肤,如果要下载其它blog的,修改run.bat就可以了。
四、问题
1、没有找到好的判断获取的页面的文本编码的方法,现在是写死的,用起来不方便。
使用时可以将get_bitrac_theme.rb中的
data = Iconv.conv("UTF-8",file_name[1],data)前面加上#,注释掉,然后执行。
下载的文件如有乱码,通过能识别编码的文本编辑器识别后再修改定义的数组,取消注释,再次执行。
2、没有对图片文件是不是已经下载过进行判断,所以有的文件会下载几次,对ruby不熟,不知道有什么好的方法存储不重复的文件名。
并且只下载了.css中的图片,虽然目前这样做没有问题。
3、没有对异常进行处理,超时等会导致程序终止。这没什么,再执行一遍即可。
总之,不好用!明天用C#写一个好用的。
c# multiple threads interact with UI
作者: 王者之剑(http://www.albertsong.com/) 日期: 2008-06-09 15:10
什么是“普世价值”?
作者: 王者之剑(http://www.albertsong.com/) 日期: 2008-06-05 15:13
一个可以批量复制文件名和路径到剪贴板的Windows Shell扩展
作者: 王者之剑(http://www.albertsong.com/) 日期: 2008-05-26 18:30
给大家介绍一个小工具,这是一个Windows Shell Extension
解压后,将文件夹copy到 System32或者Program files下面,运行install.bat
用鼠标选中一个或多个文件或文件夹,按右键
会看到右键菜单中增加了四项
1.Copy File Path to Clipboard
可以将选择的文件的文件名带路径一起copy到剪贴板上
2.Copy File Name to Clipboard
只copy文件名,不含路径
3.Add Modified Date to File Name
给选中的文件名后加上他的修改日期
4.Add Current Date to File Name
给选中的文件名后加上当前日期
对我来说有这样几个用处,我将项目文件放在服务器上,然后要告诉小组成员看哪些文件,此时可以用第一个功能;当我将有些文档压缩保存后,可以用第四个功能给它加上日期;如果当时忘了,后来又要压缩,为了防止覆盖,可以用第三个功能。
菜单上看不到的功能:按住Ctrl 键,选第一项,会将路径加上双反斜杠;如果你一天之类将一个文件压缩备份几次,并加当前日期,它会自动在后面加后缀,比如doc20040915.rar,doc20040915_1.rar,doc20040915_2.rar
用不上的不要下载,我相信每个人硬盘里的垃圾已经够多了。
Update:
2008-5-26 增加了第五个菜单
5.Command Prompt
打开命令行窗口,并转到选中的目录
下载(不含源码):
copypathext.rar (53.27 KB , 下载:100次)
Update:
2008-5-26 增加了第五个菜单
5.Command Prompt
打开命令行窗口,并转到选中的目录
下载(不含源码):
copypathext.rar (53.27 KB , 下载:100次)标签: 免费软件











