mirror of
				https://github.com/dgtlmoon/changedetection.io.git
				synced 2025-11-04 00:27:48 +00:00 
			
		
		
		
	Compare commits
	
		
			4 Commits
		
	
	
		
			0.50.22
			...
			ticket-16-
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					487967de29 | ||
| 
						 | 
					304ef746e4 | ||
| 
						 | 
					b9222e3243 | ||
| 
						 | 
					1d92d9461a | 
@@ -272,7 +272,7 @@ def changedetection_app(config=None, datastore_o=None):
 | 
			
		||||
    @app.route("/rss", methods=['GET'])
 | 
			
		||||
    @login_required
 | 
			
		||||
    def rss():
 | 
			
		||||
 | 
			
		||||
        from . import diff
 | 
			
		||||
        limit_tag = request.args.get('tag')
 | 
			
		||||
 | 
			
		||||
        # Sort by last_changed and add the uuid which is usually the key..
 | 
			
		||||
@@ -301,6 +301,15 @@ def changedetection_app(config=None, datastore_o=None):
 | 
			
		||||
        fg.link(href='https://changedetection.io')
 | 
			
		||||
 | 
			
		||||
        for watch in sorted_watches:
 | 
			
		||||
 | 
			
		||||
            dates = list(watch['history'].keys())
 | 
			
		||||
            # Convert to int, sort and back to str again
 | 
			
		||||
            # @todo replace datastore getter that does this automatically
 | 
			
		||||
            dates = [int(i) for i in dates]
 | 
			
		||||
            dates.sort(reverse=True)
 | 
			
		||||
            dates = [str(i) for i in dates]
 | 
			
		||||
            prev_fname = watch['history'][dates[1]]
 | 
			
		||||
 | 
			
		||||
            if not watch['viewed']:
 | 
			
		||||
                # Re #239 - GUID needs to be individual for each event
 | 
			
		||||
                # @todo In the future make this a configurable link back (see work on BASE_URL https://github.com/dgtlmoon/changedetection.io/pull/228)
 | 
			
		||||
@@ -316,12 +325,16 @@ def changedetection_app(config=None, datastore_o=None):
 | 
			
		||||
 | 
			
		||||
                diff_link = {'href': "{}{}".format(base_url, url_for('diff_history_page', uuid=watch['uuid']))}
 | 
			
		||||
 | 
			
		||||
                # @todo use title if it exists
 | 
			
		||||
                fe.link(link=diff_link)
 | 
			
		||||
                fe.title(title=watch['url'])
 | 
			
		||||
 | 
			
		||||
                # @todo in the future <description><![CDATA[<html><body>Any code html is valid.</body></html>]]></description>
 | 
			
		||||
                fe.description(description=watch['url'])
 | 
			
		||||
                # @todo watch should be a getter - watch.get('title') (internally if URL else..)
 | 
			
		||||
 | 
			
		||||
                watch_title = watch.get('title') if watch.get('title') else watch.get('url')
 | 
			
		||||
                fe.title(title=watch_title)
 | 
			
		||||
                latest_fname = watch['history'][dates[0]]
 | 
			
		||||
 | 
			
		||||
                html_diff = diff.render_diff(prev_fname, latest_fname, include_equal=False, line_feed_sep="</br>")
 | 
			
		||||
                fe.description(description="<![CDATA[<html><body><h4>{}</h4>{}</body></html>".format(watch_title, html_diff))
 | 
			
		||||
 | 
			
		||||
                fe.guid(guid, permalink=False)
 | 
			
		||||
                dt = datetime.datetime.fromtimestamp(int(watch['newest_history_key']))
 | 
			
		||||
 
 | 
			
		||||
@@ -70,6 +70,11 @@ def test_check_basic_change_detection_functionality(client, live_server):
 | 
			
		||||
    res = client.get(url_for("rss"))
 | 
			
		||||
    expected_url = url_for('test_endpoint', _external=True)
 | 
			
		||||
    assert b'<rss' in res.data
 | 
			
		||||
 | 
			
		||||
    # re #16 should have the diff in here too
 | 
			
		||||
    assert b'(into   ) which has this one new line' in res.data
 | 
			
		||||
    assert b'CDATA' in res.data
 | 
			
		||||
    
 | 
			
		||||
    assert expected_url.encode('utf-8') in res.data
 | 
			
		||||
 | 
			
		||||
    # Following the 'diff' link, it should no longer display as 'unviewed' even after we recheck it a few times
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user