`

修改了一下DownThemAll! 使之下载完成后自动写入descript.ion

阅读更多

dta/manager.js

--- manager.js.orig	2009-10-27 18:16:52.000000000 +0800
+++ manager.js	2009-11-19 15:47:08.000000000 +0800

@@ -1408,6 +1408,13 @@ QueueItem.prototype = {
 			}
 			else {
 				this.tmpFile.clone().moveTo(destination, this.destinationName);
+			        //{{{ write descript.ion
+			        try {
+				    writeDescription(this.destinationPath, this.destinationName, this.urlManager.usable);
+				} catch (x) {
+				}
+			        
 				this.complete();
 			}
 		}

dta/manager.xul

--- manager.xul.orig	2009-10-27 18:16:52.000000000 +0800
+++ manager.xul	2009-11-17 18:24:28.000000000 +0800
@@ -70,6 +70,7 @@
 	<popupset>
 		<popup id="popup" onpopupshowing="Tree.refreshTools(); return true;">
 			<menuitem id="info" class="menuitem-iconic" label="&infos.label;" oncommand="Tree.showInfo();" />
+			<menuitem id="writeInfo" class="menuitem-iconic" label="write info to descript.ion" oncommand="Tree.writeInfo();" />
 			<menuseparator />
 			<menuitem id="launch" class="menuitem-iconic" label="&launch.label;" oncommand="FileHandling.openFile();" />
 			<menuitem id="delete" class="menuitem-iconic" label="&delete.label;" oncommand="FileHandling.deleteFile();" /> 

 

dta/manager/tree.js

--- manager/tree.js.orig	2009-10-27 18:16:52.000000000 +0800
+++ manager/tree.js	2009-11-19 15:45:24.000000000 +0800
@@ -463,6 +463,17 @@ var Tree = {
 		}
 		this.endUpdate();
 	},
+	writeInfo: function () {
+	    this.beginUpdate();
+
+	    for (let d in Tree.selected) {
+		var dir=d.destinationPath;
+		var filename=d.destinationName;
+		var url = d.urlManager.usable;
+	        writeDescription(dir, filename, url);
+	    }
+	    this.endUpdate();
+	},
 	_hoverItem: null,
 	_ww: Serv('@mozilla.org/embedcomp/window-watcher;1', 'nsIWindowWatcher'),
 	hovering: function(event) {

common/internalFunctions.js

 

var writeDescription = function () {
    var UNICODE =Components.classes['@mozilla.org/intl/scriptableunicodeconverter'].getService(Components.interfaces.nsIScriptableUnicodeConverter); 
    UNICODE.charset = 'UTF-8';

    		//check downloaded file existence
		var downloadedFile = new FileFactory(dir);
		if (!downloadedFile.exists() )
			return;
		downloadedFile.append(filename);
		if (!downloadedFile.exists() )
			return;

		//open descript.ion
		var descFile = new FileFactory(dir);
		descFile.append("descript.ion");
		if (!descFile.exists()) {
			descFile.create(descFile.NORMAL_FILE_TYPE, 0666);
		}

		//write info
		var aContent = "\"" + filename + "\"\t" + url + "\n";
		aContent  = UNICODE.ConvertFromUnicode(aContent);
		var ostream = Components.classes['@mozilla.org/network/file-output-stream;1'].createInstance(Components.interfaces.nsIFileOutputStream);
		//init ( nsIFile file , PRInt32 ioFlags , PRInt32 perm , PRInt32 behaviorFlags )
		const PR_WRONLY = 2;
		const PR_APPEND = 16; 
		ostream.init(descFile, 0x02|0x08|0x10, 0x200, false);

		//const NS_SEEK_END = 2;
		//ostream.seek(NS_SEEK_END, 0);
		ostream.write(aContent, aContent.length);

		aContent = UNICODE.Finish();
		if (aContent.length > 0) ostream.write(aContent, aContent.length);
		ostream.close();
	} //end of writeDescription_impl

     return writeDescription_impl;
}();
0
0
分享到:
评论

相关推荐

    downthemall!-1.0.1-fx+tb+sm.zip

    firefox downthemall!-1.0.1-fx+tb+sm.zip 插件!!!

    DownThemAll! Scheduler:开始或停止 DownThemAll 中的所有下载!-开源

    标题中的“DownThemAll! Scheduler”指的是一个针对Firefox浏览器的扩展——DownThemAll!的调度功能,它允许用户批量管理和控制下载任务。DownThemAll! 是一个强大的下载管理器,支持高速下载和批量操作,而...

    downthemall-2.0.15

    首先,我们来深入了解一下DownThemAll!的核心功能: 1. **批量下载**:用户可以轻松选择页面上的多个链接进行批量下载,无论是图片、文档还是其他文件类型。只需点击扩展的图标,然后选取所需的链接范围,就能一次...

    DownThemAll! 2.0.15

    DownThemAll (or just dTa) is a powerful yet easy-to-use Mozilla Firefox extension that adds new advanced download capabilities to your browser. DownThemAll lets you download all the links or images ...

    downthemall:DownThemall! 网络扩展

    DownThemAll! 我们 DownThemAll! WebExtension。 对于仍在受支持的浏览器上的那些: 。 关于 这是DownThemAll!的WebExtension版本,是从头开始的完整重新开发。 作为WebExtension,它缺少大量的原DownDownmAll...

    DownThemAll!-crx插件

    高级用户还将喜欢使用重命名掩码,该掩码可让您自动分配名称(甚至是下载文件夹中的子文件夹),快速过滤甚至自定义,可重复使用的过滤器。 DownThemAll是开源且免费的。 我们花费大量时间来制作它,并继续花费大量...

    MODIS数据下载方法

    在火狐浏览器的扩展商店搜索并安装此组件,安装完成后,打开其选项设置,新建下载规则,指定文件格式为MODIS数据通常使用的HDF(Hierarchical Data Format)。 2. **访问MODIS产品下载网站**:登录NASA的陆地应用...

    anticontainer:DownThemAll! AntiContainer(Firefox扩展,Seamonkey扩展)

    完成后,将新插件.json移至plugins /目录,并如上所述更新plugins.json。 目前,有关插件的文档位于。添加功能或开发修补程序如果您想添加新功能或开发主要修复程序,请先提出问题。 这样可以确保在完成所有工作...

    downthemall.xpi

    火狐DownThemAll插件 主要对老版本的火狐页面可以进行批量下载页面数据 玩转Firefox 之 批量下载神器 -downthemall插件

    KissAnime-DTA:KissAnime-DTA 是一个用户脚本,可让您显示 KissAnime 上所有剧集的下载链接,以便您可以使用 DownThemAll! 或类似的工具来下载它们

    KissAnime-DTA KissAnime-DTA 是一个用户脚本,可让您显示 KissAnime 上所有剧集的下载链接,以便您可以使用 DownThemAll! 或类似的工具来下载它们。 下载 当前版本:1.0 标准:

    批量下载 IMG_20191006_235135.jpg等.zip

    4. **检查完整性**:下载完成后,检查文件是否完整,特别是图片文件,可以查看文件大小和创建日期是否与源文件一致。 综上所述,这个压缩包可能包含了一个批量下载教程的步骤,或者是一个实际的批量下载结果,即一...

    网站下载工具............

    - **全站下载**:允许用户指定一个URL,工具会自动抓取与之相关的所有链接内容。 - **深度限制**:设定下载的页面层数,避免无休止地抓取无关链接。 - **过滤规则**:通过正则表达式排除不想下载的页面或文件类型...

    downthemall-4.6.1.xpi

    downthemall-4.6.1.xpi

    downthemall for 3.6-12.*

    DownThemAll (or just dTa) is a powerful yet easy-to-use Mozilla Firefox extension that adds new advanced download capabilities to your browser. DownThemAll lets you download all the links or images ...

    echo360-download-tool:从Echo360下载大学讲座录像

    Echo360 下载工具 这是一组两个实用程序,旨在帮助从 Echo360 下载大学讲座的视频记录。 我首先创建了 Ruby 版本,它能够解析该类的 Echo360 RSS 提要。 不幸的是,RSS 提要似乎并不总是可用,所以我不得不创建一个...

    蒸散发数据批量下载.docx

    使用这个插件,你可以方便地批量下载订单中的所有链接,并在下载完成后检查缺失的文件。 批量下载MOD16A2数据对于科学家、研究人员和相关领域的专业人士来说非常重要,因为它可以节省大量时间和精力。通过上述方法...

    各类图片下载工具.rar

    在探讨这些工具之前,我们先了解一下图片下载工具的基本功能和工作原理。图片下载工具通常有以下特点: 1. **批量下载**:这是图片下载工具的核心功能,用户可以输入一个网址,工具会自动扫描页面上的所有图片并...

    批量下载.zip

    在IT行业中,批量下载通常指的是使用自动化工具或脚本来一次性获取多个文件的过程,这在处理大量数据或资源时非常有用。"批量下载.zip"可能是一个包含实现这种功能的程序、脚本或者相关教程的压缩包。 批量下载可以...

    自用的火狐插件传一下

    DownThemAll{1.1.10}.xpi EasyDragToGo{1.1.2.4}.xpi FEBE{6.3.3.2}.xpi Firebug{1.5.4}.xpi Firecookie{1.0.2}.xpi FirefoxShowcase{0.9.5.5}.xpi FlashGot{1.2.2.1}.xpi Forecastfox{3.0.0.0}.xpi ...

Global site tag (gtag.js) - Google Analytics