File IvoR.hws changed (mode: 100755) (index ab1c18d..222f6ab) |
... |
... |
Function IvoR:DownloadImage(str$) |
147 |
147 |
|
|
148 |
148 |
Local url$ = p_reconstructURL(self.link, str$) |
Local url$ = p_reconstructURL(self.link, str$) |
149 |
149 |
Local err_code, _empty_str$, count = ?DownloadFile(url$, |
Local err_code, _empty_str$, count = ?DownloadFile(url$, |
150 |
|
{File=p_GetLogoName(self.feedid, extension$), Adapter="hurl", |
|
151 |
|
Fail404=True, Encoded=FindStr(url$, "%", True) <> -1}) |
|
|
150 |
|
{File=p_GetLogoName(self.feedid, extension$), Adapter=#HTTP_ADAPTER, |
|
151 |
|
Fail404=True, Encoded=FindStr(url$, "%", True) <> -1}) |
152 |
152 |
p_Replay(err_code, "Image logo is downloaded") |
p_Replay(err_code, "Image logo is downloaded") |
153 |
153 |
fd_Set(self.feedid, "imageformat", extension$) |
fd_Set(self.feedid, "imageformat", extension$) |
154 |
154 |
|
|
File IvoRSS.hws changed (mode: 100755) (index dceac91..924c086) |
6 |
6 |
@APPDESCRIPTION "Simple RSS reader" |
@APPDESCRIPTION "Simple RSS reader" |
7 |
7 |
@APPIDENTIFIER "ivorss" |
@APPIDENTIFIER "ivorss" |
8 |
8 |
@REQUIRE "muiroyale", {Version=1, Revision=7} |
@REQUIRE "muiroyale", {Version=1, Revision=7} |
9 |
|
@REQUIRE "hurl" |
|
|
9 |
|
|
|
10 |
|
@IF Not #HW_AROS |
|
11 |
|
@REQUIRE "hurl" |
|
12 |
|
UseDefaultDownloader = False ; Later will be set up in p_StartUpLoading() |
|
13 |
|
Const #HTTP_ADAPTER = "hurl" |
|
14 |
|
@ELSE |
|
15 |
|
UseDefaultDownloader = True |
|
16 |
|
Const #HTTP_ADAPTER = "default" |
|
17 |
|
@ENDIF |
|
18 |
|
|
|
19 |
|
|
10 |
20 |
@REQUIRE "xmlparser" |
@REQUIRE "xmlparser" |
11 |
21 |
@DISPLAY {Hidden=True} |
@DISPLAY {Hidden=True} |
12 |
22 |
|
|
|
... |
... |
ChannelIconBrush = 1 |
31 |
41 |
|
|
32 |
42 |
PleaseStop = True |
PleaseStop = True |
33 |
43 |
AllowImages = True ; Later will be set up in p_StartUpLoading() |
AllowImages = True ; Later will be set up in p_StartUpLoading() |
34 |
|
UseDefaultDownloader = False ; Later will be set up in p_StartUpLoading() |
|
|
44 |
|
|
35 |
45 |
|
|
36 |
46 |
|
|
37 |
47 |
|
|
|
... |
... |
EndFunction |
263 |
273 |
;č stáhnout soubor |
;č stáhnout soubor |
264 |
274 |
Function p_Download(url$, filename$) |
Function p_Download(url$, filename$) |
265 |
275 |
Local err_code, _empty_str$, count = ?DownloadFile(url$, |
Local err_code, _empty_str$, count = ?DownloadFile(url$, |
266 |
|
{File=filename$, Adapter = "hurl", Fail404=True, Encoded=True}, |
|
|
276 |
|
{File=filename$, Adapter = #HTTP_ADAPTER, Fail404=True, Encoded=True}, |
267 |
277 |
p_callback, url$) |
p_callback, url$) |
268 |
278 |
p_Replay(err_code, count .. "bytes from " .. url$ .. " transmitted") |
p_Replay(err_code, count .. "bytes from " .. url$ .. " transmitted") |
269 |
279 |
CheckEvents() ; keep MUI even more responsive |
CheckEvents() ; keep MUI even more responsive |
File ReadMe changed (mode: 100755) (index 53b5b67..97f474b) |
... |
... |
Uploader: ger-alex@seznam.cz (Aleksei Gerasimov) |
3 |
3 |
Author: ger-alex@seznam.cz (Aleksei Gerasimov) |
Author: ger-alex@seznam.cz (Aleksei Gerasimov) |
4 |
4 |
Type: comm/news |
Type: comm/news |
5 |
5 |
Version: 1.1.1 |
Version: 1.1.1 |
6 |
|
Architecture: m68k-amigaos, ppc-amigaos, ppc-morphos |
|
|
6 |
|
Architecture: m68k-amigaos, ppc-amigaos, ppc-morphos, i386-aros |
7 |
7 |
|
|
8 |
8 |
|
|
9 |
9 |
Simple RSS (and Atom at some extent) client written in Hollywood for Amiga-flavored OSes. |
Simple RSS (and Atom at some extent) client written in Hollywood for Amiga-flavored OSes. |
|
... |
... |
IvoRSS is an Hollywood project. It was so easy for me to coble together all the |
25 |
25 |
I believe that programs should be written on compiled languages whenever it's possible. |
I believe that programs should be written on compiled languages whenever it's possible. |
26 |
26 |
I am not sure if IvoRSS will be usable on real Amiga at all. |
I am not sure if IvoRSS will be usable on real Amiga at all. |
27 |
27 |
|
|
|
28 |
|
Special apologize for AROS users: |
|
29 |
|
It's a shame to provide http-based client without https support at 2022. |
|
30 |
|
But I typed "RSS" in AROS Archives and.. Nothing! Just nothing, AROS Archives don't knot that word! |
|
31 |
|
There is neither old, neither buggy, neither without https... |
|
32 |
|
I know that AROS users pray for an SSL library for years (I am too), but can do nothing with it either |
|
33 |
|
|
|
34 |
|
|
28 |
35 |
Changelog: |
Changelog: |
29 |
36 |
v1.1.1: |
v1.1.1: |
30 |
37 |
1. Fixed crash for uncovered HTML characters |
1. Fixed crash for uncovered HTML characters |
File feedtree.hws changed (mode: 100755) (index b20da94..5d5e42c) |
... |
... |
Function p_FetchAll() |
54 |
54 |
p_Unlock() |
p_Unlock() |
55 |
55 |
EndFunction |
EndFunction |
56 |
56 |
|
|
57 |
|
|
|
|
57 |
|
@IF Not #HW_AROS |
58 |
58 |
Function progress_curl_callback(total, count, utotal, ucount, url$) |
Function progress_curl_callback(total, count, utotal, ucount, url$) |
59 |
59 |
Local internets$ = IIF(count > 0, " (" .. count .. "/" .. total ..")", "") |
Local internets$ = IIF(count > 0, " (" .. count .. "/" .. total ..")", "") |
60 |
60 |
mui.Set("status", "Contents", "Downloading" .. internets$ .. " from " .. url$) |
mui.Set("status", "Contents", "Downloading" .. internets$ .. " from " .. url$) |
|
... |
... |
Function write_curl_callback(data$, t) |
67 |
67 |
CheckEvents() ; keep MUI responsive |
CheckEvents() ; keep MUI responsive |
68 |
68 |
If PleaseStop Then Return(#CURL_WRITEFUNC_PAUSE) |
If PleaseStop Then Return(#CURL_WRITEFUNC_PAUSE) |
69 |
69 |
EndFunction |
EndFunction |
70 |
|
|
|
|
70 |
|
@ENDIF |
71 |
71 |
|
|
72 |
72 |
|
|
73 |
73 |
Function p_TimeFetch(muiid) |
Function p_TimeFetch(muiid) |
|
... |
... |
Function p_Fetch(url$, e) |
329 |
329 |
Local servertime = fd_Get(url$, "servertime") |
Local servertime = fd_Get(url$, "servertime") |
330 |
330 |
If servertime > 0 |
If servertime > 0 |
331 |
331 |
e:SetOpt_TimeValue(servertime) |
e:SetOpt_TimeValue(servertime) |
332 |
|
DebugPrint("servertime", servertime) |
|
|
332 |
|
;DebugPrint("servertime", servertime) |
333 |
333 |
ElseIf fd_Get(url$, "localtime") > 0 |
ElseIf fd_Get(url$, "localtime") > 0 |
334 |
334 |
e:SetOpt_TimeValue(fd_Get(url$, "localtime")) |
e:SetOpt_TimeValue(fd_Get(url$, "localtime")) |
335 |
|
DebugPrint("localtime", fd_Get(url$, "localtime")) |
|
|
335 |
|
;DebugPrint("localtime", fd_Get(url$, "localtime")) |
336 |
336 |
Else |
Else |
337 |
337 |
e:UnsetOpt_TimeValue() |
e:UnsetOpt_TimeValue() |
338 |
|
DebugPrint("Nothing time") |
|
|
338 |
|
;DebugPrint("Nothing time") |
339 |
339 |
EndIf |
EndIf |
340 |
340 |
|
|
341 |
341 |
;e:SetOpt_Nobody(1) |
;e:SetOpt_Nobody(1) |
|
... |
... |
Function p_Fetch(url$, e) |
354 |
354 |
.." (skip downloading from " ..url$ ..")") |
.." (skip downloading from " ..url$ ..")") |
355 |
355 |
;č Soubor na serveru se nezměnil |
;č Soubor na serveru se nezměnil |
356 |
356 |
;č neděláme nic, vracíme úspěch |
;č neděláme nic, vracíme úspěch |
357 |
|
DebugPrint("skipped", url$) |
|
|
357 |
|
;DebugPrint("skipped", url$) |
358 |
358 |
Return(#FEED_STATUS_SUCCESS) |
Return(#FEED_STATUS_SUCCESS) |
359 |
359 |
EndIf |
EndIf |
360 |
360 |
|
|
361 |
361 |
|
|
362 |
362 |
;č úspěch |
;č úspěch |
363 |
|
DebugPrint(e:GetInfo_FileTime()) |
|
|
363 |
|
;DebugPrint(e:GetInfo_FileTime()) |
364 |
364 |
Return(p_LookThrough(url$, Concat(tdata), e:GetInfo_FileTime())) |
Return(p_LookThrough(url$, Concat(tdata), e:GetInfo_FileTime())) |
365 |
365 |
|
|
366 |
366 |
EndIf |
EndIf |
|
... |
... |
Function p_Fetch(url$, e) |
373 |
373 |
;č považujeme ho za "eskejpnutý". |
;č považujeme ho za "eskejpnutý". |
374 |
374 |
;č Na případ, kdy uživatel strčí do URLu osamělý znak procenta vysereme |
;č Na případ, kdy uživatel strčí do URLu osamělý znak procenta vysereme |
375 |
375 |
Local err_code, xml$, count = ?DownloadFile(url$, |
Local err_code, xml$, count = ?DownloadFile(url$, |
376 |
|
{Adapter="hurl", Fail404=True, Encoded=FindStr(url$, "%", True) <> -1}, |
|
377 |
|
p_callback, url$) |
|
|
376 |
|
{Adapter=#HTTP_ADAPTER, Fail404=True, |
|
377 |
|
Encoded=FindStr(url$, "%", True) <> -1}, p_callback, url$) |
378 |
378 |
p_Replay(err_code, count .. " bytes from " .. url$ .. " transmitted") |
p_Replay(err_code, count .. " bytes from " .. url$ .. " transmitted") |
379 |
379 |
CheckEvents() ; keep MUI even more responsive |
CheckEvents() ; keep MUI even more responsive |
380 |
380 |
If err_code <> #ERR_NONE Then Return(#FEED_STATUS_ERROR) |
If err_code <> #ERR_NONE Then Return(#FEED_STATUS_ERROR) |
|
... |
... |
Function p_ShowSource() |
453 |
453 |
Local isFound, t = mui.DoMethod(#LIST_TREE, "GetEntry", "Active", "Active", "") |
Local isFound, t = mui.DoMethod(#LIST_TREE, "GetEntry", "Active", "Active", "") |
454 |
454 |
If Not isFound Or t.Node Then Return() |
If Not isFound Or t.Node Then Return() |
455 |
455 |
|
|
|
456 |
|
;SendRexxCommand("MULTIVIEW.1", "OPEN" .. CanonizePath(p_GetXMLname(t.id))) |
456 |
457 |
Run("Sys:Utilities/Multiview", CanonizePath(p_GetXMLname(t.id))) |
Run("Sys:Utilities/Multiview", CanonizePath(p_GetXMLname(t.id))) |
457 |
458 |
EndFunction |
EndFunction |