]> bicyclesonthemoon.info Git - ott/enhance/blob - ong-mscha-t-1.awk
7f03aa3b17bed2929791080d9905655c801a8f90
[ott/enhance] / ong-mscha-t-1.awk
1 #// ong-mscha-t-1.awk\r
2 #// The bot to ketchup frames from the mschaviewer, and enhance by remapping\r
3 #// 12.02.2019\r
4 #// \r
5 #// Copyright (C) 2015, 2019  Balthasar SzczepaƄski\r
6 #// \r
7 #// This program is free software: you can redistribute it and/or modify\r
8 #// it under the terms of the GNU Affero General Public License as\r
9 #// published by the Free Software Foundation, either version 3 of the\r
10 #// License, or (at your option) any later version.\r
11 #// \r
12 #// This program is distributed in the hope that it will be useful,\r
13 #// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14 #// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15 #// GNU Affero General Public License for more details.\r
16 #// \r
17 #// You should have received a copy of the GNU Affero General Public License\r
18 #// along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
19 #//\r
20 BEGIN{\r
21         FS=""\r
22         framepath="/eizm/www/time/"\r
23         datapath="/eizm/data/aftertime/"\r
24         temppath="/eizm/tmp/aftertime/"\r
25         passpath="/eizm/mem/aftertime/pass/"\r
26         \r
27         timecmd="date -u +%Y%m%d%H%s"\r
28         \r
29         cp="/bin/cp"\r
30         mawk="/usr/bin/mawk"\r
31         wget="/usr/bin/wget"\r
32         remap="/eizm/pro/aftertime/remapt-1"\r
33         npb="/eizm/pro/ong1/npb"\r
34         bot4awk="/eizm/pro/aftertime/bot4.awk"\r
35         uploadawk="/eizm/pro/aftertime/upload.awk"\r
36 }\r
37 {\r
38         file=1\r
39         gsub(/[\r\n]/, "", $0)\r
40         eq=index($0, "=")\r
41         \r
42         argtab[substr($0, 1, eq-1)]=substr($0, eq+1)\r
43 }\r
44 END{\r
45         \r
46         if (file=="")\r
47         {\r
48                 print "No data."\r
49                 exit 1\r
50         }\r
51         \r
52         if(argtab["ongoing"]!="2")\r
53         {\r
54                 print "Story is not externally onged."\r
55                 exit 1\r
56         }\r
57         \r
58         # timecmd | getline thistime\r
59                 # close(timecmd)\r
60         \r
61         statefile= datapath argtab["story"]"/ongstate"\r
62         passfile= passpath argtab["story"]\r
63         getline temp < statefile\r
64         getline alt < statefile\r
65         close(statefile)\r
66         \r
67         split(temp, temptab, " ")\r
68         state=int(temptab[1])\r
69         last=int(temptab[2])\r
70         \r
71         f=last+1\r
72         \r
73         nextstate="2"\r
74         \r
75         tempfile = temppath "ongmscha-"argtab["story"]"--1"\r
76         tempfile2 = temppath "ongmscha-"argtab["story"]"--2"\r
77         optionfile = datapath argtab["story"]"/settings"\r
78         framedir = "aftertime/"argtab["story"]"/"\r
79         \r
80         # system("sleep 15")\r
81         while(1)\r
82         {\r
83                 \r
84                 \r
85                 timecmd | getline thistime\r
86                 close(timecmd)\r
87                 \r
88                 timetext = substr(thistime,1,10);\r
89                 timenumber = substr(thistime,11);\r
90                 \r
91                 print f" "timetext" "timenumber\r
92                 \r
93                 newalt=""\r
94                 frameurl= sprintf(argtab["otherviewerframe"],f)\r
95                 viewerurl= sprintf(argtab["otherviewerurl"],f)\r
96                 \r
97                 frame= framepath framedir sprintf(argtab["frame"],f)\r
98                 npbframe= framepath framedir sprintf(argtab["npbframe"],f)\r
99                 \r
100                 remapframe= framepath framedir sprintf(argtab["frame-1"],f)\r
101                 npbremapframe= framepath framedir sprintf(argtab["npbframe-1"],f)\r
102                 \r
103                 getfcmd= wget " -q -O " frame " "frameurl\r
104                 getvcmd= wget " -q -O " tempfile " "viewerurl\r
105                 npbcmd= sprintf(npb " %s %s q",frame,npbframe)\r
106                 ongcmd= mawk" -f " bot4awk" -v story="argtab["story"]" -v frame="last" "optionfile\r
107                 ongremapcmd= mawk" -f " bot4awk" -v story="argtab["story"]" -v frame="last" -v enhance=1 "optionfile\r
108                 npbremapcmd= sprintf(npb " %s %s q",remapframe,npbremapframe)\r
109                 addhashcmd= mawk" -f "uploadawk" -v timenumber="timenumber" -v timetext="timetext" -v tempfile="tempfile" "tempfile2\r
110                 \r
111                 if(system(getfcmd)!=0)\r
112                 {\r
113                         print "Frame download failed: "getfcmd\r
114                         break\r
115                 }\r
116                 system("sleep 2")\r
117                 \r
118                 if(system(getvcmd)!=0)\r
119                 {\r
120                         print "Viewer download failed: "getvcmd\r
121                         break\r
122                 }\r
123                 system("sleep 1")\r
124                 \r
125                 foundalt=""\r
126                 foundpal=""\r
127                 while ((getline temp < tempfile) > 0)\r
128                 {\r
129                         if(index(temp,frameurl)!=0 && foundalt=="")\r
130                         {\r
131                                 newalt=substr(temp,index(temp,"title=\"")+7)\r
132                                 newalt=substr(newalt,1,index(newalt,"\"")-1)\r
133                                 foundalt=1\r
134                                 print "alt: "newalt\r
135                         }\r
136                         if(index(temp,"class=\"hash\"")!=0 && foundpal=="" )\r
137                         {\r
138                                 pal=substr(temp,index(temp,">")+1)\r
139                                 pal=substr(pal,1,index(pal,".")-1)\r
140                                 foundpal=1\r
141                                 print "pal: "pal\r
142                         }\r
143                         if(foundalt!="" && foundpal!="")\r
144                                 break;\r
145                 }\r
146                 close(tempfile)\r
147                 # if(newalt=="")\r
148                         # break\r
149                 \r
150                 remapcmd= remap " "frame" "remapframe" "pal\r
151                 \r
152                 if(newalt!=alt)\r
153                 {\r
154                         print f"="newalt >> optionfile\r
155                         close(optionfile)\r
156                 }\r
157                 \r
158                 if(system(npbcmd)!=0)\r
159                         break\r
160                 \r
161                 last=f\r
162                 print "ONG "f" "((alt==newalt)?"":""newalt)\r
163                 \r
164                 if(system(remapcmd)==0)\r
165                 {\r
166                         if(system(npbremapcmd)!=0)\r
167                                 break\r
168                 }\r
169                 \r
170                 if(foundpal){\r
171                         getline namef < passfile\r
172                         getline passf < passfile\r
173                         close (passfile)\r
174                         if(namef!="" &&passf !="")\r
175                         {\r
176                                 print namef                   > tempfile2\r
177                                 print passf                   > tempfile2\r
178                                 print ""                      > tempfile2\r
179                                 print argtab["story"]"#"f"#1" > tempfile2\r
180                                 print "su"                    > tempfile2\r
181                                 print substr(timetext,1,4)"-"substr(timetext,5,2)"-"substr(timetext,7,2)" "substr(timetext,9,2) > tempfile2\r
182                                 print "Original filename"     > tempfile2\r
183                                 print "[code]"pal".png[/code]"> tempfile2\r
184                                 print ""                      > tempfile2\r
185                                 close (tempfile2)\r
186                                 \r
187                                 system(addhashcmd)\r
188                         }\r
189                 }\r
190                 \r
191                 # must be changed!\r
192                 # if (post!="")\r
193                 # {\r
194                         # system(ongcmd)\r
195                         # system("sleep 5")\r
196                         # system(ongremapcmd)\r
197                 # }\r
198                 \r
199                 alt=newalt\r
200                 \r
201                 print nextstate" "f > statefile\r
202                 print newalt > statefile\r
203                 close(statefile)\r
204                 \r
205                 ++f\r
206         }\r
207 }\r