From 960c3088bc88f2db879154053280b06c160d4d70 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 21 Apr 2015 14:45:52 -0400 Subject: lib/sisu/*, single libs directory (c&d gone) (7) * removed lib/sisu/{current,develop} dir branches v7 (v5 & v6 retired) * simplify dir structure, offer single version per snapshot * have enjoyed carrying stable and development versions v5 & v6 in a single tarball, may return to this structure --- lib/sisu/develop/sisu_thor_lib.rb | 407 -------------------------------------- 1 file changed, 407 deletions(-) delete mode 100644 lib/sisu/develop/sisu_thor_lib.rb (limited to 'lib/sisu/develop/sisu_thor_lib.rb') diff --git a/lib/sisu/develop/sisu_thor_lib.rb b/lib/sisu/develop/sisu_thor_lib.rb deleted file mode 100644 index 3212e923..00000000 --- a/lib/sisu/develop/sisu_thor_lib.rb +++ /dev/null @@ -1,407 +0,0 @@ -module SiSU_Po4a_Actions - require_relative 'utils_response' # utils_response.rb - include SiSU_Response - @@source=@@targets=nil - def project_details - def name - 'SiSU translations under po4a management' - end - def name_warning - <<-WOK -#{name} - -WARNING all sisu markup files (.ssm, .sst, .ssi) in languages other than #{language.source_language_selected} -are managed by po4a, through translations of the source language to other languages. - -#{language.info_on_selection} - WOK - end - def setup_project - "Setup file for placing #{name}" - end - self - end - def notice - def warn_and_proceed? - '*WARNING* this software module creates, destroys, overwrites directories' + "\n" \ - + '*WARNING*: Use this Software at your own risk!' - end - def default(selection=nil) - selections=:strict #selections=:short - ans=if selection - case selection - when selection.is_a?(String) - selections=:strict - <<-WOK - #{project_details.setup_project} - Default action selected - "#{selection} #{project_details.name}" -#{warn_and_proceed?} - WOK - when :make - selections=:strict - <<-WOK - #{project_details.setup_project} - "--#{selection}" selected - #{selection} #{project_details.name} - selected (or configured) languages to be used - source language: #{language.source_language_available_str} - target languages: #{language.translation_languages_selected_that_are_available.inspect} - - WARNING: this action assumes (and places) this project is under po4a - (translation) management. It will create sub-directories for the - selected (or configured) target languages: - #{language.translation_languages_selected_that_are_available.inspect} - & the po4a configuration file: #{filename.po4a_cfg} - in the current directory: - #{Dir.pwd} - It will populate the sub-directories with translation files created from - the pot and po files found under the corresponding language - sub-directories, (under #{dir.pot}/ & #{dir.po}/). - (OVERWRITING any existing translated .ssm .sst .ssi files - in language subdirectories that are not under po4a management). - - You should backup the current directory: - #{Dir.pwd} - -#{warn_and_proceed?} - WOK - when :clean - selections=:strict - <<-WOK - #{project_details.setup_project} - "--#{selection}" selected - #{selection} #{project_details.name} -#{warn_and_proceed?} - WOK - when :distclean - selections=:strict - <<-WOK - #{project_details.setup_project} - "--#{selection}" selected - #{selection} #{project_details.name} - WARNING: this action assumes (and places) this project is under po4a - (translation) management. It will remove the sub-directories (if they exist): - #{language.possible_translations.inspect} - - #{language.translation_languages_selected_that_are_available.inspect} - & file: #{filename.po4a_cfg} - in the current directory: - #{Dir.pwd} - Note: these sub-directories & the config file #{filename.po4a_cfg} - should be auto-generated from pot and po files if this project translation - is under po4a management. - This query is to give you the chance to make sure you know what you are doing. -#{warn_and_proceed?} - WOK - when :rebuild - selections=:strict - <<-WOK - #{project_details.setup_project} - "--#{selection}" selected - #{selection} #{project_details.name} - WARNING: this action assumes (and places) this project is under po4a - (translation) management. It will destroy/clobber and then create again the - sub-directories: - #{language.translation_languages_selected_that_are_available.inspect} - populating them with translation files created from the pot and po files - found under the corresponding language sub-directories in (#{dir.pot}/ - & #{dir.po}/). - It will also generate the file: #{filename.po4a_cfg} - These actions will be taken in the current directory: - #{Dir.pwd} - This query is to give you the chance to make sure you know what you are doing. -#{warn_and_proceed?} - WOK - else - selections=:strict - <<-WOK - #{project_details.setup_project} - Default action selected - "#{selection} #{project_details.name}" -#{warn_and_proceed?} - WOK - end - else - selections=:strict - <<-WOK - #{project_details.setup_project} - Default action selected - "install and to setup #{project_details.name}" -#{warn_and_proceed?} - WOK - end - exit unless query.answer?(ans) - end - def project_help - puts <<-WOK -#{project_details.name} -#{project_details.setup_project} - -This setup file is primarily to assist with having sisu markup files under po4a -translation management. It assumes that the source language files are placed -under the sub-directory identifying the source language set, which is currently -#{language.source_language_selected} -The files there are used to make the source translation file in the directory #{dir.pot}/ -Which is then used to create files for translation under the directory #{dir.po}/ -in sub-directories bearing the translation languages ISO code. - -The current language translation selection is: #{translation_languages_selected_str} -The languages selected are located in the file: #{filename.languages_src_tgt} - -sisu available language list: #{sisu_languages_available_str} - - WOK - end - self - end - def generate - def readme - system(%{ruby ../../../../../bin/sisu6 --txt -v --no-manifest --dump='../../../../../..' en/README.ssm}) - end - def manpage - system(%{ruby ../../../../../bin/sisu6 --manpage -v --no-manifest --dump='../../../../../../man/man1' en/sisu.ssm}) - end - self - end - def filename - def languages_src_tgt - #'translation_languages' - 'languages_source_and_targets' - end - def po4a_cfg - 'po4a.cfg' - end - self - end - def dir - def pwd - Dir.pwd - end - def po4a_ - 'po4a/' # '' - end - def pot - po4a_ + 'pot' - end - def po - po4a_ + 'po' - end - self - end - def dir_mk(dir) - FileUtils::mkdir_p(dir) unless FileTest.directory?(dir) - end - def po4a_flags - def debug - '-d -v' - end - def normal - '' - end - def quiet - '-q' - end - self - end - def languages_from_file - def language_source - if @@source.is_a?(String) \ - and @@source =~ /w{2,4}/ - else languages_extract_from_file - end - @@source - end - def language_targets - if @@targets.is_a?(Array) \ - and @@targets.length > 0 - else languages_extract_from_file - end - @@targets - end - def languages_extract_from_file - if (@@source.is_a?(String) \ - and @@source =~/\w{2,4}/) \ - and (@@targets.is_a?(Array) \ - and @@targets.length > 0) - else - if FileTest.file?(filename.languages_src_tgt) - puts 'file: "' + filename.languages_src_tgt + '" found and used (unless overridden)' - langs=IO.read(filename.languages_src_tgt, mode: 'r:utf-8').scan(/source:\s+\w+|target:\s+\w.+/) - langs.each do |sel| - case sel - when /source:/ - source=sel.split(/source:\s*|\s+/).join - source=(source =~/\w{2,4}/) ? source : nil - @@source=unless @@source.is_a?(String) \ - and @@source =~/\w{2,4}/ - source - else @@source - end - when /target:/ - @@targets=unless @@targets.is_a?(Array) - sel.split(/targets?:\s*|\s+/) - [''] - else @@targets - end - end - end - else - puts %{(create) missing instruction file: "#{filename.languages_src_tgt}"\n contents e.g.:\n source: en\n target: de fr es ja ru zh\n no po target languages found} - exit - end - end - end - self - end - def language - def source_language_selected(src=nil) - @@source=if not @@source.nil? \ - and @@source.is_a?(String) \ - and @@source =~/\w{2,4}/ - @@source - elsif (src \ - && src.is_a?(String) \ - && src.length > 1) - src - else - src=languages_from_file.language_source - end - end - def translation_languages_selected(targets=nil) #translation_languages - @@targets=if not @@targets.nil? \ - and @@targets.is_a?(Array) \ - and @@targets.length > 0 - @@targets - elsif (targets \ - && targets.is_a?(Array) \ - && targets.length > 0) - targets - else - targets=languages_from_file.language_targets - end - end - def source_language_available - [source_language_selected] & sisu_languages_available - end - def translation_languages_selected_that_are_available - translation_languages_selected & sisu_languages_available - end - def info_on_selection - if translation_languages_selected != translation_languages_selected_that_are_available - <<-WOK -WARNING: language selections mismatch - -The current language translation selection appears to be: #{translation_languages_selected_str} -Of which the following are valid (available) selections: #{translation_languages_selected_that_are_available_str} - -sisu available language list: #{sisu_languages_available_str} - -the following will be used: #{translation_languages_selected_that_are_available_str} -The languages selected are located in the file: #{filename.languages_src_tgt} - WOK - else - <<-WOK -The current language translation selection is: #{translation_languages_selected_str} -The languages selected are located in the file: #{filename.languages_src_tgt} - -sisu available language list: #{sisu_languages_available_str} - WOK - end - end - def sisu_languages_available - $SiSU_Language_Codes.language_list.codes - end - def possible_translations - sisu_languages_available - [source_language_selected] - end - def translation_languages_selected_str - language.translation_languages_selected.join(' ') - end - def source_language_available_str - source_language_available.join - end - def translation_languages_selected_that_are_available_str - language.translation_languages_selected_that_are_available.join(' ') - end - def sisu_languages_available_str - language.sisu_languages_available.join(' ') - end - def posible_translations_str - language.posible_translations.join(' ') - end - self - end - def files_src - def ssm - Dir.glob("#{language.source_language_selected}/*.ssm").sort - end - def sst - Dir.glob("#{language.source_language_selected}/*.sst").sort - end - def ssi - Dir.glob("#{language.source_language_selected}/*.ssi").sort - end - def all - Dir.glob("#{language.source_language_selected}/*{.ssm,.sst,.ssi}").sort - end - self - end - def po4a_cfg_file - File.open("#{Dir.pwd}/#{filename.po4a_cfg}",'w') - end - def po4a_create - def configure #po4a_cfg - po4a_cfg_arr=[] - po4a_cfg_arr \ - << "[po4a_langs] #{language.translation_languages_selected_that_are_available_str}" - po4a_cfg_arr \ - << "[po4a_paths] #{dir.pot}/$master.pot $lang:#{dir.po}/$lang/$master.po" - files_src.ssm.each do |file_src| - file_src_fn=file_src.gsub(/#{language.source_language_selected}\//,'') - po4a_cfg_arr \ - << "[type: text] #{file_src} $lang:$lang/#{file_src_fn}" - end - files_src.sst.each do |file_src| - file_src_fn=file_src.gsub(/#{language.source_language_selected}\//,'') - po4a_cfg_arr \ - << "[type: text] #{file_src} $lang:$lang/#{file_src_fn}" - end - files_src.ssi.each do |file_src| - file_src_fn=file_src.gsub(/#{language.source_language_selected}\//,'') - po4a_cfg_arr \ - << "[type: text] #{file_src} $lang:$lang/#{file_src_fn}" - end - file=po4a_cfg_file - po4a_cfg_arr.each do |txt| - puts txt - file << txt << "\n" - end - file.close - cmd='po4a --keep 0 ' \ - + po4a_flags.normal + ' ' \ - + filename.po4a_cfg - #cmd='po4a --keep 0 --no-backups --package-name ' \ - #+ 'sisu-manual' + ' ' \ - #+ po4a_flags.normal + ' ' \ - #+ filename.po4a_cfg - system(cmd); puts cmd - end - self - end - def project - def make - dir_mk(dir.pot) - language.translation_languages_selected_that_are_available.each do |lang_dir| - dir_lang="#{Dir.pwd}/#{dir.po}/#{lang_dir}" - dir_mk(dir_lang) - end - po4a_create.configure - end - def clean - #rm -f po/*/*.po~ - #rm -rf ../build - FileUtils.rm_f Dir.glob("./#{dir.po}/*/*.po~") - end - def distclean - #rm -f po4a.cfg - #rm -rf $(LANGUAGES) - FileUtils::rm_f(filename.po4a_cfg) - FileUtils::rm_r(language.possible_translations,:force => true) - end - self - end -end -__END__ -- cgit v1.2.3