/feedsdata.hws (83e47eb86860331dfe771f49029c00559a2f687e) (1694 bytes) (mode 100755) (type blob)

feedsdata = {}
;č na klíče je třeba dávat bacha
;č 1. serializator je dává do dolního registru
;č 2. HaveItem je podvodná funkce, která sere na registr
;č 3. takže budeme muset srát na registr i my.
;č 4. URLy v feedsdata budeme převadět do dolního registru, 
;č    takže budou možné kolize. Pořád je to lepší jak 
;č    převádět do dolního všechno, 
;č    nebo používat nějaké hešy pro indexy feedsdata   
;č 5. Metametody nechcu, bude je volat i deserializator. 
;č    Ne pro nej to dělám.
;č 6. Meta- a vázané metody se uloží spolu s tabulkou,
;č    můžou být pak zbytečné potíže s aktualizací


Function fd_Get(feedid$, key)
	feedid$ = LowerStr(feedid$)
	Local t = RawGet(feedsdata, feedid$)
	If GetType(t) = #TABLE Then Return(RawGet(t, key))
	Return(Nil)
EndFunction 

Function fd_Set(feedid$, key, value)
	feedid$ = LowerStr(feedid$)
	Local t = RawGet(feedsdata, feedid$)
	If GetType(t) <> #TABLE 
		t = {}
		feedsdata[feedid$] = t
	EndIf
	RawSet(t, key, value)
EndFunction 

;udm kudžem byrjem pajmíško...
Function fd_isEqualOrSet(feedid$, key, value)
	feedid$ = LowerStr(feedid$)
	Local t = RawGet(feedsdata, feedid$)
	If GetType(t) <> #TABLE 
		t = {}
		feedsdata[feedid$] = t
	EndIf
		
	If RawGet(t, key) = value Then Return(True)
	;č nic? 
	RawSet(t, key, value)
	Return(False)
EndFunction 

/* ;easy to understand, but so elegant  
Function feedsdata:CheckAndSet(feedid$, key, value)
	If HaveItem(self, feedid$)
		Local t = self[feedid$]
		If RawGet(t, key) = value
			Return(False)
		Else
			RawSet(t, key, value)
			Return(True)
		Endif 
	EndIf 
	
	self[feedid$] = {}
	RawSet(self[feedid$], key, value)
EndFunction 
*/

Mode Type Size Ref File
100755 blob 7473 1ab45355102d3c454b8d83e05e4af10b0447dee3 128px-Feed-icon.png
100755 blob 6349 eeaf40384a6978792850e51646c94025c31c9263 AppWindow.xml
100755 blob 8882 af0ada41f32b55988a04e827ef3cabfe15e898bc IvoR.hws
100755 blob 9254 2952d46d403216b549fd61ef70e888b976bd7a08 IvoRSS.hws
100755 blob 7191 6291191cf3b1e9b7dd44493a09e26918f2c6e3d1 IvoRSS.png
100755 blob 7284 9e11f28b58ca6bd3a3b3e84ec0e9480caf0c8c4c IvoRSS_light.png
100755 blob 1093 263306d87c51114b1320be2ee3277ea0bff99b1f LICENSE
100755 blob 1906 4e18f3e83d428c9bf940ef131f8b2187d2c2bbd3 ReadMe
100755 blob 4007 8956c1bb5d76b481d4e2458b16a64fbee8f6f9e6 feeds.hws
100755 blob 1694 83e47eb86860331dfe771f49029c00559a2f687e feedsdata.hws
100755 blob 13089 b20da94931f651264cb9ab0655fca95b0ac1a3f3 feedtree.hws
100755 blob 7305 d6eda6d26dcd117cbe3eeda270397ef72a592f83 lurk.hws
100755 blob 10842 5b70109781bedd7885042d29046cbd23f86e5672 textfield.hws
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