sisu 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (207) hide show
  1. checksums.yaml +7 -0
  2. data/bin/sisu +367 -0
  3. data/bin/sisugem +367 -0
  4. data/data/sisu/image/arrow_next_red.png +0 -0
  5. data/data/sisu/image/arrow_prev_red.png +0 -0
  6. data/data/sisu/image/arrow_up_red.png +0 -0
  7. data/data/sisu/image/b_bluebell.png +0 -0
  8. data/data/sisu/image/b_doc.png +0 -0
  9. data/data/sisu/image/b_epub.png +0 -0
  10. data/data/sisu/image/b_home.png +0 -0
  11. data/data/sisu/image/b_info.png +0 -0
  12. data/data/sisu/image/b_odf.png +0 -0
  13. data/data/sisu/image/b_pdf.png +0 -0
  14. data/data/sisu/image/b_search.png +0 -0
  15. data/data/sisu/image/b_toc.png +0 -0
  16. data/data/sisu/image/bullet_08.png +0 -0
  17. data/data/sisu/image/bullet_09.png +0 -0
  18. data/data/sisu/image/bullet_10.png +0 -0
  19. data/data/sisu/image/bullet_11.png +0 -0
  20. data/data/sisu/image/bullet_12.png +0 -0
  21. data/data/sisu/image/bullet_doc.png +0 -0
  22. data/data/sisu/image/bullet_red.png +0 -0
  23. data/data/sisu/image/dot_clear.png +0 -0
  24. data/data/sisu/image/dot_white.png +0 -0
  25. data/data/sisu/image/gplv3.png +0 -0
  26. data/data/sisu/image/gplv3_free_software.png +0 -0
  27. data/data/sisu/image/next.png +0 -0
  28. data/data/sisu/image/previous.png +0 -0
  29. data/data/sisu/image/rb7.ico +0 -0
  30. data/data/sisu/image/sisu.png +0 -0
  31. data/data/sisu/image/toctoc.png +0 -0
  32. data/data/sisu/version.yml +5 -0
  33. data/lib/sisu.rb +94 -0
  34. data/lib/sisu/air.rb +80 -0
  35. data/lib/sisu/ao.rb +590 -0
  36. data/lib/sisu/ao_character_check.rb +102 -0
  37. data/lib/sisu/ao_composite.rb +286 -0
  38. data/lib/sisu/ao_doc_objects.rb +565 -0
  39. data/lib/sisu/ao_doc_str.rb +2269 -0
  40. data/lib/sisu/ao_endnotes.rb +136 -0
  41. data/lib/sisu/ao_expand_insertions.rb +514 -0
  42. data/lib/sisu/ao_hash_digest.rb +174 -0
  43. data/lib/sisu/ao_idx.rb +422 -0
  44. data/lib/sisu/ao_images.rb +187 -0
  45. data/lib/sisu/ao_metadata.rb +86 -0
  46. data/lib/sisu/ao_misc_arrange.rb +207 -0
  47. data/lib/sisu/ao_numbering.rb +720 -0
  48. data/lib/sisu/ao_persist.rb +194 -0
  49. data/lib/sisu/ao_references.rb +502 -0
  50. data/lib/sisu/ao_syntax.rb +640 -0
  51. data/lib/sisu/cgi.rb +84 -0
  52. data/lib/sisu/cgi_pgsql.rb +270 -0
  53. data/lib/sisu/cgi_sql_common.rb +986 -0
  54. data/lib/sisu/cgi_sqlite.rb +244 -0
  55. data/lib/sisu/conf.rb +287 -0
  56. data/lib/sisu/constants.rb +388 -0
  57. data/lib/sisu/css.rb +3484 -0
  58. data/lib/sisu/db_columns.rb +1997 -0
  59. data/lib/sisu/db_create.rb +689 -0
  60. data/lib/sisu/db_dbi.rb +90 -0
  61. data/lib/sisu/db_drop.rb +207 -0
  62. data/lib/sisu/db_import.rb +877 -0
  63. data/lib/sisu/db_indexes.rb +146 -0
  64. data/lib/sisu/db_load_tuple.rb +323 -0
  65. data/lib/sisu/db_remove.rb +182 -0
  66. data/lib/sisu/db_select.rb +230 -0
  67. data/lib/sisu/db_sqltxt.rb +173 -0
  68. data/lib/sisu/db_tests.rb +114 -0
  69. data/lib/sisu/dbi.rb +166 -0
  70. data/lib/sisu/dbi_discrete.rb +206 -0
  71. data/lib/sisu/digests.rb +306 -0
  72. data/lib/sisu/dp.rb +1606 -0
  73. data/lib/sisu/dp_identify_markup.rb +161 -0
  74. data/lib/sisu/dp_make.rb +668 -0
  75. data/lib/sisu/embedded.rb +149 -0
  76. data/lib/sisu/errors.rb +84 -0
  77. data/lib/sisu/generic_parts.rb +131 -0
  78. data/lib/sisu/git.rb +277 -0
  79. data/lib/sisu/html.rb +775 -0
  80. data/lib/sisu/html_concordance.rb +391 -0
  81. data/lib/sisu/html_format.rb +1348 -0
  82. data/lib/sisu/html_harvest.rb +109 -0
  83. data/lib/sisu/html_harvest_author_format.rb +111 -0
  84. data/lib/sisu/html_harvest_authors.rb +466 -0
  85. data/lib/sisu/html_harvest_topics.rb +893 -0
  86. data/lib/sisu/html_lite_shared.rb +324 -0
  87. data/lib/sisu/html_manifest.rb +1032 -0
  88. data/lib/sisu/html_minitoc.rb +230 -0
  89. data/lib/sisu/html_parts.rb +437 -0
  90. data/lib/sisu/html_persist.rb +237 -0
  91. data/lib/sisu/html_promo.rb +440 -0
  92. data/lib/sisu/html_scroll.rb +235 -0
  93. data/lib/sisu/html_segments.rb +716 -0
  94. data/lib/sisu/html_shared.rb +62 -0
  95. data/lib/sisu/html_table.rb +64 -0
  96. data/lib/sisu/html_tune.rb +301 -0
  97. data/lib/sisu/hub.rb +277 -0
  98. data/lib/sisu/hub_actions.rb +1122 -0
  99. data/lib/sisu/hub_loop_markup_files.rb +170 -0
  100. data/lib/sisu/hub_options.rb +1695 -0
  101. data/lib/sisu/i18n.rb +702 -0
  102. data/lib/sisu/manpage.rb +377 -0
  103. data/lib/sisu/manpage_format.rb +85 -0
  104. data/lib/sisu/object_munge.rb +307 -0
  105. data/lib/sisu/prog_text_translation.rb +1702 -0
  106. data/lib/sisu/qrcode.rb +754 -0
  107. data/lib/sisu/relaxng.rb +1153 -0
  108. data/lib/sisu/remote.rb +246 -0
  109. data/lib/sisu/rexml.rb +148 -0
  110. data/lib/sisu/se.rb +158 -0
  111. data/lib/sisu/se_cleanoutput.rb +145 -0
  112. data/lib/sisu/se_clear.rb +105 -0
  113. data/lib/sisu/se_createsite.rb +273 -0
  114. data/lib/sisu/se_css.rb +221 -0
  115. data/lib/sisu/se_date.rb +92 -0
  116. data/lib/sisu/se_db.rb +214 -0
  117. data/lib/sisu/se_envcall.rb +326 -0
  118. data/lib/sisu/se_file_op.rb +2758 -0
  119. data/lib/sisu/se_filemap.rb +247 -0
  120. data/lib/sisu/se_get_init.rb +238 -0
  121. data/lib/sisu/se_hub_particulars.rb +234 -0
  122. data/lib/sisu/se_info_env.rb +2179 -0
  123. data/lib/sisu/se_info_port.rb +70 -0
  124. data/lib/sisu/se_info_system.rb +202 -0
  125. data/lib/sisu/se_load.rb +108 -0
  126. data/lib/sisu/se_processing.rb +659 -0
  127. data/lib/sisu/se_programs.rb +394 -0
  128. data/lib/sisu/se_remotes.rb +553 -0
  129. data/lib/sisu/se_standardise_lang.rb +176 -0
  130. data/lib/sisu/se_version.rb +174 -0
  131. data/lib/sisu/shared_images.rb +137 -0
  132. data/lib/sisu/shared_markup_alt.rb +336 -0
  133. data/lib/sisu/shared_metadata.rb +1361 -0
  134. data/lib/sisu/shared_sem.rb +156 -0
  135. data/lib/sisu/sisu_thor_lib.rb +407 -0
  136. data/lib/sisu/sitemaps.rb +224 -0
  137. data/lib/sisu/src_kdissert_share.rb +102 -0
  138. data/lib/sisu/src_po4a_share.rb +309 -0
  139. data/lib/sisu/src_po4a_shelf.rb +1217 -0
  140. data/lib/sisu/src_po4a_shelf_set.rb +297 -0
  141. data/lib/sisu/src_po4a_sst_ao_sst.rb +893 -0
  142. data/lib/sisu/src_po4a_sst_ao_sst_set.rb +284 -0
  143. data/lib/sisu/src_po4a_sstm.rb +135 -0
  144. data/lib/sisu/src_shared.rb +347 -0
  145. data/lib/sisu/src_sisupod_make.rb +171 -0
  146. data/lib/sisu/src_sisupod_sstm.rb +109 -0
  147. data/lib/sisu/sst_convert_markup.rb +323 -0
  148. data/lib/sisu/sst_do_inline_footnotes.rb +440 -0
  149. data/lib/sisu/sst_from_xml.rb +178 -0
  150. data/lib/sisu/sst_identify_markup.rb +482 -0
  151. data/lib/sisu/sst_to_s_xml_sax.rb +471 -0
  152. data/lib/sisu/termsheet.rb +163 -0
  153. data/lib/sisu/texinfo.rb +430 -0
  154. data/lib/sisu/texinfo_format.rb +541 -0
  155. data/lib/sisu/texpdf.rb +1162 -0
  156. data/lib/sisu/texpdf_format.rb +1689 -0
  157. data/lib/sisu/texpdf_parts.rb +235 -0
  158. data/lib/sisu/txt_asciidoc.rb +354 -0
  159. data/lib/sisu/txt_asciidoc_decorate.rb +207 -0
  160. data/lib/sisu/txt_markdown.rb +389 -0
  161. data/lib/sisu/txt_markdown_decorate.rb +207 -0
  162. data/lib/sisu/txt_orgmode.rb +376 -0
  163. data/lib/sisu/txt_orgmode_decorate.rb +186 -0
  164. data/lib/sisu/txt_output.rb +86 -0
  165. data/lib/sisu/txt_plain.rb +410 -0
  166. data/lib/sisu/txt_plain_decorate.rb +189 -0
  167. data/lib/sisu/txt_read.rb +109 -0
  168. data/lib/sisu/txt_rst.rb +371 -0
  169. data/lib/sisu/txt_rst_decorate.rb +186 -0
  170. data/lib/sisu/txt_shared.rb +241 -0
  171. data/lib/sisu/txt_textile.rb +367 -0
  172. data/lib/sisu/txt_textile_decorate.rb +186 -0
  173. data/lib/sisu/update.rb +141 -0
  174. data/lib/sisu/urls.rb +696 -0
  175. data/lib/sisu/utils.rb +232 -0
  176. data/lib/sisu/utils_composite.rb +115 -0
  177. data/lib/sisu/utils_response.rb +114 -0
  178. data/lib/sisu/utils_screen_text_color.rb +472 -0
  179. data/lib/sisu/utils_spell.rb +99 -0
  180. data/lib/sisu/webrick.rb +191 -0
  181. data/lib/sisu/wikispeak.rb +375 -0
  182. data/lib/sisu/xhtml.rb +472 -0
  183. data/lib/sisu/xhtml_epub2.rb +890 -0
  184. data/lib/sisu/xhtml_epub2_concordance.rb +322 -0
  185. data/lib/sisu/xhtml_epub2_format.rb +2272 -0
  186. data/lib/sisu/xhtml_epub2_persist.rb +278 -0
  187. data/lib/sisu/xhtml_epub2_segments.rb +599 -0
  188. data/lib/sisu/xhtml_epub2_tune.rb +330 -0
  189. data/lib/sisu/xhtml_parts.rb +183 -0
  190. data/lib/sisu/xhtml_shared.rb +62 -0
  191. data/lib/sisu/xhtml_table.rb +97 -0
  192. data/lib/sisu/xml_docbook5.rb +376 -0
  193. data/lib/sisu/xml_dom.rb +624 -0
  194. data/lib/sisu/xml_fictionbook2.rb +389 -0
  195. data/lib/sisu/xml_format.rb +865 -0
  196. data/lib/sisu/xml_md_oai_pmh_dc.rb +229 -0
  197. data/lib/sisu/xml_odf_odt.rb +887 -0
  198. data/lib/sisu/xml_odf_odt_format.rb +674 -0
  199. data/lib/sisu/xml_parts.rb +191 -0
  200. data/lib/sisu/xml_persist.rb +126 -0
  201. data/lib/sisu/xml_sax.rb +521 -0
  202. data/lib/sisu/xml_scaffold_structure_collapsed.rb +198 -0
  203. data/lib/sisu/xml_scaffold_structure_sisu.rb +201 -0
  204. data/lib/sisu/xml_shared.rb +665 -0
  205. data/lib/sisu/xml_tables.rb +261 -0
  206. data/lib/sisu/zap.rb +90 -0
  207. metadata +251 -0
@@ -0,0 +1,1122 @@
1
+ # encoding: utf-8
2
+ =begin
3
+
4
+ * Name: SiSU
5
+
6
+ ** Description: documents, structuring, processing, publishing, search
7
+ *** hub, perform selected actions
8
+
9
+ ** Author: Ralph Amissah
10
+ <ralph@amissah.com>
11
+ <ralph.amissah@gmail.com>
12
+
13
+ ** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
14
+ 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
15
+ All Rights Reserved.
16
+
17
+ ** License: GPL 3 or later:
18
+
19
+ SiSU, a framework for document structuring, publishing and search
20
+
21
+ Copyright (C) Ralph Amissah
22
+
23
+ This program is free software: you can redistribute it and/or modify it
24
+ under the terms of the GNU General Public License as published by the Free
25
+ Software Foundation, either version 3 of the License, or (at your option)
26
+ any later version.
27
+
28
+ This program is distributed in the hope that it will be useful, but WITHOUT
29
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
30
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
31
+ more details.
32
+
33
+ You should have received a copy of the GNU General Public License along with
34
+ this program. If not, see <http://www.gnu.org/licenses/>.
35
+
36
+ If you have Internet connection, the latest version of the GPL should be
37
+ available at these locations:
38
+ <http://www.fsf.org/licensing/licenses/gpl.html>
39
+ <http://www.gnu.org/licenses/gpl.html>
40
+
41
+ <http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html>
42
+
43
+ ** SiSU uses:
44
+ * Standard SiSU markup syntax,
45
+ * Standard SiSU meta-markup syntax, and the
46
+ * Standard SiSU object citation numbering and system
47
+
48
+ ** Hompages:
49
+ <http://www.jus.uio.no/sisu>
50
+ <http://www.sisudoc.org>
51
+
52
+ ** Git
53
+ <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
54
+ <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/hub_actions.rb;hb=HEAD>
55
+
56
+ =end
57
+ module SiSU_Hub_Actions
58
+ class HubActions
59
+ require_relative 'utils_composite' # utils_composite.rb
60
+ include SiSU_Composite_Doc_Utils # composite doc, .ssm, extract all related insert files, array of filenames test
61
+ def initialize(opt)
62
+ @opt=opt
63
+ end
64
+ def report
65
+ def version_info?
66
+ if @opt.act[:version_info][:set]==:on
67
+ SiSU_Env::InfoAbout.new(@opt).sisu_version
68
+ end
69
+ end
70
+ def version_number_git?
71
+ if @opt.act[:version_info][:set]==:on \
72
+ || @opt.act[:verbose][:set]==:on \
73
+ || @opt.act[:verbose_plus][:set]==:on \
74
+ || @opt.act[:maintenance][:set]==:on
75
+ SiSU_Screen::Ansi.new(
76
+ @opt.act[:color_state][:set],
77
+ ' ' + SiSU_is.git_version_info?
78
+ ).grey
79
+ end
80
+ end
81
+ def version_dir?
82
+ if @opt.act[:version_info][:set]==:on \
83
+ || @opt.act[:verbose][:set]==:on \
84
+ || @opt.act[:verbose_plus][:set]==:on \
85
+ || @opt.act[:maintenance][:set]==:on
86
+ SiSU_Screen::Ansi.new(
87
+ @opt.act[:color_state][:set],
88
+ ' ' + File.dirname(__FILE__)
89
+ ).grey
90
+ end
91
+ end
92
+ def version_info_extra?
93
+ if @opt.act[:version_info][:set]==:on \
94
+ || @opt.act[:verbose][:set]==:on \
95
+ || @opt.act[:verbose_plus][:set]==:on \
96
+ || @opt.act[:maintenance][:set]==:on
97
+ if SiSU_is.git_version_info?
98
+ SiSU_Screen::Ansi.new(
99
+ @opt.act[:color_state][:set],
100
+ ' ' + File.dirname(__FILE__) + \
101
+ ' vcr: ' + SiSU_is.git_version_info?
102
+ ).grey
103
+ else
104
+ SiSU_Screen::Ansi.new(
105
+ @opt.act[:color_state][:set],
106
+ ' ' + File.dirname(__FILE__)
107
+ ).grey
108
+ end
109
+ end
110
+ end
111
+ self
112
+ end
113
+ def prepare
114
+ def site?
115
+ if @opt.act[:site_init][:set]==:on #% --init-site, -C initialize/configure
116
+ require_relative 'conf' #% --init-site, -C initialize/configure
117
+ SiSU_Initialize::Source.new(@opt).read
118
+ if @opt.act[:rsync][:set]==:on
119
+ if @opt.selections.str =~/--init(?:ialize)?=site/ \
120
+ and @opt.selections.str =~/RZ/
121
+ SiSU_Hub_Actions::Operations.new(@opt).remote_put_base_site_rsync_match
122
+ else SiSU_Hub_Actions::Operations.new(@opt).remote_put_base_site_rsync
123
+ end
124
+ elsif @opt.act[:scp][:set]==:on
125
+ if @opt.selections.str =~/--init(?:ialize)?=site/ \
126
+ and @opt.selections.str =~/CCr/
127
+ SiSU_Hub_Actions::Operations.new(@opt).remote_put_base_site_all
128
+ else SiSU_Hub_Actions::Operations.new(@opt).remote_put_base_site
129
+ end
130
+ end
131
+ end
132
+ end
133
+ def remote_site?
134
+ if @opt.act[:site_init][:set]==:on
135
+ if @opt.act[:site_init][:set]==:on #% --init-site, -C initialize/configure
136
+ #require_relative 'conf' #% --init-site, -C initialize/configure
137
+ #SiSU_Initialize::Source.new(@opt).read
138
+ #if @opt.act[:rsync][:set]==:on
139
+ # if @opt.selections.str =~/--init(?:ialize)?=site/ \
140
+ # and @opt.selection =~/RZ/
141
+ # SiSU_Hub_Actions::Operations.new(@opt).remote_put_base_site_rsync_match
142
+ # else SiSU_Hub_Actions::Operations.new(@opt).remote_put_base_site_rsync
143
+ # end
144
+ #elsif @opt.act[:scp][:set]==:on
145
+ # if @opt.selections.str =~/--init(?:ialize)?=site/ \
146
+ # and @opt.selection =~/CCr/
147
+ # SiSU_Hub_Actions::Operations.new(@opt).remote_put_base_site_all
148
+ # else SiSU_Hub_Actions::Operations.new(@opt).remote_put_base_site
149
+ # end
150
+ #end
151
+ end
152
+ end
153
+ end
154
+ def sql?
155
+ if @opt.act[:psql_createdb][:set]==:on \
156
+ or @opt.act[:psql_create][:set]==:on \
157
+ or @opt.act[:psql_drop][:set]==:on
158
+ done=:ok
159
+ if @opt.act[:psql][:set]==:on
160
+ require_relative 'dbi'
161
+ SiSU_DBI::SQL.new(@opt).connect
162
+ end
163
+ end
164
+ if @opt.act[:sqlite_createdb][:set]==:on \
165
+ or @opt.act[:sqlite_create][:set]==:on \
166
+ or @opt.act[:sqlite_drop][:set]==:on
167
+ done=:ok
168
+ if @opt.act[:sqlite][:set]==:on
169
+ require_relative 'dbi'
170
+ SiSU_DBI::SQL.new(@opt).connect
171
+ end
172
+ end
173
+ end
174
+ def search_form?
175
+ if @opt.act[:sample_search_form][:set]==:on #% --sample-search-form, -F cgi sample search form
176
+ SiSU_Hub_Actions::Operations.new(@opt).cgi
177
+ end
178
+ end
179
+ def webrick?
180
+ if @opt.act[:webrick][:set]==:on #% --webrick, -W webrick
181
+ SiSU_Hub_Actions::Operations.new(@opt).webrick
182
+ end
183
+ end
184
+ self
185
+ end
186
+ def outputs
187
+ def each_file
188
+ def abstract_objects?
189
+ if @opt.act[:ao][:set]==:on #% --ao --dal, -m
190
+ if @opt.f_pths.length > 0
191
+ unless @opt.act[:po4a_shelf][:set]==:on # --po4a-shelf
192
+ if @opt.fno =~ /\.ssm$/
193
+ require_relative 'ao_composite' # ao_composite.rb #pre-processing
194
+ SiSU_Assemble::Composite.new(@opt).read
195
+ end
196
+ require_relative 'ao' # ao.rb
197
+ SiSU_AO::Source.new(@opt).read
198
+ end
199
+ else
200
+ msg='document abstraction request requires sisu markup files'
201
+ if (@opt.act[:verbose_plus][:set]==:on \
202
+ || @opt.act[:maintenance][:set]==:on)
203
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
204
+ mark(msg)
205
+ else puts msg
206
+ end
207
+ end
208
+ end
209
+ end
210
+ def qrcode?
211
+ if @opt.act[:qrcode][:set]==:on #% --qrcode, -Q
212
+ if @opt.f_pths.length > 0
213
+ require_relative 'qrcode' # qrcode.rb
214
+ SiSU_QRcode::Source.new(@opt).read
215
+ else
216
+ msg='qrcode request requires sisu markup files'
217
+ if (@opt.act[:verbose_plus][:set]==:on \
218
+ || @opt.act[:maintenance][:set]==:on)
219
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
220
+ mark(msg)
221
+ else puts msg
222
+ end
223
+ end
224
+ end
225
+ end
226
+ def hash_digests?
227
+ if @opt.act[:hash_digests][:set]==:on #% --hash-digests, -N digest tree
228
+ if @opt.f_pths.length > 0
229
+ require_relative 'digests' # digests.rb
230
+ SiSU_DigestView::Source.new(@opt).read
231
+ else
232
+ msg='hash digest request requires sisu markup files'
233
+ if (@opt.act[:verbose_plus][:set]==:on \
234
+ || @opt.act[:maintenance][:set]==:on)
235
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
236
+ mark(msg)
237
+ else puts msg
238
+ end
239
+ end
240
+ end
241
+ end
242
+ def text?
243
+ if @opt.act[:txt][:set]==:on #% --txt, -t -a
244
+ if @opt.f_pths.length > 0
245
+ require_relative 'txt_plain' # txt_plain.rb
246
+ SiSU_Txt_Plain::Source.new(@opt).read
247
+ else
248
+ msg='text request requires sisu markup files'
249
+ if (@opt.act[:verbose_plus][:set]==:on \
250
+ || @opt.act[:maintenance][:set]==:on)
251
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
252
+ mark(msg)
253
+ else puts msg
254
+ end
255
+ end
256
+ end
257
+ if @opt.act[:txt_textile][:set]==:on #% --textile
258
+ if @opt.f_pths.length > 0
259
+ require_relative 'txt_textile' #txt_textile.rb
260
+ SiSU_Txt_Textile::Source.new(@opt).read
261
+ else
262
+ msg='textile request requires sisu markup files'
263
+ if (@opt.act[:verbose_plus][:set]==:on \
264
+ || @opt.act[:maintenance][:set]==:on)
265
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
266
+ mark(msg)
267
+ else puts msg
268
+ end
269
+ end
270
+ end
271
+ if @opt.act[:txt_asciidoc][:set]==:on #% --asciidoc
272
+ if @opt.f_pths.length > 0
273
+ require_relative 'txt_asciidoc' # txt_asciidoc.rb
274
+ SiSU_Txt_AsciiDoc::Source.new(@opt).read
275
+ else
276
+ msg='asciidoc request requires sisu markup files'
277
+ if (@opt.act[:verbose_plus][:set]==:on \
278
+ || @opt.act[:maintenance][:set]==:on)
279
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
280
+ mark(msg)
281
+ else puts msg
282
+ end
283
+ end
284
+ end
285
+ if @opt.act[:txt_markdown][:set]==:on #% --markdown
286
+ if @opt.f_pths.length > 0
287
+ require_relative 'txt_markdown' # txt_markdown.rb
288
+ SiSU_Txt_Markdown::Source.new(@opt).read
289
+ else
290
+ msg='markdown request requires sisu markup files'
291
+ if (@opt.act[:verbose_plus][:set]==:on \
292
+ || @opt.act[:maintenance][:set]==:on)
293
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
294
+ mark(msg)
295
+ else puts msg
296
+ end
297
+ end
298
+ end
299
+ if @opt.act[:txt_rst][:set]==:on #% --rst, --rest
300
+ if @opt.f_pths.length > 0
301
+ require_relative 'txt_rst' # txt_rst.rb
302
+ SiSU_Txt_rST::Source.new(@opt).read
303
+ else
304
+ msg='rst request requires sisu markup files'
305
+ if (@opt.act[:verbose_plus][:set]==:on \
306
+ || @opt.act[:maintenance][:set]==:on)
307
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
308
+ mark(msg)
309
+ else puts msg
310
+ end
311
+ end
312
+ end
313
+ if @opt.act[:txt_orgmode][:set]==:on #% --orgmode
314
+ if @opt.f_pths.length > 0
315
+ require_relative 'txt_orgmode' # txt_orgmode.rb
316
+ SiSU_Txt_OrgMode::Source.new(@opt).read
317
+ else
318
+ msg='orgmode request requires sisu markup files'
319
+ if (@opt.act[:verbose_plus][:set]==:on \
320
+ || @opt.act[:maintenance][:set]==:on)
321
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
322
+ mark(msg)
323
+ else puts msg
324
+ end
325
+ end
326
+ end
327
+ end
328
+ def html?
329
+ if @opt.act[:html][:set]==:on #% --html, -h
330
+ if @opt.f_pths.length > 0
331
+ require_relative 'html' # html.rb
332
+ SiSU_HTML::Source.new(@opt).read
333
+ else
334
+ msg='html request requires sisu markup files'
335
+ if (@opt.act[:verbose_plus][:set]==:on \
336
+ || @opt.act[:maintenance][:set]==:on)
337
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
338
+ mark(msg)
339
+ else puts msg
340
+ end
341
+ end
342
+ else
343
+ if @opt.act[:html_seg][:set]==:on #% --html-seg
344
+ if @opt.f_pths.length > 0
345
+ require_relative 'html' # html.rb
346
+ SiSU_HTML::Source.new(@opt).read
347
+ else
348
+ msg='html seg request requires sisu markup files'
349
+ if (@opt.act[:verbose_plus][:set]==:on \
350
+ || @opt.act[:maintenance][:set]==:on)
351
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
352
+ mark(msg)
353
+ else puts msg
354
+ end
355
+ end
356
+ end
357
+ if @opt.act[:html_scroll][:set]==:on #% --html-scroll
358
+ if @opt.f_pths.length > 0
359
+ require_relative 'html' # html.rb
360
+ SiSU_HTML::Source.new(@opt).read
361
+ else
362
+ msg='html scroll request requires sisu markup files'
363
+ if (@opt.act[:verbose_plus][:set]==:on \
364
+ || @opt.act[:maintenance][:set]==:on)
365
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
366
+ mark(msg)
367
+ else puts msg
368
+ end
369
+ end
370
+ end
371
+ end
372
+ if @opt.act[:concordance][:set]==:on #% --concordance, -w
373
+ if @opt.f_pths.length > 0
374
+ require_relative 'html_concordance' # html_concordance.rb
375
+ SiSU_Concordance::Source.new(@opt).read
376
+ else
377
+ msg='concordance request requires sisu markup files'
378
+ if (@opt.act[:verbose_plus][:set]==:on \
379
+ || @opt.act[:maintenance][:set]==:on)
380
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
381
+ mark(msg)
382
+ else puts msg
383
+ end
384
+ end
385
+ end
386
+ end
387
+ def xhtml?
388
+ if @opt.act[:xhtml][:set]==:on #% --xhtml, -b
389
+ if @opt.f_pths.length > 0
390
+ require_relative 'xhtml' # xhtml.rb
391
+ SiSU_XHTML::Source.new(@opt).read
392
+ else
393
+ msg='xhtml request requires sisu markup files'
394
+ if (@opt.act[:verbose_plus][:set]==:on \
395
+ || @opt.act[:maintenance][:set]==:on)
396
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
397
+ mark(msg)
398
+ else puts msg
399
+ end
400
+ end
401
+ end
402
+ if @opt.act[:epub][:set]==:on #% --epub, -e
403
+ if @opt.f_pths.length > 0
404
+ require_relative 'xhtml_epub2' # xhtml_epub2.rb
405
+ SiSU_XHTML_EPUB2::Source.new(@opt).read
406
+ else
407
+ msg='epub request requires sisu markup files'
408
+ if (@opt.act[:verbose_plus][:set]==:on \
409
+ || @opt.act[:maintenance][:set]==:on)
410
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
411
+ mark(msg)
412
+ else puts msg
413
+ end
414
+ end
415
+ end
416
+ end
417
+ def xml?
418
+ if @opt.act[:odt][:set]==:on #% --odt, -o
419
+ if @opt.f_pths.length > 0
420
+ require_relative 'xml_odf_odt' # xml_odf_odt.rb
421
+ SiSU_XML_ODF_ODT::Source.new(@opt).read
422
+ else
423
+ msg='odt request requires sisu markup files'
424
+ if (@opt.act[:verbose_plus][:set]==:on \
425
+ || @opt.act[:maintenance][:set]==:on)
426
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
427
+ mark(msg)
428
+ else puts msg
429
+ end
430
+ end
431
+ end
432
+ if @opt.act[:xml_scaffold_structure_sisu][:set]==:on #% --xml-scaffold --xml-scaffold-sisu
433
+ if @opt.f_pths.length > 0
434
+ require_relative 'xml_scaffold_structure_sisu' # xml_scaffold_structure_sisu.rb
435
+ SiSU_XML_Scaffold_Structure_Sisu::Source.new(@opt).read
436
+ else
437
+ msg='xml scaffold request requires sisu markup files'
438
+ if (@opt.act[:verbose_plus][:set]==:on \
439
+ || @opt.act[:maintenance][:set]==:on)
440
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
441
+ mark(msg)
442
+ else puts msg
443
+ end
444
+ end
445
+ end
446
+ if @opt.act[:xml_scaffold_structure_collapse][:set]==:on #% --xml-scaffold-collapse
447
+ if @opt.f_pths.length > 0
448
+ require_relative 'xml_scaffold_structure_collapsed' # xml_scaffold_structure_collapsed.rb
449
+ SiSU_XML_Scaffold_Structure_Collapse::Source.new(@opt).read
450
+ else
451
+ msg='xml scaffold request requires sisu markup files'
452
+ if (@opt.act[:verbose_plus][:set]==:on \
453
+ || @opt.act[:maintenance][:set]==:on)
454
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
455
+ mark(msg)
456
+ else puts msg
457
+ end
458
+ end
459
+ end
460
+ if @opt.act[:xml_docbook_book][:set]==:on #% --xml-docbook
461
+ if @opt.f_pths.length > 0
462
+ require_relative 'xml_docbook5' # xml_docbook5.rb
463
+ SiSU_XML_Docbook_Book::Source.new(@opt).read
464
+ else
465
+ msg='docbook request requires sisu markup files'
466
+ if (@opt.act[:verbose_plus][:set]==:on \
467
+ || @opt.act[:maintenance][:set]==:on)
468
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
469
+ mark(msg)
470
+ else puts msg
471
+ end
472
+ end
473
+ end
474
+ if @opt.act[:xml_fictionbook][:set]==:on #% --xml-fictionbook
475
+ if @opt.f_pths.length > 0
476
+ require_relative 'xml_fictionbook2' # xml_fictionbook2.rb
477
+ SiSU_XML_Fictionbook::Source.new(@opt).read
478
+ else
479
+ msg='fictionbook request requires sisu markup files'
480
+ if (@opt.act[:verbose_plus][:set]==:on \
481
+ || @opt.act[:maintenance][:set]==:on)
482
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
483
+ mark(msg)
484
+ else puts msg
485
+ end
486
+ end
487
+ end
488
+ if @opt.act[:xml_sax][:set]==:on #% --xml-sax, -x
489
+ if @opt.f_pths.length > 0
490
+ require_relative 'xml_sax' # xml_sax.rb
491
+ SiSU_XML_SAX::Source.new(@opt).read
492
+ else
493
+ msg='xml sax request requires sisu markup files'
494
+ if (@opt.act[:verbose_plus][:set]==:on \
495
+ || @opt.act[:maintenance][:set]==:on)
496
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
497
+ mark(msg)
498
+ else puts msg
499
+ end
500
+ end
501
+ end
502
+ if @opt.act[:xml_dom][:set]==:on #% --xml-dom, -X
503
+ if @opt.f_pths.length > 0
504
+ require_relative 'xml_dom' # xml_dom.rb
505
+ SiSU_XML_DOM::Source.new(@opt).read
506
+ else
507
+ msg='xml dom request requires sisu markup files'
508
+ if (@opt.act[:verbose_plus][:set]==:on \
509
+ || @opt.act[:maintenance][:set]==:on)
510
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
511
+ mark(msg)
512
+ else puts msg
513
+ end
514
+ end
515
+ end
516
+ end
517
+ def pdf?
518
+ if @opt.act[:pdf][:set]==:on \
519
+ or @opt.act[:pdf_p][:set]==:on \
520
+ or @opt.act[:pdf_l][:set]==:on #% --pdf-l --pdf, -p
521
+ if @opt.f_pths.length > 0
522
+ require_relative 'texpdf' # texpdf.rb
523
+ SiSU_TeX::Source.new(@opt).read
524
+ else
525
+ msg='pdf request requires sisu markup files'
526
+ if (@opt.act[:verbose_plus][:set]==:on \
527
+ || @opt.act[:maintenance][:set]==:on)
528
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
529
+ mark(msg)
530
+ else puts msg
531
+ end
532
+ end
533
+ end
534
+ end
535
+ def man_or_info?
536
+ if @opt.act[:manpage][:set]==:on #% --manpage, -i
537
+ if @opt.f_pths.length > 0
538
+ require_relative 'manpage' # manpage.rb
539
+ SiSU_Manpage::Source.new(@opt).read
540
+ else
541
+ msg='manpage request requires sisu markup files'
542
+ if (@opt.act[:verbose_plus][:set]==:on \
543
+ || @opt.act[:maintenance][:set]==:on)
544
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
545
+ mark(msg)
546
+ else puts msg
547
+ end
548
+ end
549
+ end
550
+ if @opt.act[:texinfo][:set]==:on #% --texinfo, -I
551
+ if @opt.f_pths.length > 0
552
+ require_relative 'texinfo' # texinfo.rb
553
+ SiSU_TexInfo::Source.new(@opt).read
554
+ else
555
+ msg='texinfo request requires sisu markup files'
556
+ if (@opt.act[:verbose_plus][:set]==:on \
557
+ || @opt.act[:maintenance][:set]==:on)
558
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
559
+ mark(msg)
560
+ else puts msg
561
+ end
562
+ end
563
+ end
564
+ end
565
+ def sqlite_discrete?
566
+ if @opt.act[:sqlite_discrete][:set]==:on #% --sqlite, -d
567
+ if @opt.f_pths.length > 0
568
+ require_relative 'dbi_discrete' # dbi_discrete.rb
569
+ SiSU_DBI_Discrete::SQL.new(@opt).build
570
+ else
571
+ msg='sqlite (discrete) request requires sisu markup files'
572
+ if (@opt.act[:verbose_plus][:set]==:on \
573
+ || @opt.act[:maintenance][:set]==:on)
574
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
575
+ mark(msg)
576
+ else puts msg
577
+ end
578
+ end
579
+ end
580
+ end
581
+ def po4a_make?
582
+ if @opt.act[:po4a_sst_ao_sst][:set]==:on #% --po4a-ao
583
+ if @opt.f_pths.length > 0
584
+ require_relative 'src_po4a_sst_ao_sst'
585
+ SiSU_SStm_AO_SStm::Source.new(@opt).read_process_src_files # src_po4a_sst_ao_sst.rb
586
+ else
587
+ msg='sst request requires sisu markup files'
588
+ if (@opt.act[:verbose_plus][:set]==:on \
589
+ || @opt.act[:maintenance][:set]==:on)
590
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
591
+ mark(msg)
592
+ else puts msg
593
+ end
594
+ end
595
+ end
596
+ end
597
+ def elasticsearch?
598
+ if @opt.act[:elasticsearch][:set]==:on #% --elastic, -x
599
+ if @opt.f_pths.length > 0
600
+ require_relative 'json_elastic' # json_elastic.rb
601
+ SiSU_Elastic::Source.new(@opt).read
602
+ else
603
+ msg='easticsearch request requires sisu markup files'
604
+ if (@opt.act[:verbose_plus][:set]==:on \
605
+ || @opt.act[:maintenance][:set]==:on)
606
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
607
+ mark(msg)
608
+ else puts msg
609
+ end
610
+ end
611
+ end
612
+ end
613
+ def manifest?
614
+ if @opt.act[:manifest][:set]==:on #% --manifest, -y
615
+ if @opt.f_pths.length > 0
616
+ begin
617
+ require_relative 'html_manifest' # html_manifest.rb
618
+ ((@opt.act[:sisupod][:set]==:on \
619
+ || @opt.act[:share_source][:set]==:on \
620
+ || @opt.act[:po4a_sstm][:set]==:on) \
621
+ && @opt.f_pths.length < 2 ) \
622
+ ? nil
623
+ : SiSU_Manifest::Source.new(@opt).read
624
+ rescue
625
+ end
626
+ else
627
+ msg='manifest request requires sisu markup files'
628
+ if (@opt.act[:verbose_plus][:set]==:on \
629
+ || @opt.act[:maintenance][:set]==:on)
630
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
631
+ mark(msg)
632
+ else puts msg
633
+ end
634
+ end
635
+ end
636
+ end
637
+ def harvest?
638
+ if @opt.act[:harvest][:set]==:on #% --harvest
639
+ if @opt.f_pths.length > 0
640
+ require_relative 'html_harvest' # html_harvest.rb
641
+ SiSU_Harvest::Source.new(@opt).read
642
+ else
643
+ msg='harvest request requires sisu markup files'
644
+ if (@opt.act[:verbose_plus][:set]==:on \
645
+ || @opt.act[:maintenance][:set]==:on)
646
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).
647
+ mark(msg)
648
+ else puts msg
649
+ end
650
+ end
651
+ end
652
+ end
653
+ self
654
+ end
655
+ def loop_files
656
+ def share_source?
657
+ if @opt.act[:sisupod][:set]==:on \
658
+ or @opt.act[:share_source][:set]==:on \
659
+ or @opt.act[:po4a_sstm][:set]==:on \
660
+ or @opt.act[:git][:set]==:on
661
+ begin
662
+ if @opt.f_pths.length > 0
663
+ require_relative 'src_shared'
664
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
665
+ loop_files_on_given_option do
666
+ SiSU_Source::SiSUpodSource.new(@opt).read
667
+ end
668
+ else
669
+ msg='share markup source request requires sisu markup files'
670
+ if (@opt.act[:verbose_plus][:set]==:on \
671
+ || @opt.act[:maintenance][:set]==:on)
672
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
673
+ mark(msg)
674
+ else puts msg
675
+ end
676
+ end
677
+ if @opt.act[:sisupod][:set]==:on #% --sisupod, -S
678
+ if @opt.f_pths.length > 0
679
+ require_relative 'src_sisupod_make' # src_sisupod_make.rb
680
+ begin
681
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
682
+ loop_files_on_given_option_bundle do
683
+ SiSU_Doc::Source.new(@opt).sisupod_tar_xz
684
+ end
685
+ ensure
686
+ end
687
+ else
688
+ msg='sisupod (share markup source) request requires sisu markup files'
689
+ if (@opt.act[:verbose_plus][:set]==:on \
690
+ || @opt.act[:maintenance][:set]==:on)
691
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
692
+ mark(msg)
693
+ else puts msg
694
+ end
695
+ end
696
+ end
697
+ if @opt.act[:git][:set]==:on #% --git, -g
698
+ if @opt.f_pths.length > 0
699
+ require_relative 'git' # git.rb
700
+ begin
701
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
702
+ loop_files_on_given_option do
703
+ SiSU_Git::Source.new(@opt).read
704
+ end
705
+ ensure
706
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
707
+ loop_files_on_given_option_bundle do
708
+ SiSU_Git::Source.new(@opt).git_commit
709
+ end
710
+ end
711
+ else
712
+ msg='git request requires sisu markup files'
713
+ if (@opt.act[:verbose_plus][:set]==:on \
714
+ || @opt.act[:maintenance][:set]==:on)
715
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
716
+ mark(msg)
717
+ else puts msg
718
+ end
719
+ end
720
+ end
721
+ if (@opt.act[:sisupod][:set]==:on \
722
+ || @opt.act[:share_source][:set]==:on \
723
+ || @opt.act[:po4a_sstm][:set]==:on) \
724
+ and @opt.act[:manifest][:set]==:on #% --manifest, -y
725
+ if @opt.f_pths.length > 0
726
+ require_relative 'html_manifest' # html_manifest.rb
727
+ begin
728
+ ensure
729
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
730
+ loop_files_on_given_option_bundle do
731
+ SiSU_Manifest::Source.new(@opt).read
732
+ end
733
+ end
734
+ else
735
+ msg='manifest request requires sisu markup files'
736
+ if (@opt.act[:verbose_plus][:set]==:on \
737
+ || @opt.act[:maintenance][:set]==:on)
738
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
739
+ mark(msg)
740
+ else puts msg
741
+ end
742
+ end
743
+ end
744
+ ensure
745
+ if @opt.f_pths.length > 0
746
+ env=SiSU_Env::InfoEnv.new(@opt.fns)
747
+ path_pod=env.processing_path.processing_sisupod(@opt).paths
748
+ unless @opt.act[:maintenance][:set]==:on
749
+ FileUtils::rm_rf("#{path_pod[:sisupod]}/*") \
750
+ if FileTest.directory?(path_pod[:sisupod])
751
+ end
752
+ else
753
+ #SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
754
+ # mark('*** request requires sisu markup files')
755
+ end
756
+ end
757
+ end
758
+ if @opt.act[:share_source][:set]==:on
759
+ if @opt.f_pths.length > 0
760
+ require_relative 'src_sisupod_sstm' # src_sisupod_sstm.rb
761
+ begin
762
+ ensure
763
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
764
+ loop_files_on_given_option_bundle do
765
+ SiSU_Markup::Source_Sisupod.new(@opt).read
766
+ end
767
+ end
768
+ else
769
+ msg='share markup source request requires sisu markup files'
770
+ if (@opt.act[:verbose_plus][:set]==:on \
771
+ || @opt.act[:maintenance][:set]==:on)
772
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
773
+ mark(msg)
774
+ else puts msg
775
+ end
776
+ end
777
+ end
778
+ if @opt.act[:po4a_sstm][:set]==:on #% --po4a-sst
779
+ if @opt.f_pths.length > 0
780
+ require_relative 'src_po4a_sstm'
781
+ begin
782
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
783
+ loop_files_on_given_option do
784
+ SiSU_Markup::Source_Po4a.new(@opt).read # src_po4a_sstm.rb
785
+ end
786
+ ensure
787
+ end
788
+ else
789
+ msg='sst request requires sisu markup files'
790
+ if (@opt.act[:verbose_plus][:set]==:on \
791
+ || @opt.act[:maintenance][:set]==:on)
792
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
793
+ mark(msg)
794
+ else puts msg
795
+ end
796
+ end
797
+ end
798
+ if @opt.act[:po4a_sst_ao_sst][:set]==:on #% --po4a-ao
799
+ if @opt.f_pths.length > 0
800
+ require_relative 'src_po4a_sst_ao_sst'
801
+ begin
802
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
803
+ loop_files_on_given_option do
804
+ SiSU_SStm_AO_SStm::Source.new(@opt).read_setup # src_po4a_sst_ao_sst.rb
805
+ end
806
+ ensure
807
+ end
808
+ else
809
+ msg='sst request requires sisu markup files'
810
+ if (@opt.act[:verbose_plus][:set]==:on \
811
+ || @opt.act[:maintenance][:set]==:on)
812
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
813
+ mark(msg)
814
+ else puts msg
815
+ end
816
+ end
817
+ end
818
+ if @opt.act[:po4a_shelf][:set]==:on #% --po4a-shelf
819
+ if @opt.f_pths.length > 0
820
+ require_relative 'src_po4a_shelf'
821
+ begin
822
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
823
+ loop_files_on_given_option do
824
+ SiSU_Po4a::Source.new(@opt).read # src_po4a_shelf.rb
825
+ end
826
+ ensure
827
+ end
828
+ else
829
+ msg='src_po4a_shelf request requires sisu markup files'
830
+ if (@opt.act[:verbose_plus][:set]==:on \
831
+ || @opt.act[:maintenance][:set]==:on)
832
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
833
+ mark(msg)
834
+ else puts msg
835
+ end
836
+ end
837
+ end
838
+ if @opt.act[:images][:set]==:on #% --images, -j
839
+ if @opt.f_pths.length > 0
840
+ require_relative 'shared_images'
841
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
842
+ loop_files_on_given_option do
843
+ SiSU_Images::Source.new(@opt).read # shared_images.rb
844
+ end
845
+ else
846
+ msg='place images request requires sisu markup files'
847
+ if (@opt.act[:verbose_plus][:set]==:on \
848
+ || @opt.act[:maintenance][:set]==:on)
849
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
850
+ mark(msg)
851
+ else puts msg
852
+ end
853
+ end
854
+ end
855
+ end
856
+ def run_termsheet? #broken, revisit later
857
+ if @opt.selections.str =~/--termsheet/ #% -T termsheet/standard form #fix later
858
+ if @opt.f_pths.length > 0
859
+ @opt.files.each do |fns|
860
+ if FileTest.file?(fns)
861
+ @opt.fns=fns
862
+ case @opt.fns
863
+ when /\.(termsheet.rb)$/
864
+ SiSU_Hub_Actions::Operations.new(@opt).termsheet
865
+ else #print "not processed --> ", fns, "\n"
866
+ end
867
+ else SiSU_Hub_Actions::Operations.new(@opt).not_found
868
+ end
869
+ end
870
+ else
871
+ msg='process termsheet request requires sisu markup files'
872
+ if (@opt.act[:verbose_plus][:set]==:on \
873
+ || @opt.act[:maintenance][:set]==:on)
874
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
875
+ mark(msg)
876
+ else puts msg
877
+ end
878
+ end
879
+ end
880
+ end
881
+ def sql?
882
+ if @opt.act[:psql][:set]==:on #% --pg, -D
883
+ if @opt.f_pths.length > 0
884
+ require_relative 'dbi'
885
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
886
+ loop_files_on_given_option do
887
+ SiSU_DBI::SQL.new(@opt).connect # dbi.rb
888
+ end
889
+ else
890
+ msg='pgsql request requires sisu markup files'
891
+ if (@opt.act[:verbose_plus][:set]==:on \
892
+ || @opt.act[:maintenance][:set]==:on)
893
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
894
+ mark(msg)
895
+ else puts msg
896
+ end
897
+ end
898
+ end
899
+ if @opt.act[:sqlite][:set]==:on #% --sqlite, -d
900
+ if @opt.f_pths.length > 0
901
+ require_relative 'dbi'
902
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
903
+ loop_files_on_given_option do
904
+ SiSU_DBI::SQL.new(@opt).connect # dbi.rb
905
+ end
906
+ else
907
+ msg='sqlite request requires sisu markup files'
908
+ if (@opt.act[:verbose_plus][:set]==:on \
909
+ || @opt.act[:maintenance][:set]==:on)
910
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
911
+ mark(msg)
912
+ else puts msg
913
+ end
914
+ end
915
+ end
916
+ end
917
+ def manifest?
918
+ if @opt.act[:manifest][:set]==:on #% --manifest, -y
919
+ if @opt.f_pths.length > 1
920
+ require_relative 'html_manifest'
921
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).manifest_on_files_translated do
922
+ SiSU_Manifest::Source.new(@opt).read # html_manifest.rb
923
+ end
924
+ end
925
+ end
926
+ end
927
+ def sitemaps?
928
+ if @opt.act[:sitemap][:set]==:on #% --sitemap, -Y
929
+ if @opt.f_pths.length > 0
930
+ require_relative 'sitemaps'
931
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
932
+ loop_files_on_given_option do
933
+ SiSU_Sitemaps::Source.new(@opt).read # sitemaps.rb
934
+ end
935
+ end
936
+ end
937
+ end
938
+ def remote_placement?
939
+ if @opt.act[:harvest][:set] !=:on
940
+ if @opt.act[:scp][:set]==:on #% -r copy to remote server
941
+ if @opt.f_pths.length > 0
942
+ require_relative 'remote' # remote.rb
943
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
944
+ loop_files_on_given_option do
945
+ SiSU_Remote::Put.new(@opt).scp
946
+ end
947
+ end
948
+ end
949
+ if @opt.act[:rsync][:set]==:on #% -R copy to remote server
950
+ if @opt.f_pths.length > 0
951
+ require_relative 'remote' # remote.rb
952
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
953
+ loop_files_on_given_option do
954
+ SiSU_Remote::Put.new(@opt).rsync
955
+ end
956
+ end
957
+ end
958
+ else
959
+ end
960
+ end
961
+ def urls?
962
+ if @opt.act[:urls_selected][:set]==:on #% --urls
963
+ if @opt.f_pths.length > 0
964
+ require_relative 'urls'
965
+ SiSU_Hub_Loops::OptionLoopFiles.new(@opt).
966
+ loop_files_on_given_option do
967
+ SiSU_Urls::Source.new(@opt).read #% urls.rb
968
+ end
969
+ else
970
+ msg='urls request requires sisu markup files'
971
+ if (@opt.act[:verbose_plus][:set]==:on \
972
+ || @opt.act[:maintenance][:set]==:on)
973
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:cyan).
974
+ mark(msg)
975
+ else puts msg
976
+ end
977
+ end
978
+ end
979
+ end
980
+ self
981
+ end
982
+ def init?
983
+ SiSU_Env::InfoProcessingFlag.new
984
+ if @opt.act[:ao][:set]==:on \
985
+ or @opt.act[:maintenance][:set]==:on #% --maintenance, -M
986
+ env=SiSU_Env::InfoEnv.new(@opt.fns)
987
+ path={}
988
+ path[:css]=env.path.output + '/_sisu/css'
989
+ path[:xml]=env.path.output + '/_sisu/xml'
990
+ path[:xsd]=path[:xml] + '/xsd'
991
+ path[:xsd]=path[:xml] + '/rnc'
992
+ path[:xsd]=path[:xml] + '/rng'
993
+ re_p3=/(sisupod(?:\.txz)?|\S+?\.ss[mt]\.txz|[^\/]+?\.ssp)$/
994
+ unless @opt.files.join(',') =~ re_p3 #do not mix pods with source markup files in command line
995
+ if @opt.act[:maintenance][:set] ==:on
996
+ $VERBOSE=false #debug $VERBOSE=true
997
+ end
998
+ end
999
+ re_p2=/(sisupod(?:\.zip)?|\S+?\.ss[mt]\.zip)$/
1000
+ unless @opt.files.join(',') =~ re_p2 #do not mix pods with source markup files in command line
1001
+ if @opt.act[:maintenance][:set] ==:on
1002
+ $VERBOSE=false #debug $VERBOSE=true
1003
+ end
1004
+ end
1005
+ end
1006
+ if @opt.act[:ao][:set]==:on
1007
+ @retry_count= -1
1008
+ begin
1009
+ @get_s,@get_p,@get_pl=[],[],[]
1010
+ re_s=/(\S+?\.-sst)$/
1011
+ re_p3=/((?:https?|file):\/\/\S+?(?:\/\S+?\.ss[mt]\.txz|sisupod(?:\.txz)?|\.ssp))/
1012
+ re_pl3=/^(\/\S+?\.ss[mt]\.txz)/
1013
+ @opt.files.each do |fns|
1014
+ if fns =~re_s
1015
+ @get_s << @opt.f_pths[0][:url]
1016
+ end
1017
+ if fns =~re_p3
1018
+ @get_p << re_p3.match(fns)[1] if re_p3
1019
+ end
1020
+ if fns =~re_pl3
1021
+ @get_pl << re_pl3.match(fns)[1] if re_p3
1022
+ end
1023
+ end
1024
+ if @get_s.length > 0 #% remote markup file .sst
1025
+ require_relative 'remote' # remote.rb
1026
+ SiSU_Remote::Get.new(@opt,@get_s).fns
1027
+ SiSU_Hub_Actions::Operations.new.counter
1028
+ end
1029
+ if @get_p.length > 0 #% remote sisupod
1030
+ require_relative 'remote' # remote.rb
1031
+ SiSU_Remote::Get.new(@opt,@get_p).sisupod
1032
+ end
1033
+ rescue
1034
+ SiSU_Errors::Rescued.new($!,$@,@opt,@fns).location do
1035
+ __LINE__.to_s + ':' + __FILE__
1036
+ end
1037
+ @retry_count +=1
1038
+ retry unless @retry_count > 1
1039
+ ensure
1040
+ end
1041
+ end
1042
+ end
1043
+ self
1044
+ end
1045
+ end
1046
+ class Operations
1047
+ @@n_do=0
1048
+ def initialize(opt='')
1049
+ @opt=opt
1050
+ @cX=SiSU_Screen::Ansi.new(@opt).cX
1051
+ end
1052
+ def counter
1053
+ @@n_do=0
1054
+ end
1055
+ def remote_put_base_site_rsync # -CR
1056
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
1057
+ if @opt.act[:maintenance][:set] ==:on
1058
+ require_relative 'remote' # remote.rb
1059
+ SiSU_Remote::Put.new(@opt).rsync_base
1060
+ end
1061
+ def remote_put_base_site_rsync_match # -CCRZ
1062
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
1063
+ if @opt.act[:maintenance][:set] ==:on
1064
+ require_relative 'remote' # remote.rb
1065
+ SiSU_Remote::Put.new(@opt).rsync_base_sync
1066
+ end
1067
+ def remote_put_base_site # -Cr
1068
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
1069
+ if @opt.act[:maintenance][:set] ==:on
1070
+ require_relative 'remote' # remote.rb
1071
+ SiSU_Remote::Put.new(@opt).scp_base
1072
+ end
1073
+ def remote_put_base_site_all # -CCr
1074
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
1075
+ if @opt.act[:maintenance][:set] ==:on
1076
+ require_relative 'remote' # remote.rb
1077
+ SiSU_Remote::Put.new(@opt).scp_base_all
1078
+ end
1079
+ def cgi # -F
1080
+ require_relative 'cgi' # cgi.rb
1081
+ SiSU_CGI::SearchSQL.new(@opt).read
1082
+ end
1083
+ def termsheet # -t
1084
+ system("sisu_termsheet #{@opt.selections.str} #{@opt.fns}\n")
1085
+ @@n_do=@@n_do+1
1086
+ SiSU_Screen::Ansi.new(
1087
+ @opt.selections.str,@@n_do,
1088
+ 'Termsheet(s) processed'
1089
+ ).term_sheet_title unless @opt.act[:quiet][:set] ==:on
1090
+ end
1091
+ def webrick # -W
1092
+ prt=SiSU_Env::InfoEnv.new(@fns).port.webrick_port
1093
+ puts %{#{@cX.blue}<<#{@cX.off}#{@cX.green}Start Webrick web server on port: #{prt}#{@cX.off}#{@cX.blue}>> #{@cX.off*2} }
1094
+ require_relative 'webrick'
1095
+ SiSU_Webserv::WebrickStart.new
1096
+ end
1097
+ def not_found
1098
+ puts "\n#{@cX.fuchsia}FILE NOT FOUND:#{@cX.off} << #{@opt.fns} >> - requested #{@opt.selections.str} processing skipped\n"
1099
+ end
1100
+ def convert_name_message(fns,type,i,o,rune)
1101
+ %{\nIn filename: "#{@cX.fuchsia}#{fns}#{@cX.off}" << #{type} >> #{@cX.fuchsia}is apre 0.36 markup filename.#{@cX.off} #{@cX.brown}Please rename your file.#{@cX.off}\n\tAs of sisu-0.37, SiSU markup files with #{@cX.brown}the extensions #{i} should be re-named #{o}#{@cX.off}\n\tif you have the program called 'rename' installed, the following rune should do the trick:\n\t\t#{rune}\n\talternatively try:\n\t\tsisu --convert --36to37 #{fns}\n\trequested #{@opt.selections.str} processing skipped\n}
1102
+ end
1103
+ def not_recognised
1104
+ case @opt.fns
1105
+ when /(\.s[123])$/
1106
+ type=@opt.fns.gsub(/\S+?(#{$1})/,'\1')
1107
+ rune=%q{rename 's/\.s[123]$/\.sst/' *.s{1,2,3}}
1108
+ puts convert_name_message(@opt.fns,type,'.s1 .s2 and .s3','.sst',rune)
1109
+ when /(\.r[123])$/
1110
+ type=@opt.fns.gsub(/\S+?(#{$1})/,'\1')
1111
+ rune=%q{rename 's/\.r[123]$/\.ssm/' *.r{1,2,3}}
1112
+ puts convert_name_message(@opt.fns,type,'.r1 .r2 and .r3','.sst',rune)
1113
+ puts %{\n\tNote also that you will need to change the names of the files called/required\n\twithin the document text to build the composite document\n\t\t.s1 .s2 .s3 should be .sst \n\t\t.si should be .ssi\n\trequested #{@opt.selections.str} processing skipped\n}
1114
+ when /(\.ssi)$/
1115
+ puts "\n#{@cX.fuchsia}component filetype:#{@cX.off} << #{@opt.fns} >> - is not a processed filetype, (it may be used as a component of a .ssm markup file)\n\trequested #{@opt.selections.str} processing skipped\n"
1116
+ else
1117
+ puts "\n#{@cX.fuchsia}FILETYPE NOT RECOGNISED:#{@cX.off} << #{@opt.fns} >> - is not a recognized filetype,\n\trequested #{@opt.selections.str} processing skipped\n"
1118
+ end
1119
+ end
1120
+ end
1121
+ end
1122
+ __END__