[Checkins] SVN: hurry.tinymce/trunk/ Added ability to specify additional languages which are downloaded and installed to TinyMCE.
Sebastian Wehrmann
sw at gocept.com
Wed Sep 7 09:03:26 EST 2011
Log message for revision 122742:
Added ability to specify additional languages which are downloaded and installed to TinyMCE.
Changed:
U hurry.tinymce/trunk/CHANGES.txt
U hurry.tinymce/trunk/src/hurry/tinymce/download.py
U hurry.tinymce/trunk/src/hurry/tinymce/prepare.py
-=-
Modified: hurry.tinymce/trunk/CHANGES.txt
===================================================================
--- hurry.tinymce/trunk/CHANGES.txt 2011-09-07 13:47:59 UTC (rev 122741)
+++ hurry.tinymce/trunk/CHANGES.txt 2011-09-07 14:03:26 UTC (rev 122742)
@@ -1,22 +1,20 @@
CHANGES
*******
-3.3 (2011-09-06) (TinyMCE version 3.3.9.4)
-==========================================
+3.3.9.4 (2011-09-06) (TinyMCE version 3.3.9.4)
+==============================================
* Upgrade to TinyMCE version 3.3.9.4
+* Add ability to specify additional languages which are downloaded and
+ installed to TinyMCE. By default, german is installed additionally.
+
* Change download behaviour to match the current TinyMCE download
infrastructure.
* Pin version of hurry.recource to 0.9.1 because newer version have
incompatible api changes.
-3.2.3.2 (unreleased) (TinyMCE version: 3.2.3)
-=============================================
-
-* ...
-
3.2.3.1 (2009-05-04) (TinyMCE version: 3.2.3)
=============================================
Modified: hurry.tinymce/trunk/src/hurry/tinymce/download.py
===================================================================
--- hurry.tinymce/trunk/src/hurry/tinymce/download.py 2011-09-07 13:47:59 UTC (rev 122741)
+++ hurry.tinymce/trunk/src/hurry/tinymce/download.py 2011-09-07 14:03:26 UTC (rev 122742)
@@ -3,28 +3,40 @@
import os
GH_URL_TEMPLATE = 'https://github.com/downloads/tinymce/tinymce/tinymce_%s.zip'
+LANG_URL_TEMPLATE = ('http://www.tinymce.com/i18n/index.php?ctrl=export&'
+ 'act=zip&la[]=%s&submitted=Download&pr_id=7&la_export=js')
-def download(version, callback):
- """Download a tinymce of version.
+def download_and_extract(url, callback):
+ """Download zip from url and extract to temp directory.
+
When downloaded, call callback with path to directory
with an extracted tinymce. The callback will then be able to copy
this to the appropriate location.
+
"""
- url = GH_URL_TEMPLATE % version
f = urllib2.urlopen(url)
file_data = f.read()
f.close()
- dirpath = tempfile.mkdtemp()
- import pdb; pdb.set_trace()
+ dir_path = tempfile.mkdtemp()
try:
- tinymce_path = os.path.join(dirpath, 'tinymce.zip')
- ex_path = os.path.join(dirpath, 'tinymce_ex')
- g = open(tinymce_path, 'wb')
+ zip_path = os.path.join(dir_path, 'temp.zip')
+ ex_path = os.path.join(dir_path, 'temp_ex')
+ g = open(zip_path, 'wb')
g.write(file_data)
g.close()
- os.system('unzip -qq "%s" -d "%s"' % (tinymce_path, ex_path))
+ os.system('unzip -qq "%s" -d "%s"' % (zip_path, ex_path))
callback(ex_path)
finally:
- shutil.rmtree(dirpath, ignore_errors=True)
+ shutil.rmtree(dir_path, ignore_errors=True)
+
+
+def download_tinymce(version, callback):
+ """Download a tinymce of version."""
+ download_and_extract(GH_URL_TEMPLATE % version, callback)
+
+
+def download_language(lang, callback):
+ """Download a language and add it to tinymce."""
+ download_and_extract(LANG_URL_TEMPLATE % lang, callback)
Modified: hurry.tinymce/trunk/src/hurry/tinymce/prepare.py
===================================================================
--- hurry.tinymce/trunk/src/hurry/tinymce/prepare.py 2011-09-07 13:47:59 UTC (rev 122741)
+++ hurry.tinymce/trunk/src/hurry/tinymce/prepare.py 2011-09-07 14:03:26 UTC (rev 122742)
@@ -1,7 +1,7 @@
import os, sys
import shutil
-from hurry.tinymce.download import download
+from hurry.tinymce.download import download_tinymce, download_language
def main():
try:
@@ -26,4 +26,16 @@
build_path = os.path.join(ex_path, 'jscripts', 'tiny_mce')
shutil.copytree(build_path, dest_path)
- download(version, copy_tinymce)
+ def copy_language(ex_path):
+ """Copy language files to 'tinymce-build' in package."""
+ base_path = os.path.join(ex_path, 'tinymce_language_pack')
+ for path, folders, files in os.walk(base_path):
+ for filename in files:
+ source = os.path.join(path, filename)
+ # source contains seperator, so is.path.join does not help us
+ # here
+ target = dest_path + source.replace(base_path, '')
+ shutil.copy(source, target)
+
+ download_tinymce(version, copy_tinymce)
+ download_language('de', copy_language)
More information about the checkins
mailing list