List of commits:
Subject Hash Author Date (UTC)
add AROS support 6ea946474f04f9b0bbb51d2413dd6d541b25267d Alex 2022-07-29 03:14:44
add icon for AROS too b7a731d1438e42b51dcf1533f06dc98e1544acf5 Aleksei Gerasimov 2022-07-29 02:03:42
update readme 37653dab91d6fd2f154df755878d18a904e80ba1 Alex 2022-07-28 18:09:02
IvoRSS: fix moved icon 35d52463f8782ea03c664ed713f74248a333fa1a Alex 2022-07-28 13:33:41
create glowed icons for AmigaOS3 and AmigaOS4 84d7c7741cb57d297a7cee43fafc2ed30d7bd1e2 Aleksei Gerasimov 2022-07-28 13:14:52
IvoRSS: ok, we should differentiate the latest changes 59f206d1bbd3d4cc490da01ee4944738bb112c99 Alex 2022-07-27 23:12:45
AppWindow: play with frames. Probably it will look a little bit better under AmigaOS? 26822c76dba9beec3a57e9ea44a48480aa45daae Alex 2022-07-27 23:05:39
IvoR: track any changes of character data 4fcc7054b0b726b898fd1e2a6637a7a26027e315 Alex 2022-07-27 22:12:50
textfield: fix html characters substituting. I forgot IIf calculates both expressions :) e16c8c6f3576a1e98f292a18a6e5140230129536 Alex 2022-07-27 21:47:42
prepare AmigaOS4 icon 19747a4b22ffb76cd46f312751998e8c7b9522c8 Aleksei Gerasimov 2022-07-27 08:58:09
better lighted RSS image 8b948d3509fe4bf1965cbb422421ef9351d130f7 Alex 2022-07-27 08:36:36
prepare Amiga style selected icon 4a7d2609b85565b82a64ef47b37faaa5e002b570 Alex 2022-07-27 07:40:30
ReadMe: typo and feeds mention faa9536b0bbc36f55bcbd930c1962c1cb13a3aec Alex 2022-07-27 06:00:50
ReadMe: describe changes 4a3738dabb171bcb26169807703ef379948f754b Alex 2022-07-27 05:53:05
IvoR: workaround for fast switching 3f699a83db36204bf93105a98244c49e31ea5a18 Alex 2022-07-27 05:09:24
textfield: cover more html characters aecd5997b5f1db463524550a9f3a784701c080c8 Alex 2022-07-27 04:59:07
feedtree: polish status messages 3eb570cfff3d3f8d285542954368cf11aa449615 Alex 2022-07-27 02:54:45
feedtree: implement direct work with curl's easy interface 7ff0dc14b7a436545cedf9ea3d3c8e724dba323c Alex 2022-07-27 02:36:08
IvoRSS: prepare optional parametr UseDefaultDownloader c167731044a81a2091f93557d7d908f671c20133 Alex 2022-07-26 02:32:56
feedtree: prepare custom curl handling 70eb6c5f40d698b4ad017752f54daed1a09647d5 Alex 2022-07-26 02:01:24
Commit 6ea946474f04f9b0bbb51d2413dd6d541b25267d - add AROS support
Author: Alex
Author date (UTC): 2022-07-29 03:14
Committer name: Alex
Committer date (UTC): 2022-07-29 03:14
Parent(s): b7a731d1438e42b51dcf1533f06dc98e1544acf5
Signer:
Signing key:
Signing status: N
Tree: b7c27c1bcd4c0e037efe9ad1e20110eb6dd07ac2
File Lines added Lines deleted
IvoR.hws 2 2
IvoRSS.hws 13 3
ReadMe 8 1
feedtree.hws 10 9
lurk.hws 1 1
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
File lurk.hws changed (mode: 100755) (index d6eda6d..3608e21)
... ... Function lurk:Explore(url$)
48 48 ;č 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
49 49 ;FindStr(s$, "%") <> -1 ;FindStr(s$, "%") <> -1
50 50 Local err_code, html$, count = ?DownloadFile(url$, Local err_code, html$, count = ?DownloadFile(url$,
51 {Adapter="hurl", Fail404=True,
51 {Adapter=#HTTP_ADAPTER, Fail404=True,
52 52 Encoded=FindStr(url$, "%", True, 0, #ENCODING_RAW) <> -1}, Encoded=FindStr(url$, "%", True, 0, #ENCODING_RAW) <> -1},
53 53 lurk_callback, url$) lurk_callback, url$)
54 54
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/iam-git/IvoRSS

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/iam-git/IvoRSS

Clone this repository using git:
git clone git://git.rocketgit.com/user/iam-git/IvoRSS

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main