List of commits:
Subject Hash Author Date (UTC)
make parser to work somehow bb968a00680246434eb1f9795ebde4babea3fb05 Alex 2022-07-12 05:19:43
some preparations for parsing 0259ef32db69fdb45bc9e67d88c74aca4ae69ce6 Alex 2022-07-12 03:59:45
prepare png icon b7dc494acb640d92c5b7b49bc2ee93fd5a0d521c Alex 2022-07-11 07:17:47
fetching is ready 0d01c38238a2ea7e39bc671de1997294231d8549 Alex 2022-07-11 06:37:06
read feeds from feeds.json U¾ivatel asi bude chtit mít své fidy u sebe de14a1e9f5a99f79e44985073df04e89bae2c116 Alex 2022-07-11 01:26:52
prepare default feeds d2b45f0007c30da84662b8b2a1f2118d03e30e1f Alex 2022-07-11 01:25:58
prepare Lock&Unlock f76041ef4fa2b6d5301afb34bda5de13f8ff2701 Alex 2022-07-10 00:37:38
prepare downloading routines f12d337da75c3cefe4ef0ccb3f08472e7701b058 Alex 2022-07-09 23:52:36
move default feeds to feeds.hws 6efc0f7c1767a2feba618938c8f83eab43f93b0e Alex 2022-07-09 14:16:44
set up EmptyNodes attribute 41e19a0974fbf63f959fe7e3135d2efb9cb48ce6 Alex 2022-07-09 11:44:03
disable icon menu 540099f84a9d1a567dd079ca8ba5ac667ec8945f Alex 2022-07-08 23:37:47
implement tree manipulation commands dfa3a877079a75d7c5a724bb9c6e84a6db1d4677 Alex 2022-07-08 21:07:10
implement coping to clipboard 380b60dad4bd182a92199db5cde4339baaa84521 Alex 2022-07-08 20:35:05
prepare context menus eb75fc61825de235f63b47176ca9ec88f8966d2b Alex 2022-07-08 15:01:46
add cycle chains b0d80feff1cfb953d50a79e7773077a846cc72c2 Alex 2022-07-08 12:25:15
prepare layout 46613958a1e87944104f74aa77ebb106dc22a2ad Alex 2022-07-07 23:36:19
implement Load/Save feeds' tree ce6ded536ef07a49e96f181c07c84c1239ef607d Alex 2022-07-05 23:10:44
implement feed tree filling dad148576a106072f87be33803e7a916cb044d35 Alex 2022-07-05 17:09:20
implement item selection b42586a38c98a4087937b8f85f7dd2570cb61bf7 Alex 2022-06-19 02:42:29
show items list ee6686fc57690fc236aefc334861dbf0fd65b2ce Alex 2022-06-19 01:42:38
Commit bb968a00680246434eb1f9795ebde4babea3fb05 - make parser to work somehow
Author: Alex
Author date (UTC): 2022-07-12 05:19
Committer name: Alex
Committer date (UTC): 2022-07-12 05:19
Parent(s): 0259ef32db69fdb45bc9e67d88c74aca4ae69ce6
Signer:
Signing key:
Signing status: N
Tree: 565b35f5c0bd4e0504fb7490da32866023ec033a
File Lines added Lines deleted
IvoR.hws 22 17
IvoRSS.hws 5 15
feedtree.hws 5 4
File IvoR.hws changed (mode: 100755) (index 6aa32cc..87f34b2)
... ... IvoR = {}
8 8 ;č buď pomocí IvoR.Bar nebo self.Bar ;č buď pomocí IvoR.Bar nebo self.Bar
9 9 ;č V tom self nevidím žádný smysl ;č V tom self nevidím žádný smysl
10 10
11 Ivor.parsers = CreateList()
11 IvoR.parsers = CreateList()
12 12
13 13 Function IvoR:Load(feedid$) Function IvoR:Load(feedid$)
14 IvoR:Clear()
14 ;DebugPrint(p_GetXMLname(feedid$))
15 Local err_code, text$, _len = ?FileToString(p_GetXMLname(feedid$))
16 ; když máme chybu, tak rovnou končíme
17 If err_code <> #ERR_NONE
18 mui.Set("status", "Contents", "\27b" .. GetErrorName(err_code))
19 Return()
20 EndIf
21
22
23 Ivor:Clear()
15 24
16 25 ; TODO: load icon ; TODO: load icon
17 26
18 local lastP = GetItem(Ivor.parsers, -1)
27 local lastP = GetItem(IvoR.parsers, -1)
19 28 If Not isNil(lastP) Then lastP:Stop() If Not isNil(lastP) Then lastP:Stop()
20 29
21 text$ = FileToString("feed.xml")
22 ;mui.Set("textfield", "Text", text$)
23
24 ;text$ = [[ <to attr="megagood"> some ]]
25 30
26 items_list = CreateList()
27 channel_level = True
28 current_element$ = Nil
31 items_list = CreateList()
32 channel_level = True
33 current_element$ = Nil
29 34
30 current_item = {title="", pubdate="", category="", description=""}
35 current_item = {title="", pubdate="", category="", description=""}
31 36
32 37 Local p = XMLParser.New({StartElement = StartElement, EndElement=EndElement, CharacterData = CharacterData}) Local p = XMLParser.New({StartElement = StartElement, EndElement=EndElement, CharacterData = CharacterData})
33 38 InsertItem(Ivor.parsers, p) InsertItem(Ivor.parsers, p)
 
... ... EndFunction
96 101 Function CharacterData(p, str$) Function CharacterData(p, str$)
97 102 ;DebugPrint("CD: ", str$) ;DebugPrint("CD: ", str$)
98 103 If channel_level If channel_level
99 If current_element$ = "title" Then mui.Set("channel_title", "Contents", str$)
100 If current_element$ = "description" Then mui.Set("channel_description", "Contents", str$)
104 If current_element$ = "title" Then mui.Set("channel_title", "Contents", StripStr(str$))
105 If current_element$ = "description" Then mui.Set("channel_description", "Contents", StripStr(str$))
101 106
102 107 else else
103 If current_element$ = "title" Then current_item.title = str$
104 If current_element$ = "pubDate" Then current_item.pubdate = str$
105 If current_element$ = "description" Then current_item.description = str$
108 If current_element$ = "title" Then current_item.title = StripStr(str$)
109 If current_element$ = "pubDate" Then current_item.pubdate = StripStr(str$)
110 If current_element$ = "description" Then current_item.description = StripStr(str$)
106 111 If current_element$ = "category" If current_element$ = "category"
107 112 If current_item.category = "" If current_item.category = ""
108 113 current_item.category = str$ current_item.category = str$
109 114 Else Else
110 current_item.category = current_item.category .. ", " .. str$
115 current_item.category = current_item.category .. ", " .. StripStr(str$)
111 116 EndIf EndIf
112 117 Endif Endif
113 118 EndIf EndIf
File IvoRSS.hws changed (mode: 100755) (index 7e67488..01430ee)
... ... Function p_GetFileID(feedid$)
171 171 Return(LeftStr(MD5Str(feedid$), 26)) Return(LeftStr(MD5Str(feedid$), 26))
172 172 EndFunction EndFunction
173 173
174 Function p_GetXMLname(feedid$)
175 Return("Feeds/"..p_GetFileID(feedid$)..".xml")
176 EndFunction
177
178
174 179 /* From Hollywood docs: /* From Hollywood docs:
175 180 Action: #DOWNLOADFILE_STATUS Action: #DOWNLOADFILE_STATUS
176 181 Count: Contains the number of bytes that have already been downloaded. Count: Contains the number of bytes that have already been downloaded.
 
... ... InstallEventHandler({MUIRoyale = p_MUIEvent})
296 301 p_StartUpLoading() p_StartUpLoading()
297 302
298 303
299 StartTimer(1)
300 ;p_testParse()
301 For Local k = 1 To 100
302 CheckEvents()
303 mui.DoMethod("articles", "Insert", "Bottom",
304 k,
305 "Dneska",
306 "Test")
307 Next
308 DebugPrint("This took", GetTimer(1), "ms", strlen(data$))
309
310 IvoR:Load(feedid$)
311
312 ;Print(GetCatalogString(4, "default string"))
313
314 304 Repeat Repeat
315 305 WaitEvent WaitEvent
316 306 Forever Forever
File feedtree.hws changed (mode: 100755) (index ac7d16a..08e4a77)
... ... Function p_FetchCurrent()
52 52 If t.Node If t.Node
53 53 p_FetchGroup(t.muiid) p_FetchGroup(t.muiid)
54 54 Else Else
55 p_FetchFeed(t.id)
55 If p_FetchFeed(t.id) = #ERR_NONE
56 Ivor:Load(t.id)
57 EndIf
56 58 EndIf EndIf
57 59 EndIf EndIf
58 60 p_Unlock() p_Unlock()
59 Ivor:Load(t.id)
60 61 EndFunction EndFunction
61 62
62 63
 
... ... Function p_FetchFeed(feedid$)
96 97 mui.DoMethod(#LIST_TREE, "Rename", feedid$, "\27i" .. feedid$) mui.DoMethod(#LIST_TREE, "Rename", feedid$, "\27i" .. feedid$)
97 98 EndIf EndIf
98 99 Else Else
99 Local err_code = p_Download(feedid$,
100 "Feeds/"..p_GetFileID(feedid$)..".xml")
100 Local err_code = p_Download(feedid$, p_GetXMLname(feedid$))
101 101 ;č zde je to jednoduchý, stahování je bud úspěšné, nebo neúspěšné ;č zde je to jednoduchý, stahování je bud úspěšné, nebo neúspěšné
102 102 mui.DoMethod(#LIST_TREE, "Rename", feedid$, mui.DoMethod(#LIST_TREE, "Rename", feedid$,
103 103 IIf(err_code = #ERR_NONE, "\27".."5\27b", "\27i") .. feedid$) IIf(err_code = #ERR_NONE, "\27".."5\27b", "\27i") .. feedid$)
104 104
105 105 EndIf EndIf
106 Return(err_code)
106 107 EndFunction EndFunction
107 108
108 109
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