Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Wikipedia: Mediawiki-CVS

SVN: [58721] trunk/phase3/js2

 

 

Wikipedia mediawiki-cvs RSS feed   Index | Next | Previous | View Threaded


j at svn

Nov 7, 2009, 9:44 AM

Post #1 of 1 (14 views)
Permalink
SVN: [58721] trunk/phase3/js2

http://www.mediawiki.org/wiki/Special:Code/MediaWiki/58721

Revision: 58721
Author: j
Date: 2009-11-07 17:44:50 +0000 (Sat, 07 Nov 2009)

Log Message:
-----------
TimedText javascript interface to upload srt files, js2 part

Modified Paths:
--------------
trunk/phase3/js2/mwEmbed/mv_embed.js
trunk/phase3/js2/remoteMwEmbed.js

Added Paths:
-----------
trunk/phase3/js2/mwEmbed/libTimedText/mvTimeTextEdit.js

Added: trunk/phase3/js2/mwEmbed/libTimedText/mvTimeTextEdit.js
===================================================================
--- trunk/phase3/js2/mwEmbed/libTimedText/mvTimeTextEdit.js (rev 0)
+++ trunk/phase3/js2/mwEmbed/libTimedText/mvTimeTextEdit.js 2009-11-07 17:44:50 UTC (rev 58721)
@@ -0,0 +1,98 @@
+/*
+ * JS2-style edit.js
+ */
+
+// Setup configuration vars (if not set already)
+if( !mwAddMediaConfig )
+ var mwAddMediaConfig = {};
+
+var mvTimedTextEdit = {};
+
+js2AddOnloadHook( function() {
+ function getSubtitle(f) {
+ var name = f.files[0].name;
+ var srtData = f.files[0].getAsBinary();
+ srtData = srtData.replace('\r\n', '\n');
+ return srtData;
+ }
+ function uploadSubtitles() {
+ do_api_req({
+ 'data': {
+ 'meta' : 'siteinfo',
+ 'siprop' : 'languages'
+ }
+ }, function( langDataRaw ) {
+ var langData = {};
+ var languageSelect = '<select id="timed_text_language">';
+
+ var lagRaw = langDataRaw.query.languages;
+ for(var j in lagRaw){
+ var code = lagRaw[j].code;
+ var language = lagRaw[j]['*'];
+ langData[ code ] = language;
+ languageSelect += '<option value="'+code+'">'+language+'('+code+')</option>';
+ }
+ languageSelect += '/</select>';
+ var cBtn = {};
+ cBtn[ gM('mwe-cancel') ] = function(){
+ $j(this).dialog('close');
+ }
+ cBtn[ gM('mwe-ok') ] = function(){
+ var file = $j('#timed_text_file_upload');
+ var langKey = file[0].files[0].name.split('.');
+ var extension = langKey.pop();
+ langKey = langKey.pop();
+ var mimeTypes = {
+ 'srt': 'text/x-srt',
+ 'cmml': 'text/cmml'
+ }
+ if( !mimeTypes[ extension ] ){
+ js_log('Error: unknown extension:'+ extension);
+ }
+ //get language from form
+ langKey = $j('#timed_text_language').val();
+
+ if(extension == "srt") {
+ var srt = getSubtitle(file[0]);
+ $j(this).html("saving...");
+ $j('.ui-dialog-buttonpane').remove();
+
+ var editToken = $j('input[name=wpEditToken]').val();
+ var title = wgTitle.split('.');
+ title.pop();
+ title.pop();
+ title = title.join('.') + '.' + langKey + '.srt';
+ do_api_req({
+ 'data': {
+ 'action' : 'edit',
+ 'title' : title,
+ 'text' : srt,
+ 'token': editToken
+ }
+ }, function(dialog) {
+ return function( result ) {
+ document.location.href = wgArticlePath.replace('/$1', '?title=' + title + '&action=edit');
+ $j(dialog).dialog('close');
+ }}(this)
+ );
+ } else {
+ $j(this).html("error only srt works right now.");
+ }
+ }
+ $j.addDialog("Select Subtitle to upload",
+ '<input type="file" id="timed_text_file_upload"></input><br>' + languageSelect,
+ cBtn);
+ $j('#timed_text_file_upload').change(function(ev) {
+ var langKey = this.files[0].name.split('.');
+ var extension = langKey.pop();
+ langKey = langKey.pop();
+ $j('#timed_text_language').val( langKey );
+ });
+ });
+ }
+ var button = $j('<button>');
+ button.click(uploadSubtitles)
+ button.text("Upload Subtitle");
+ $j('#toolbar').append(button);
+});
+

Modified: trunk/phase3/js2/mwEmbed/mv_embed.js
===================================================================
--- trunk/phase3/js2/mwEmbed/mv_embed.js 2009-11-07 17:44:42 UTC (rev 58720)
+++ trunk/phase3/js2/mwEmbed/mv_embed.js 2009-11-07 17:44:50 UTC (rev 58721)
@@ -144,7 +144,8 @@
"mvFirefoggRender" : "libSequencer/mvFirefoggRender.js",
"mvTimedEffectsEdit": "libSequencer/mvTimedEffectsEdit.js",

- "mvTextInterface" : "libTimedText/mvTextInterface.js"
+ "mvTextInterface" : "libTimedText/mvTextInterface.js",
+ "mvTimedTextEdit" : "libTimedText/mvTimedTextEdit.js"
});

// Dependency mapping for CSS files for self-contained included plugins:
@@ -2022,4 +2023,4 @@
function js_error( string ) {
alert( string );
return false;
-}
\ No newline at end of file
+}

Modified: trunk/phase3/js2/remoteMwEmbed.js
===================================================================
--- trunk/phase3/js2/remoteMwEmbed.js 2009-11-07 17:44:42 UTC (rev 58720)
+++ trunk/phase3/js2/remoteMwEmbed.js 2009-11-07 17:44:50 UTC (rev 58721)
@@ -24,7 +24,9 @@

//timed text dispaly:
if(wgPageName.indexOf("TimedText") === 0){
-
+ load_mv_embed( function() {
+ loadExternalJs( mwEmbedHostPath + '/mwEmbed/libTimedText/mvTimeTextEdit.js' + reqAguments );
+ } );
}

// Firefogg integration



_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS[at]lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Wikipedia mediawiki-cvs RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.